<SEC-DOCUMENT>0001517413-24-000048.txt : 20240222
<SEC-HEADER>0001517413-24-000048.hdr.sgml : 20240222
<ACCEPTANCE-DATETIME>20240221215819
ACCESSION NUMBER:		0001517413-24-000048
CONFORMED SUBMISSION TYPE:	10-K
PUBLIC DOCUMENT COUNT:		136
CONFORMED PERIOD OF REPORT:	20231231
FILED AS OF DATE:		20240222
DATE AS OF CHANGE:		20240221

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			Fastly, Inc.
		CENTRAL INDEX KEY:			0001517413
		STANDARD INDUSTRIAL CLASSIFICATION:	SERVICES-PREPACKAGED SOFTWARE [7372]
		ORGANIZATION NAME:           	06 Technology
		IRS NUMBER:				275411834
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-K
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-38897
		FILM NUMBER:		24662129

	BUSINESS ADDRESS:	
		STREET 1:		475 BRANNAN
		STREET 2:		SUITE 300
		CITY:			SAN FRANCISCO
		STATE:			CA
		ZIP:			94107
		BUSINESS PHONE:		415-525-3481

	MAIL ADDRESS:	
		STREET 1:		475 BRANNAN
		STREET 2:		SUITE 300
		CITY:			SAN FRANCISCO
		STATE:			CA
		ZIP:			94107

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	Skycache, Inc.(DE)
		DATE OF NAME CHANGE:	20110405
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-K
<SEQUENCE>1
<FILENAME>fsly-20231231.htm
<DESCRIPTION>10-K
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:country="http://xbrl.sec.gov/country/2023" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:fsly="http://fastly.com/20231231" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2020-02-12" xmlns:ecd="http://xbrl.sec.gov/ecd/2023" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns="http://www.w3.org/1999/xhtml" xmlns:srt="http://fasb.org/srt/2023" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xml:lang="en-US"><head><meta http-equiv="Content-Type" content="text/html"/>


<title>fsly-20231231</title></head><body><div style="display:none"><ix:header><ix:hidden><ix:nonNumeric contextRef="c-1" name="dei:EntityCentralIndexKey" id="f-32">0001517413</ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="dei:DocumentFiscalYearFocus" id="f-33">2023</ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="dei:DocumentFiscalPeriodFocus" id="f-34">FY</ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="dei:AmendmentFlag" id="f-35">false</ix:nonNumeric><ix:nonNumeric contextRef="c-59" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="f-496">P3Y</ix:nonNumeric><ix:nonNumeric contextRef="c-70" name="fsly:RevenueWithCustomerDurationOfContracts" id="f-514">P1Y</ix:nonNumeric><ix:nonNumeric contextRef="c-72" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1" id="f-522">P3Y</ix:nonNumeric><ix:nonFraction unitRef="segment" contextRef="c-1" decimals="INF" name="us-gaap:NumberOfReportableSegments" format="ixt-sec:numwordsen" scale="0" id="f-528">one</ix:nonFraction><ix:nonFraction unitRef="segment" contextRef="c-1" decimals="INF" name="us-gaap:NumberOfOperatingSegments" format="ixt-sec:numwordsen" scale="0" id="f-529">one</ix:nonFraction><ix:nonFraction unitRef="number" contextRef="c-249" decimals="INF" name="us-gaap:DebtInstrumentConvertibleConversionRatio1" scale="0" id="f-1091">0.0097272</ix:nonFraction><ix:nonNumeric contextRef="c-271" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="f-1182">P3Y</ix:nonNumeric><ix:nonNumeric contextRef="c-275" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="f-1188">P3Y</ix:nonNumeric><ix:nonNumeric contextRef="c-379" name="ecd:TrdArrDuration" format="ixt-sec:durday" id="f-1540">407</ix:nonNumeric><ix:nonNumeric contextRef="c-381" name="ecd:TrdArrDuration" format="ixt-sec:durday" id="f-1541">133</ix:nonNumeric><ix:nonNumeric contextRef="c-383" name="ecd:TrdArrDuration" format="ixt-sec:durday" id="f-1542">377</ix:nonNumeric></ix:hidden><ix:references xml:lang="en-US"><link:schemaRef xlink:type="simple" xlink:href="fsly-20231231.xsd"/></ix:references><ix:resources><xbrli:context id="c-1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="usd"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:context id="c-3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2024-02-16</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="shares"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:context id="c-4"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="usdPerShare"><xbrli:divide><xbrli:unitNumerator><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unitNumerator><xbrli:unitDenominator><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unitDenominator></xbrli:divide></xbrli:unit><xbrli:context id="c-6"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-8"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-10"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-11"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-12"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-13"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-14"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-15"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-16"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-17"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-18"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-19"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-20"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-21"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-22"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-23"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-24"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-25"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-26"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-27"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-28"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-29"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-32"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-33"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-34"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-35"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-36"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-37"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-38"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-39"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-40"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-41"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-42"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-43"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-44"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-45"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-46"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-47"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="operating_market"><xbrli:measure>fsly:operating_market</xbrli:measure></xbrli:unit><xbrli:context id="c-48"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fsly:CustomerOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="number"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:context id="c-49"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fsly:CustomerOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-50"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fsly:CustomerOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-51"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fsly:CustomerOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-52"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fsly:CustomerOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-53"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CapitalizedContractCostAxis">fsly:CustomerArrangementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-54"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-55"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-56"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-57"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-58"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-59"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-60"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-61"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-62"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-63"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-64"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-65"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-66"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-67"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OrderOrProductionBacklogMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-68"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">fsly:InternetProtocolAddressesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-69"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fsly:BandwidthWithThirdPartyNetworkProvidersMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-70"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fsly:ColocationServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-71"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fsly:ColocationServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-72"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-73"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="segment"><xbrli:measure>fsly:segment</xbrli:measure></xbrli:unit><xbrli:context id="c-74"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-75"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-76"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-77"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-78"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-79"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-80"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-81"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-82"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-83"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fsly:CountriesNotSeparatelyRecognizedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-84"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fsly:CountriesNotSeparatelyRecognizedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-85"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fsly:CountriesNotSeparatelyRecognizedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-86"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:PriorRevenueMethodologyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fsly:EnterpriseCustomersMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-87"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:PriorRevenueMethodologyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fsly:EnterpriseCustomersMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-88"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:PriorRevenueMethodologyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fsly:EnterpriseCustomersMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-89"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fsly:NonenterpriseCustomersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:PriorRevenueMethodologyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-90"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fsly:NonenterpriseCustomersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:PriorRevenueMethodologyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-91"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fsly:NonenterpriseCustomersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:PriorRevenueMethodologyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-92"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:PriorRevenueMethodologyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-93"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:PriorRevenueMethodologyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-94"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:PriorRevenueMethodologyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-95"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:NewRevenueMethodologyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fsly:EnterpriseCustomersMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-96"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:NewRevenueMethodologyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fsly:EnterpriseCustomersMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-97"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:NewRevenueMethodologyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fsly:EnterpriseCustomersMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-98"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:NewRevenueMethodologyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fsly:NonenterpriseCustomersMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-99"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:NewRevenueMethodologyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fsly:NonenterpriseCustomersMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-100"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:NewRevenueMethodologyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fsly:NonenterpriseCustomersMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-101"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:NewRevenueMethodologyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-102"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:NewRevenueMethodologyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-103"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:NewRevenueMethodologyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-104"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2024-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-105"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-106"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-107"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-108"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-109"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-110"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-111"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-112"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-113"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-114"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-115"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-116"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-117"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-118"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-119"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fsly:AgencyBondsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-120"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fsly:AgencyBondsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-121"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-122"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-123"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-124"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-125"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fsly:ForeignGovernmentAndSupranationalSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-126"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fsly:ForeignGovernmentAndSupranationalSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="security"><xbrli:measure>fsly:security</xbrli:measure></xbrli:unit><xbrli:context id="c-127"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-128"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-129"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-130"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-131"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-132"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-133"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-134"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-135"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-136"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-137"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-138"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-139"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-140"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-141"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-142"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-143"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-144"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-145"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-146"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-147"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-148"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-149"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-150"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-151"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fsly:AgencyBondsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-152"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fsly:AgencyBondsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-153"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fsly:AgencyBondsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-154"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-155"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-156"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-157"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-158"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-159"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-160"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-161"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-162"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-163"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-164"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-165"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-166"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-167"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-168"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-169"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalNotesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-170"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalNotesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-171"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalNotesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-172"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fsly:ForeignGovernmentAndSupranationalSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-173"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fsly:ForeignGovernmentAndSupranationalSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-174"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fsly:ForeignGovernmentAndSupranationalSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-175"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fsly:GlitchIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-05-18</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-176"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fsly:GlitchIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-05-18</xbrli:startDate><xbrli:endDate>2022-05-18</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-177"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fsly:GlitchIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-178"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fsly:GlitchIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-05-18</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-179"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fsly:GlitchIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-05-18</xbrli:startDate><xbrli:endDate>2022-05-18</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-180"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fsly:GlitchIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-05-18</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-181"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fsly:GlitchIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-05-18</xbrli:startDate><xbrli:endDate>2022-05-18</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-182"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fsly:GlitchIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-05-18</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-183"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fsly:GlitchIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-05-18</xbrli:startDate><xbrli:endDate>2022-05-18</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-184"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fsly:GlitchIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-185"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-186"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-187"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-188"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-189"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-190"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-191"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-192"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-193"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:PropertyPlantAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-194"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">fsly:PropertyPlantAndEquipmentAdvancePaymentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-195"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-196"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-197"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-198"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-199"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-200"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-201"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-202"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-203"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-204"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-205"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-206"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-207"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-208"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-209"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-210"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-211"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-212"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-213"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-214"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-215"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-216"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-217"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-218"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-219"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-220"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">fsly:InternetProtocolAddressesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-221"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OrderOrProductionBacklogMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-222"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:SVBRevolverMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-02-16</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-223"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">fsly:LondonInterbankOfferedRateMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:SVBRevolverMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-02-16</xbrli:startDate><xbrli:endDate>2021-02-16</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-224"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">fsly:LondonInterbankOfferedRateMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:SVBRevolverMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-02-16</xbrli:startDate><xbrli:endDate>2021-02-16</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-225"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:SVBRevolverMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-28</xbrli:startDate><xbrli:endDate>2023-06-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-226"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">fsly:SecuredOvernightFinanceRateMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:SVBRevolverMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-28</xbrli:startDate><xbrli:endDate>2023-06-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-227"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">fsly:SecuredOvernightFinanceRateMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:SVBRevolverMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-28</xbrli:startDate><xbrli:endDate>2023-06-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-228"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:SVBRevolverMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-28</xbrli:startDate><xbrli:endDate>2023-06-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-229"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:SVBRevolverMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-28</xbrli:startDate><xbrli:endDate>2023-06-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-230"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:SVBRevolverMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-02-16</xbrli:startDate><xbrli:endDate>2021-02-16</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:SVBRevolverMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-02-16</xbrli:startDate><xbrli:endDate>2021-02-16</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-232"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:SVBRevolverMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-233"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:SVBRevolverMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-234"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:SVBRevolverMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-235"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:SVBRevolverMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-236"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:A2026ConvertibleNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-03-05</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-237"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:A2026ConvertibleNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-03-05</xbrli:startDate><xbrli:endDate>2021-03-05</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-238"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtConversionByUniqueDescriptionAxis">fsly:DebtConversionScenarioOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:A2026ConvertibleNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-239"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtConversionByUniqueDescriptionAxis">fsly:DebtConversionScenarioOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:A2026ConvertibleNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="day"><xbrli:measure>fsly:day</xbrli:measure></xbrli:unit><xbrli:context id="c-240"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtConversionByUniqueDescriptionAxis">fsly:DebtConversionScenarioTwoMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:A2026ConvertibleNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-241"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtConversionByUniqueDescriptionAxis">fsly:DebtConversionScenarioThreeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:A2026ConvertibleNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-242"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:A2026ConvertibleNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-243"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:A2026ConvertibleNotesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtConversionByUniqueDescriptionAxis">fsly:DebtConversionScenarioFourMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-244"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:A2026ConvertibleNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-05-25</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-245"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:A2026ConvertibleNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-246"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:A2026ConvertibleNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-247"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:A2026ConvertibleNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-248"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:A2026ConvertibleNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-249"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:A2026ConvertibleNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-250"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RecordedUnconditionalPurchaseObligationByCategoryOfItemPurchasedAxis">fsly:CostOfRevenueCommitmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-251"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RecordedUnconditionalPurchaseObligationByCategoryOfItemPurchasedAxis">fsly:OperatingExpenseCommitmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-252"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-253"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="vote"><xbrli:measure>fsly:vote</xbrli:measure></xbrli:unit><xbrli:context id="c-254"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-12</xbrli:startDate><xbrli:endDate>2021-07-12</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="plan"><xbrli:measure>fsly:plan</xbrli:measure></xbrli:unit><xbrli:context id="c-255"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fsly:SignalSciences2014EquityStockOptionsPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-256"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fsly:A2019EquityIncentivePlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-257"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fsly:A2019EquityIncentivePlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-258"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-259"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-260"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-261"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-262"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fsly:A20112019EquityIncentivePlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-263"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fsly:A20112019EquityIncentivePlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-264"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fsly:A20112019EquityIncentivePlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-265"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-266"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-267"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-268"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-269"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-270"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-271"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-272"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-273"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-274"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-275"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-276"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-277"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-278"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-279"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-280"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-281"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-282"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fsly:SignalSciencesCorpMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-283"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fsly:SignalSciencesCorpMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="cofounder"><xbrli:measure>fsly:cofounder</xbrli:measure></xbrli:unit><xbrli:context id="c-284"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-285"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-286"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-287"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-288"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-31</xbrli:startDate><xbrli:endDate>2022-01-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-289"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-290"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-291"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-292"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-293"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-294"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fsly:A2023And2022BonusProgramMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-295"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="fsly:ShareBasedPaymentArrangementPerformanceTargetAxis">fsly:PerformanceTargetPayoutLevelOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-296"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="fsly:ShareBasedPaymentArrangementPerformanceTargetAxis">fsly:PerformanceTargetPayoutLevelTwoMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-297"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="fsly:ShareBasedPaymentArrangementPerformanceTargetAxis">fsly:PerformanceTargetPayoutLevelThreeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-298"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fsly:A2022BonusProgramMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-299"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fsly:A2022BonusProgramMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-300"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fsly:A2022BonusProgramMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-301"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fsly:MarketBasedPerformanceStockAwardsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-302"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fsly:MarketBasedPerformanceStockAwardsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-303"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fsly:MarketBasedPerformanceStockAwardsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-304"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-305"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-306"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-307"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-308"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-309"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-310"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-311"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-312"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-313"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-314"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-315"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-316"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-317"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-318"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-319"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-320"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-321"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-322"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-323"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-324"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-325"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-327"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-328"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-329"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-330"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-332"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fsly:LiabilityClassifiedAwardsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-333"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fsly:LiabilityClassifiedAwardsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-334"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fsly:LiabilityClassifiedAwardsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-335"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-336"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-337"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-338"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-339"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-340"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-341"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:IPOMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-05-21</xbrli:startDate><xbrli:endDate>2019-05-21</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-342"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-05-21</xbrli:startDate><xbrli:endDate>2019-05-21</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-343"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-344"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-345"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-346"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-347"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-348"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-349"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">fsly:RevestSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-350"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">fsly:RevestSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-351"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">fsly:RevestSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-352"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-353"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-354"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-355"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">fsly:MarketBasedPerformanceStockAwardsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-356"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">fsly:MarketBasedPerformanceStockAwardsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-357"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">fsly:MarketBasedPerformanceStockAwardsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-358"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">fsly:BonusPSUsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-359"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">fsly:BonusPSUsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-360"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">fsly:BonusPSUsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-361"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-362"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-363"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-364"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:ConvertibleDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-365"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:ConvertibleDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-366"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:ConvertibleDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-367"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-368"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-369"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-370"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-371"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TaxCreditCarryforwardAxis">us-gaap:ResearchMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-372"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TaxCreditCarryforwardAxis">us-gaap:ResearchMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-373"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-374"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-375"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-376"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-377"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-378"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-10-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-379"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="ecd:IndividualAxis">fsly:RonaldKislingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-10-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-380"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="ecd:IndividualAxis">fsly:RonaldKislingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-381"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="ecd:IndividualAxis">fsly:RichardDanielsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-10-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-382"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="ecd:IndividualAxis">fsly:RichardDanielsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-383"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="ecd:IndividualAxis">fsly:BrettShirkMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-10-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-384"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001517413</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="ecd:IndividualAxis">fsly:BrettShirkMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context></ix:resources></ix:header></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_1"></div><div style="min-height:27pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:16pt;font-weight:700;line-height:120%">UNITED STATES</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:16pt;font-weight:700;line-height:120%">SECURITIES AND EXCHANGE COMMISSION</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">WASHINGTON, D.C. 20549</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">____________________________</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:16pt;font-weight:700;line-height:120%">FORM <ix:nonNumeric contextRef="c-1" name="dei:DocumentType" id="f-1">10-K</ix:nonNumeric> </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">____________________________</span></div><div style="text-align:center"><span><br/></span></div><div><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:DocumentAnnualReport" format="ixt-sec:boolballotbox" id="f-2">&#9746;</ix:nonNumeric></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">&#160;&#160;&#160;&#160;ANNUAL REPORT PURSUANT TO SECTION&#160;13 OR 15(d)&#160;OF THE SECURITIES EXCHANGE ACT OF 1934</span></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">&#160;</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">For the fiscal year ended <ix:nonNumeric contextRef="c-1" name="dei:DocumentPeriodEndDate" format="ixt:date-monthname-day-year-en" id="f-3"><ix:nonNumeric contextRef="c-1" name="dei:CurrentFiscalYearEndDate" format="ixt:date-monthname-day-en" id="f-4">December&#160;31</ix:nonNumeric>, 2023</ix:nonNumeric> </span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">or</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:DocumentTransitionReport" format="ixt-sec:boolballotbox" id="f-5">&#9744;</ix:nonNumeric></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">&#160;&#160;&#160;&#160; TRANSITION REPORT PURSUANT TO SECTION&#160;13 OR 15(d)&#160;OF THE SECURITIES EXCHANGE ACT OF 1934</span></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Commission File Number: <ix:nonNumeric contextRef="c-1" name="dei:EntityFileNumber" id="f-6">001-38897</ix:nonNumeric> </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">____________________________</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:20pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:EntityRegistrantName" id="f-7">FASTLY, INC.</ix:nonNumeric> </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">(Exact name of registrant as specified in its charter)</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">____________________________</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:32.233%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:32.233%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:32.234%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityIncorporationStateCountryCode" format="ixt-sec:stateprovnameen" id="f-8">Delaware</ix:nonNumeric></span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityTaxIdentificationNumber" id="f-9">27-5411834</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(State or other jurisdiction of<br/>incorporation or organization)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(I.R.S. Employer<br/>Identification Number)</span></td></tr></table></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:EntityAddressAddressLine1" id="f-10">475 Brannan Street, Suite 300</ix:nonNumeric> </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:EntityAddressCityOrTown" id="f-11">San Francisco</ix:nonNumeric>, <ix:nonNumeric contextRef="c-1" name="dei:EntityAddressStateOrProvince" id="f-12">CA</ix:nonNumeric> <ix:nonNumeric contextRef="c-1" name="dei:EntityAddressPostalZipCode" id="f-13">94107</ix:nonNumeric> </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">(Address of principal executive offices) (Zip code)</span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">(<ix:nonNumeric contextRef="c-1" name="dei:CityAreaCode" id="f-14">844</ix:nonNumeric>) <ix:nonNumeric contextRef="c-1" name="dei:LocalPhoneNumber" id="f-15">432-7859</ix:nonNumeric>  </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">(Registrant's telephone number, including area code)</span></div><div style="text-align:center"><span><br/></span></div><div style="margin-top:4pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Not Applicable</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">(Former name, former address, or former fiscal year, if changed since last report)</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">____________________________</span></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Securities registered pursuant to Section 12(b) of the Act:</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:87.083%"><tr><td style="width:1.0%"/><td style="width:33.349%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.192%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.676%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.351%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:39.732%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Title of each class</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Trading Symbol(s)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Name of each exchange on which registered</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:Security12bTitle" id="f-16">Class&#160;A Common Stock, $0.00002 par value</ix:nonNumeric></span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:TradingSymbol" id="f-17">FSLY</ix:nonNumeric></span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:SecurityExchangeName" format="ixt-sec:exchnameen" id="f-18">The New York Stock Exchange</ix:nonNumeric></span></td></tr></table></div><div style="text-align:center"><span><br/></span></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:174%">Securities registered pursuant to Section&#160;12(g) of the Act: None</span></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:174%">Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule&#160;405 of the Securities Act.&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="dei:EntityWellKnownSeasonedIssuer" id="f-19">Yes</ix:nonNumeric>&#160;&#9746;&#160;&#160;&#160;&#160;&#160;No&#160;&#160;&#9744;</span></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:174%">Indicate by check mark if the registrant is not required to file reports pursuant to Section&#160;13 or 15(d) of the Act.&#160;&#160;&#160;&#160;Yes&#160;&#160;&#9744;&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="dei:EntityVoluntaryFilers" id="f-20">No</ix:nonNumeric>&#160;&#160;&#9746;</span></div><div style="text-indent:18pt"><span><br/></span></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant (1)&#160;has filed all reports required to be filed by Section&#160;13 or 15(d)&#160;of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2)&#160;has been subject to such filing requirements for the past 90 days.&#160;<ix:nonNumeric contextRef="c-1" name="dei:EntityCurrentReportingStatus" id="f-21">Yes</ix:nonNumeric>&#160;</span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9746;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">&#160;&#160;No&#160;</span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9744;</span></div><div style="text-indent:18pt"><span><br/></span></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule&#160;405 of Regulation S-T (&#167;232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files). <ix:nonNumeric contextRef="c-1" name="dei:EntityInteractiveDataCurrent" id="f-22">Yes</ix:nonNumeric>&#160;</span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9746;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">&#160;&#160;No&#160;</span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9744;</span></div><div style="text-indent:18pt"><span><br/></span></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See the definitions of "large accelerated filer," "accelerated filer," "smaller reporting company," and "emerging growth company" in Rule&#160;12b-2 of the Exchange Act.</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:89.722%"><tr><td style="width:1.0%"/><td style="width:36.825%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:2.769%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:6.330%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:43.636%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:4.940%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityFilerCategory" format="ixt-sec:entityfilercategoryen" id="f-23">Large accelerated filer</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#9746;</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Accelerated&#160;filer</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#9744;</span></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Non-accelerated filer</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#9744;</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Smaller&#160;reporting&#160;company</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntitySmallBusiness" format="ixt-sec:boolballotbox" id="f-24">&#9744;</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Emerging&#160;growth&#160;company</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityEmergingGrowthCompany" format="ixt-sec:boolballotbox" id="f-25">&#9744;</ix:nonNumeric></span></td></tr></table></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section&#160;13(a) of the Exchange Act.&#160;&#160;</span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9744;</span></div><div style="margin-top:2pt;text-indent:42.75pt"><span><br/></span></div><div style="height:27pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:27pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant has filed a report on and attestation to its management&#8217;s assessment of the effectiveness of its internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting firm that prepared or issued its audit report.  </span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:IcfrAuditorAttestationFlag" format="ixt-sec:boolballotbox" id="f-26">&#9746;</ix:nonNumeric></span></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">If securities are registered pursuant to Section 12(b) of the Act, indicate by check mark whether the financial statements of the registrant included in the filing reflect the correction of an error to previously issued financial statements. </span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:DocumentFinStmtErrorCorrectionFlag" format="ixt:fixed-false" id="f-27">&#9744;</ix:nonNumeric></span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">         Indicate by check mark whether any of those error corrections are restatements that required a recovery analysis of incentive-based compensation received by any of the registrant&#8217;s executive officers during the relevant recovery period pursuant to &#167; 240.10D-1(b). </span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9744;</span></div><div><span><br/></span></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant is a shell company (as defined in Rule&#160;12b-2 of the Exchange Act).&#160;Yes&#160;</span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:EntityShellCompany" format="ixt-sec:boolballotbox" id="f-28">&#9744;</ix:nonNumeric></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">&#160;&#160;No&#160;</span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9746;</span></div><div style="text-indent:18pt"><span><br/></span></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">The aggregate market value of the voting and non-voting common equity held by non-affiliates of the registrant, based on the closing price of $15.77 for a share of the Registrant&#8217;s Class A common stock on June 30, 2023 (the last business day of the registrant's most recently completed second quarter), as reported by the New York Stock Exchange on such date, was approximately $<ix:nonFraction unitRef="usd" contextRef="c-2" decimals="-8" name="dei:EntityPublicFloat" format="ixt:num-dot-decimal" scale="9" id="f-29">2.0</ix:nonFraction> billion.&#160;</span></div><div style="text-indent:18pt"><span><br/></span></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">As of February&#160;16, 2024, <ix:nonFraction unitRef="shares" contextRef="c-3" decimals="-5" name="dei:EntityCommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="6" id="f-30">134.2</ix:nonFraction>&#160;million shares of the registrants&#8217; Class A common stock were outstanding. </span></div><div style="text-indent:18pt"><span><br/></span></div><ix:nonNumeric contextRef="c-1" name="dei:DocumentsIncorporatedByReferenceTextBlock" id="f-31" escape="true"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Portions of the registrant&#8217;s Definitive Proxy Statement relating to the 2024 Annual Meeting of Stockholders are incorporated by reference into Part&#160;III of this Annual Report on Form 10-K where indicated. Such Definitive Proxy Statement will be filed with the Securities and Exchange Commission within 120 days after the end of the registrant&#8217;s fiscal year ended December&#160;31, 2023.</span></div></ix:nonNumeric><div style="height:27pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2</span></div></div></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_7"></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">TABLE OF CONTENTS</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"/><td style="width:11.949%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:79.985%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:4.766%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Page</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_16">Part I</a></span></div></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_19">Item 1.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_19">Business</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#ifeb57f42291446d88b3e56f9c1e58c38_19">7</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_22">Item 1A.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_22">Risk Factors</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#ifeb57f42291446d88b3e56f9c1e58c38_22">23</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_25">Item 1B.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_25">Unresolved Staff Comments</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#ifeb57f42291446d88b3e56f9c1e58c38_25">62</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_1478">Item 1C.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_1478">C</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_1478">ybersecurity</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#ifeb57f42291446d88b3e56f9c1e58c38_1478">62</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_28">Item 2.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_28">Properties</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#ifeb57f42291446d88b3e56f9c1e58c38_28">63</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_31">Item 3.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_31">Legal Proceedings</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#ifeb57f42291446d88b3e56f9c1e58c38_31">63</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_34">Item 4.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_34">Mine Safety Disclosures</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#ifeb57f42291446d88b3e56f9c1e58c38_34">64</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_37">Part II</a></span></div></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_40">Item 5.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_40">Market for Registrant's Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#ifeb57f42291446d88b3e56f9c1e58c38_40">65</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_43">Item 6.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_43">Reserved</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#ifeb57f42291446d88b3e56f9c1e58c38_43">67</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_46">Item 7.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_46">Management's Discussion and Analysis of Financial Condition and Results of Operations</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#ifeb57f42291446d88b3e56f9c1e58c38_46">68</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_73">Item 7A.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_73">Quantitative and Qualitative Disclosures about Market Risk</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#ifeb57f42291446d88b3e56f9c1e58c38_73">88</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_76">Item 8.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_76">Financial Statements and Supplementary Data</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#ifeb57f42291446d88b3e56f9c1e58c38_76">89</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_148">Item 9.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_148">Changes in and Disagreements with Accountants on Accounting and Financial Disclosure</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#ifeb57f42291446d88b3e56f9c1e58c38_148">133</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_151">Item 9A.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_151">Controls and Procedures</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#ifeb57f42291446d88b3e56f9c1e58c38_151">133</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_157">Item 9B.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_157">Other Information</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#ifeb57f42291446d88b3e56f9c1e58c38_157">134</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_160">Item 9C.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_160">Disclosure Regarding Foreign Jurisdictions that Prevent Inspections</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#ifeb57f42291446d88b3e56f9c1e58c38_157">134</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_163">Part III</a></span></div></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_166">Item 10.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_166">Directors, Executive Officers, and Corporate Governance</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#ifeb57f42291446d88b3e56f9c1e58c38_166">136</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_169">Item 11.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_169">Executive Compensation</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#ifeb57f42291446d88b3e56f9c1e58c38_169">136</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_172">Item 12.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_172">Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#ifeb57f42291446d88b3e56f9c1e58c38_172">136</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_175">Item 13.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_175">Certain Relationships and Related Transactions and Director Independence</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#ifeb57f42291446d88b3e56f9c1e58c38_175">136</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_178">Item 14.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_178">Principal Accountant Fees and Services</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#ifeb57f42291446d88b3e56f9c1e58c38_178">136</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_181">Part IV</a></span></div></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_184">Item 15.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_184">Exhibits, Financial Statement Schedules</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#ifeb57f42291446d88b3e56f9c1e58c38_184">137</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_187">Item 16.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_187">Form 10-K Summary</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#ifeb57f42291446d88b3e56f9c1e58c38_187">139</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_190">Signatures</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#ifeb57f42291446d88b3e56f9c1e58c38_190">140</a></span></div></td></tr></table></div><div style="margin-bottom:12pt"><span><br/></span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3</span></div></div></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_10"></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">SPECIAL NOTE REGARDING FORWARD-LOOKING STATEMENTS</span></div><div style="text-align:center"><span><br/></span></div><div style="margin-top:6pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">This Annual Report on Form 10-K contains forward-looking statements within the meaning of Section 27A of the Securities Act of 1933, as amended, (the &#8220;Securities Act&#8221;), and Section 21E of the Securities Exchange Act of 1934, as amended, (the &#8220;Exchange Act&#8221;), about us and our industry that involve substantial risks and uncertainties. All statements other than statements of historical facts contained in this Annual Report on Form 10-K, including statements regarding our future results of operations and financial condition, business strategy, and plans and objectives of management for future operations, are forward-looking statements. In some cases, forward-looking statements may be identified by words such as &#8220;anticipate,&#8221; &#8220;believe,&#8221; &#8220;continue,&#8221; &#8220;could,&#8221; "design,&#8221; &#8220;estimate,&#8220; &#8220;expect,&#8221; "intend,&#8221; &#8220;may,&#8221; &#8220;plan,&#8221; &#8220;potentially,&#8221; &#8220;predict,&#8221; &#8220;project,&#8221; "should,&#8221; &#8220;will,&#8221; "would,&#8221; &#8220;target,&#8220; or the negative of these terms or other similar expressions.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Forward-looking statements are based on our management&#8217;s beliefs and assumptions and on information currently available. These forward-looking statements are subject to a number of known and unknown risks, uncertainties and assumptions, including risks described in the section titled &#8220;Risk Factors&#8221; and elsewhere in this Annual Report on Form 10-K, regarding, amongst other things:</span></div><div style="margin-top:12pt;padding-left:54pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%;padding-left:23.5pt">defects, interruptions, outages, delays in performance, or similar problems with our platform;</span></div><div style="margin-top:12pt;padding-left:54pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%;padding-left:23.5pt">our ability to attract new enterprise customers and to have existing enterprise customers continue and increase their use of our platform;</span></div><div style="margin-top:12pt;padding-left:54pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%;padding-left:23.5pt">the potential loss or significant reduction in usage by one or more of our major customers;</span></div><div style="margin-top:12pt;padding-left:54pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%;padding-left:23.5pt">component delays, shortages, and price increases;</span></div><div style="margin-top:12pt;padding-left:54pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%;padding-left:23.5pt">our limited operating history and history of operating losses;</span></div><div style="margin-top:12pt;padding-left:54pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%;padding-left:23.5pt">the potential that security measures, or those of third parties upon which we rely, are compromised, or the security, confidentiality, integrity or availability of our information technology, software, services, networks, communications or data is compromised, limited or fails; </span></div><div style="margin-top:12pt;padding-left:54pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%;padding-left:23.5pt">our ability to efficiently develop and sell new products and respond effectively to rapidly changing technology, evolving industry standards, changing regulations, and changing customer needs, requirements, or preferences;</span></div><div style="margin-top:12pt;padding-left:54pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%;padding-left:23.5pt">our ability to forecast our revenue accurately and manage our expenditures;</span></div><div style="margin-top:12pt;padding-left:54pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%;padding-left:23.5pt">our ability to effectively develop and expand our marketing and sales capabilities;</span></div><div style="margin-top:12pt;padding-left:54pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%;padding-left:23.5pt">our ability to compete effectively with existing competitors and new market entrants;</span></div><div style="margin-top:12pt;padding-left:54pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%;padding-left:23.5pt">our ability to maintain and enhance our brand;</span></div><div style="margin-top:12pt;padding-left:54pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%;padding-left:23.5pt">our ability to identify and integrate acquisitions, strategic investments, partnerships, or alliances;</span></div><div style="margin-top:12pt;padding-left:54pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%;padding-left:23.5pt">our ability to attract and retain qualified employees and key personnel;</span></div><div style="margin-top:12pt;padding-left:54pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%;padding-left:23.5pt">our reliance on the performance of highly skilled personnel, including our senior management and other key employees, and the loss or transition of one or more of such personnel, or of a significant number of our team members;</span></div><div style="margin-top:12pt;padding-left:54pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%;padding-left:23.5pt">our potential involvement in class-action lawsuits and other litigation matters; and</span></div><div style="margin-top:12pt;padding-left:54pt;text-align:justify;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%;padding-left:23.5pt">stock price volatility, and the potential decline in the value of our Class A common stock.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We caution you that the foregoing list may not contain all of the forward-looking statements made in this Annual Report on Form 10-K.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other sections of this Annual Report on Form 10-K may include additional factors that could harm our business and financial performance. Moreover, we operate in a very competitive and rapidly changing environment. New risk factors emerge from time to time, and it is not possible for our management to predict all risk factors nor can we assess the impact of all factors on our business or the extent to which any factor, or combination of factors, may cause actual results to differ from those contained in, or implied by, any forward-looking statements.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">You should not rely upon forward-looking statements as predictions of future events.&#160;We cannot assure you that the events and circumstances reflected in the forward-looking statements will be achieved or occur. Although we believe that the expectations reflected&#160;in the forward-looking statements are reasonable, we cannot guarantee future results, levels of activity, performance or achievements. Except as required by law, we undertake no obligation to update publicly any forward-looking statements for any reason after the date of this Annual Report on Form 10-K or to conform these statements to actual results or to changes in our expectations. You should read this Annual Report on Form 10-K and the documents that we reference in this Annual Report on Form 10-K and have filed as&#160;exhibits to this Annual Report on Form 10-K with the understanding that our actual future results, levels of activity, performance, and achievements may be materially different from what we expect. We qualify all of our forward-looking statements by these cautionary statements.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition, statements that &#8220;we believe&#8221; and similar statements reflect our beliefs and opinions on the relevant subject. These statements are based upon information available to us as of the filing date of this Annual Report on Form 10-K, and while we believe such information forms a reasonable basis for such statements, such information may be limited or incomplete, and our statements should not be read to indicate that we have conducted an exhaustive inquiry into, or review of, all potentially available relevant information. These statements are inherently uncertain and investors are cautioned not to unduly rely upon these statements.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Investors&#160;and others should note that we may announce material business and financial information to our investors using our investor relations website (www.fastly.com/investors), our filings with the Securities and Exchange Commission, our corporate X account (@Fastly), our blog (www.fastly.com/blog), our corporate LinkedIn account (www.linkedin.com/company/fastly), webcasts, press releases, and conference calls. We use these mediums, including our website, to communicate with investors and the general public about us, our products, and other issues. It is possible that the information that we make available on these mediums may be deemed to be material information. We therefore encourage investors and others interested in us to review the information that we make available through these channels.</span></div><div style="margin-top:12pt;text-align:justify"><span><br/></span></div><div style="text-indent:27pt"><span><br/></span></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_13"></div><div style="margin-bottom:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">RISK FACTOR SUMMARY</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our business is subject to significant risks and uncertainties that make an investment in us speculative and risky. Below we summarize what we believe are the principal risk factors but these risks are not the only ones we face, and you should carefully review and consider the full discussion of our risk factors in the section titled &#8220;Risk Factors&#8221;, together with the other information in this Annual Report on Form 10-K. If any of the following risks actually occurs (or if any of those listed elsewhere in this Annual Report on Form 10-K occurs), our business, reputation, financial condition, results of operations, revenue, and future prospects could be seriously harmed. Additional risks and uncertainties that we are unaware of, or that we currently believe are not material, may also become important factors that adversely affect our business.</span></div><div style="margin-bottom:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">If our platform fails to perform properly due to defects, interruptions, outages, delays in performance, or similar problems, and if we fail to develop enhancements to resolve any defect, interruption, delay, or other problems, we could lose customers, become subject to service performance or warranty claims or incur significant costs.</span></div><div style="margin-bottom:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">If we are unable to attract new customers, in particular, enterprise customers, and to have existing enterprise customers continue and increase their use of our platform, our business will likely be harmed.</span></div><div style="margin-bottom:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">We receive a substantial portion of our revenues from a limited number of customers from a limited number of industries, and the loss of, or a significant reduction in usage by, one or more of our major customers would result in lower revenues and could harm our business.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">Component delays, shortages or price increases could interrupt our ability to complete the construction of our servers to meet the usage needs of our customers. Our operating results could be materially harmed if we are unable to adequately manage our server needs.</span></div><div style="margin-bottom:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">Our limited operating history and our history of operating losses makes it difficult to evaluate our current business and prospects and may increase the risks associated with your investment.</span></div><div style="margin-bottom:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">If our information technology systems or data, or those of third parties upon which we rely, are compromised now, or in the future, or the security, confidentiality, integrity or availability of our information technology, software, services, networks, communications or data is compromised, limited or fails, our business could experience materially adverse consequences, including but not limited to regulatory investigations or actions, litigation, fines and penalties, disruptions of our business operations, loss of revenue or profits, loss of customers or sales, reputational harm, and other adverse consequences.</span></div><div style="margin-bottom:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">If we fail to efficiently develop and sell new products and respond effectively to rapidly changing technology, evolving industry standards, changing regulations, and changing customer needs, requirements, or preferences, our products may become less competitive.</span></div><div style="margin-bottom:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">If we fail to forecast our revenue accurately, or if we fail to manage our expenditures, our operating results could be adversely affected.</span></div><div style="margin-bottom:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Failure to effectively develop and expand our marketing and sales capabilities could harm our ability to increase our customer base and achieve broader market acceptance of our platform.</span></div><div style="margin-bottom:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">The markets in which we participate are competitive, and if we do not compete effectively, our business will be harmed.</span></div><div style="margin-bottom:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">If we fail to maintain and enhance our brand, our ability to expand our customer base will be impaired and our business, results of operations and financial condition may suffer.</span></div><div style="margin-bottom:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">Acquisitions, strategic investments, partnerships, or alliances could be difficult to identify and integrate, divert the attention of management, disrupt our business, and dilute stockholder value.</span></div><div style="margin-bottom:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">The failure to attract and retain qualified personnel could prevent us from executing our business strategy.</span></div><div style="margin-bottom:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">We rely on the performance of highly skilled personnel, including our senior management and other key employees, and the loss or transition of one or more of such personnel, or of a significant number of our team members, could harm our business.</span></div><div style="margin-bottom:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">We have previously been and may in the future be involved in class-action lawsuits and other litigation matters that are expensive and time-consuming. If resolved adversely, lawsuits and other litigation matters could seriously harm our business</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">.</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">Our stock price may be volatile, and the value of our Class A common stock may decline.</span></div><div><span><br/></span></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_16"></div><div><span><br/></span></div><div style="margin-bottom:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PART I</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6</span></div></div></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_19"></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 1. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Business</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Overview </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Organizations around the world are more dependent on the quality of digital experiences they provide than ever before. At Fastly, we deliver an edge cloud platform capable of delivering fast, safe, and engaging digital experiences. By focusing holistically on the edge cloud from developer inspiration to end-user experience, we have the opportunity to differentiate with our global footprint, dynamic infrastructure, and security solution. Performance, security, and building the most engaging applications are paramount to driving mission success for Fastly&#8217;s customers. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">The edge cloud is a category of Infrastructure as a Service (&#8220;IaaS&#8221;) that enables developers to build, secure, and deliver digital experiences, at the edge of the Internet. This service represents the convergence of the Content Delivery Network (&#8220;CDN&#8221;) with functionality that has been traditionally delivered by hardware-centric appliances such as Application Delivery Controllers (&#8220;ADC&#8221;), Web Application Firewalls (&#8220;WAF&#8221;), Bot Detection, Distributed Denial of Service (&#8220;DDoS&#8221;), and observability solutions. It also includes the emergence of a new, but growing, edge computing market which aims to move compute power and logic as close to the end user as possible. When milliseconds matter, processing at the edge is an ideal way to handle highly dynamic and time-sensitive data. This has led to its acceptance and adoption by organizations who monetize or grow their user base with every millisecond saved. Organizations that want to improve their user experience, whether it&#8217;s faster loading websites or reduced shopping cart abandonment, can benefit from processing at the edge. The edge cloud complements data center, central cloud, and hybrid solutions.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Organizations must keep up with complex and ever-evolving end-user requirements. We help them surpass their end users&#8217; expectations by powering fast, safe, and engaging digital experiences. We built a powerful edge cloud platform, designed from the ground up to be programmable and support agile software development. We believe that our platform gives our customers a significant competitive advantage, whether they were born into the digital age or are just embarking on their digital transformation journey. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Developers on the Fastly platform have a high degree of flexibility with granular control and real-time visibility, where they can write and deploy code in a serverless environment and push application logic to the edge. Our infrastructure is built for the software-defined future. Our network is powerful, efficient, and flexible, designed to enable us to rapidly scale to meet the needs of the most demanding customers. Our approach to scalable, secure reliability integrates security into multiple layers of development: architecture, engineering, and operations. That's why we invest in building security into the fabric of our platform, alongside performance. We provide developers and security operations teams with a fast and safe environment to create, build, and run modern applications.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We serve established enterprises, mid-market companies, and technology-savvy organizations. Our customers represent a diverse set of organizations across many industries with one thing in common: they care about delivering best-in-class digital experiences. With our edge cloud platform, our customers are disrupting existing industries and creating new ones. For example, several of our customers have reinvented digital publishing by connecting readers through subscription models to indispensable content. Fastly&#8217;s ability to dynamically manage content in real time enables readers to have instant access to the most up to date information.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Our customers&#8217; ecommerce solutions use Fastly's edge compute functionality to deliver very low-</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">latency customer experiences, including providing better recommendations to their shoppers, converting more shopping carts into sales and executing fast and secure financial transactions. Content streaming organizations leverage Fastly's platform to deliver content to users around the world and those that livestream gain easy access to enormous edge compute resources for even greater reliability. The range of applications that developers build with our edge cloud platform continues to expand rapidly.</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Our mission is to make the Internet a better place where all experiences are fast, safe, and engaging. We want all developers to have the ability to deliver the next transformative digital experience on a global scale. And because big ideas often start small, we love it when developers experiment and iterate on our platform, coming up with exciting new ways to solve today&#8217;s complex problems.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the fiscal years ended December&#160;31, 2023, 2022 and 2021, our revenue was $506.0 million, $432.7 million, and $354.3 million, respectively. We continue to invest in our business and had a net loss of $133.1 million, $190.8 million and $222.7 million for the fiscal years ended December&#160;31, 2023, 2022 and 2021, respectively.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We measure the revenue growth from existing customers attributable to increased usage of our platform and features, and purchase of additional products and services with our Dollar-Based Net Expansion Rate ("DBNER"), Net Retention Rate ("NRR") and Last-Twelve Months Net Retention Rate ("LTM NRR") metrics. See &#8220;Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations&#8212;Key Business Metrics" for further discussion of DBNER, NRR and LTM NRR.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Products &amp; Services </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Programmable Edge Platform</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Fastly&#8217;s programmable edge platform was built to support modern digital experiences. We sit between our customers&#8217; end users and their origin&#8211;whether that&#8217;s in the cloud, on premise or a hybrid environment&#8211;and power online experiences that are fast, safe, and engaging. </span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Fastly was founded in an era where legacy CDNs were failing to keep up with the explosive growth of user-generated content and demands for faster, more personalized websites and apps. Legacy CDNs could not cache highly dynamic content at the edge&#8211;they had to continuously go back to origin to fetch this content, driving up egress costs. Deploying changes meant, at best, hours-long waits for configurations to propagate. At worst, it meant being forced to engage professional services at a cost of hundreds of dollars an hour. Legacy CDNs also failed to provide real-time visibility. Traffic logs were provided in batch format, meaning the data could be anywhere from 15 minutes to several hours old, making it impossible to monitor performance and get instant feedback.</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">With a view to addressing these challenges, we have taken a fundamentally different approach to architecting our platform. </span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:95%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:95%;padding-left:14.5pt">Powerful POPs. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:95%">We have architected our Points of Presence (&#8220;POPs&#8221;) using robust customized servers with incredible processing density. As a result, our POPs require minimal footprint and yield colocation cost savings compared to traditional POP architectures. We have located these POPs near major cloud providers and peered with Internet exchange points around the world, so that we can deliver content as close to end users as possible. Because our POPs are powerful and well-connected to the Internet, we are able to operate fewer of them and still achieve optimal performance relative to traditional POPs. </span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">Software-defined network.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We have built a smarter network using fast switches and routing intelligence at the server layer. This has allowed us to provide real-time responses by ensuring our customers&#8217; traffic is routed in the most optimal manner on our network.</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">Network Resilience</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">. Our network is built to withstand common performance degradation or connectivity issues with internet transit providers. With fast path failover we automatically detect and re-route underperforming edge connections at the transport layer. Precision Path detects underperforming origin connections and automatically reroutes the connection to the best alternative in real-time. AutoPilot is an automated egress traffic engineering solution which enables us to reliably deliver high traffic events without manual intervention. </span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">Fully programmable.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"> In keeping with our belief that companies should be able to control everything through software, we have built a fully programmable platform. Using Varnish Configuration Language (&#8220;VCL&#8221;) as a domain-specific language, and flexible application programming interfaces (&#8220;APIs&#8221;), we give customers comprehensive control over how their content is cached and how we respond to end user requests. </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Our customers are able to</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"> make their own configuration changes versu</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">s waiting on a professional services engagement. This translates into faster end-user experiences and cost savings. </span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">DevOps-friendly. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We have made it easy for our customers to integrate Fastly into their existing DevOps toolchains and workflows. We have enabled deep integration through rich APIs that let teams build with Terraform, or integrate with Amazon S3, Google Cloud Storage, Splunk, Drupal and many more popular platforms. Combined with our configurability and visibility, this empowered developers to make Fastly part of their continuous integration and continuous deployment (&#8220;CI/CD&#8221;) processes. As a result, our customers have been able to enhance end user experiences by speeding up software and feature releases, without their CDN getting in the way.</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">For example, we have seen customers release new code to production multiple times a day instead of once a month.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">All of our product lines have been built on top of this single, programmable platform, and therefore they all benefit from the same granular control, real-time visibility, and immediate scalability.</span></div><div style="margin-bottom:12pt"><img src="fsly-20231231_g1.jpg" alt="Screenshot 2024-02-20 at 7.07.33&#8239;PM.jpg" style="height:344px;margin-bottom:5pt;vertical-align:text-bottom;width:684px"/></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">As developers gained awareness of the power of our programmable platform, they have tapped into it to build complex performance-based use cases on top of it, from paywall authentication at the edge to A/B testing and edge redirects. From this trend, we realized that there was a need for a more general compute environment versus one that was primarily designed for caching and content delivery.</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">To address this need, we built a powerful compute environment on top of our programmable platform. We give customers access to our serverless compute environment through our compute offering, Fastly Compute. App developers can use this offering to build high performance, personalized apps on our programmable edge without the complexity of managing the underlying infrastructure. We knew our customers would need this environment to be scalable, fast and secure so we chose its building blocks carefully: </span></div><div style="margin-bottom:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">WebAssembly (&#8220;WASM&#8221;)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We chose WASM</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"> an extremely powerful open source technology that allows developers to run complex code on our platform. Apps can be compiled to WASM (using native machine code for better performance) and replicated to all our edge POPs. </span></div><div style="margin-bottom:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">Isolation technology.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"> With security top of mind, we created a unique isolation technology. This gives us the ability to create and destroy an isolated sandbox for each user request that comes through, enabling code to be run in a safe, fast execution environment at scale.</span></div><div style="margin-bottom:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">WASM compiler and runtime. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">To make this code run even faster, we built our own WASM compiler and runtime. </span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Through our observability offerings, we also provide real-time insights to inform continuous performance improvements and facilitate faster debugging during development. S</span><span style="color:#182931;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">ee Compute and Observability sections below for more details.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Network Services</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Fastly is an extension of our customers&#8217; infrastructure. Our Network Services are designed to speed up and optimize the delivery of web and application traffic while ensuring developers and engineers do not lose visibility or control. Whether customers are looking to deliver engaging web and streaming experiences to their users, move apps to the cloud or scale their DevOps practices, our Network Services provide the speed, security and flexibility needed.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Content Delivery Network</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Dynamic Site Acceleration. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Speeds up requests and responses between cache nodes in our POPs and customers&#8217; origin servers to serve their dynamic web and mobile content faster.</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Origin Shield.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Allows us to designate a specific POP to serve as a shield for a customer&#8217;s origin servers. When web content is refreshed and multiple end users request the new content simultaneously, a deluge of requests can hit a customer&#8217;s origin server. This can result in poor web or application performance. With Origin Shield, we collapse all these content requests into a single request and hold it in queue at the Origin Shield POP. That allows us to retrieve the new content from the customer&#8217;s origin server only once, and then serve it to all end users who requested it. This approach reduces costs for our customers, while improving performance for their end users.</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Instant Purge</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Allows customers to clear the cached copy of their content globally in milliseconds, not seconds. We allow customers to send a command to our platform that invalidates an old version of their content throughout our global edge infrastructure. This causes a new version of content to be retrieved from the application server the next time it is requested. This feature enables our customers to serve highly dynamic content at the edge more quickly and allows for delightful application experiences. Rapidly changing content like shopping cart items, flight search results, sports scores, or current weather conditions in any given location can all be served faster from the network edge.</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Surrogate Keys. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Allows customers to fine-tune purging by tagging related objects across their site with a key name and description, then purging by that key. They can purge their entire site of a given object or set of objects at once, without impacting performance. For example, they could purge any images and content related to discontinued sale items, discounted products, or outdated news across their site all at once.</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Programmatic Control.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Provides direct programmatic control of edge delivery services to our customers via VCL, allowing them to precisely control what content is cached, for how long and when it should be refreshed. Combined with comprehensive APIs, VCL allows our customers to build, test and deploy custom logic, using their own development, test and deployment environment, for even the most complex digital experiences. </span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Content Compression. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Compresses content with technologies like Gzip and Brotli, providing direct performance improvements and a more responsive web experience for end users.</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:13.8pt">Reliability Features</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Support the availability of customer content with features including origin health checks, a &#8216;grace mode&#8217; feature that will continue serving content even when customer origin(s) fail, Multipath TCP, and real time error dashboards and API feeds that are backed by a 100% uptime Service Level Agreement (</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#8220;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">SLA&#8221;).</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Fanout</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Enables customers to push data in real time to many users, such as synchronous communication of messages in a chatroom, server updates to IoT devices and other types of data between devices. Realtime messaging is used in a wide range of data streaming applications, including IoT, live commenting, end user notifications, chat and more.</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Domainr</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Provides customers with a real-time and programmatic means for checking domain availability. A programmatic solution for verifying trust for domains is especially useful for platform customers. Using Domainr's APIs, customers can embed these functions directly into their workflows.</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Modern protocols and performance.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Helps our customers, and the Internet in general, receive the best possible performance regardless of user device, connectivity or location though supporting the development of next generation web technologies and protocols such as HTTP/3, QUIC, client hints and HTTP prioritization.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Privacy</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Fastly offers several privacy enablement capabilities. Our OHTTP Relay solution provides fast, reliable separation and isolation of end user data, while passing along non-identifying requests to the business server. Fastly&#8217;s OHTTP Relay is designed to enhance online privacy for users of several of the largest internet vendors. Fastly has worked with others to develop and standardize the technology behind Private Access Tokens. As an alternative to CAPTCHAs, Privacy Access Tokens provide better user privacy by helping ensure there is no leakage of non-essential data.</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Video / Streaming</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Live Streaming. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Delivers millions of concurrent high-quality live streams. It can deliver online content using major HTTP streaming formats while providing real-time feedback to optimize viewer experiences. In addition, we partner with multiple video platform vendors to improve the flexibility and scale of live-streaming workflows and reduce the total cost of ownership.</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Video on Demand. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Reduces the load on origin servers and accelerates time-to-first-frame by caching and rapidly delivering Video on Demand content. Our on-the-fly-packaging feature optimizes streaming media on demand and facilitates immediate playback, thus enhancing viewer experiences across regions, devices, and platforms.</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Media Shield. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Large streaming customers typically use multiple CDNs for media delivery for redundancy and protection. Our Media Shield product supports these efforts and can reduce the total cost of ownership while also regaining lost visibility and improving performance. By collapsing multiple origin requests for identical content across several CDNs, content can be streamed faster, more efficiently, and with a significantly smaller infrastructure burden.</span></div><div style="margin-bottom:12pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%">Load Balancing</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Load Balancer.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Manages HTTP/HTTPS requests to a customer&#8217;s origin using granular content-aware routing decisions. We allow customers to manage traffic across multiple IaaS providers, data centers, and hybrid clouds. We also provide improved performance and cost savings over ADCs, especially during a spike or surge in traffic.</span></div><div style="margin-bottom:12pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%">Image Optimization</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Image Optimizer. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We offer a real-time image manipulation and delivery service and store transformations at the edge. When an image is requested, we resize it, adjust quality, crop/trim, change orientations, convert formats, and more, all on demand. Transforming images at the edge eliminates latency and reduces traffic to a customer&#8217;s origin servers, allowing them to save on infrastructure and egress costs.</span></div><div style="margin-bottom:12pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%">TLS Encryption</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Transport Layer Security (&#8220;TLS&#8221;).</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As part of our standard product, our platform terminates HTTPS connections at our network edge, offloading encrypted traffic from our customers&#8217; web servers for better performance. We provide a number of different certificate procurement and hosting options.</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Platform TLS.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Our Platform TLS offering is designed to allow customers with multiple web properties to manage TLS certificates at scale, while enabling a fast, secure experience for their end-users. It supports delivery and management of hundreds of thousands of certificates, supported by our worldwide TLS termination and acceleration solution.</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Certainly</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">: In August 2023, we launched Certainly, our own publicly-trusted TLS Certification Authority (&#8220;CA&#8221;). Fastly customers can use a certificate issued by Certainly to secure any website or API endpoint served by our CDN. </span></div><div><span><br/></span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%">Origin Connect</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Origin Connect.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Ideal for companies moving more than one gigabyte of data per second, such as media, video, and streaming companies, Origin Connect provides a direct private network connection between an organization&#8217;s origin server and an Origin Shield POP. It is an effective way to lower transit costs, reduce engineering complexity, and improve reliability for high-volume streaming content.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Security</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Security is an essential part of every online business, and customers rely on Fastly to help rapidly secure their business-critical websites, apps, and APIs. Our modern approach to application security provides the accuracy, flexibility, and ease-of-use that our customers have come to know and expect. Fastly provides a range of security solutions for businesses that focus on protecting websites, apps, and APIs from various threats, including DDoS attacks, application layer attacks and abusive behavior from automated software. These solutions are designed to be real-time, scalable, and customizable, offering businesses the ability to tailor their security to their specific needs. With a focus on performance and flexibility, Fastly enables businesses to safeguard their digital experiences.</span></div><div style="margin-bottom:12pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Next-Gen WAF</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Our next-generation Web Application Firewall (&#8220;WAF&#8221;) protects applications from malicious attacks that seek to compromise apps and APIs. Our solution requires no tuning, and is more accurate than the traditional rule or signature-based approaches. Our WAF can be installed in any infrastructure: cloud, container, on-premise data center or hybrid environments or at the edge. Key features include:</span></div><div style="margin-bottom:12pt;padding-left:63pt;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:5.5pt">Bot Management. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Bad bots can perform content scraping, tie up system resources, perform account brute forcing and other harmful actions. Our solution monitors web application and API traffic for automated bot activity, allowing customers to automatically block malicious bot-generated web requests, while providing access for wanted or verified bots.</span></div><div style="margin-bottom:12pt;padding-left:63pt;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:5.5pt">API Protection.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Attackers often target sensitive APIs, attempting to validate stolen credit cards, perform ecommerce gift card fraud or obtain patient healthcare records. We help customers stop API abuse by enabling them to monitor for unexpected values and parameters submitted to API endpoints, and block unauthorized requests.</span></div><div style="margin-bottom:12pt;padding-left:63pt;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:5.5pt">ATO Protection.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Account takeover (&#8220;ATO&#8221;) occurs when attackers use authentication credentials to take over legitimate user accounts. Attackers test stolen credentials in an automated manner called &#8220;credential stuffing.&#8221; Our Account Takeover Protection empowers customers to automatically block and alert on credential stuffing attacks.</span></div><div style="margin-bottom:12pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Advanced Rate Limiting</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Advanced Rate Limiting enables customers to stop malicious and anomalous high volume web requests and reduce resource consumption while allowing legitimate traffic through to application and API endpoints&#8212;doing so means companies can provide a superior customer experience that scales to meet increasing demand.</span></div><div style="margin-bottom:12pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">DDoS.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our DDoS protection is an always-on service that provides immediate protection from network and application layer attacks, so web apps and APIs are always available and performant. Our high-bandwidth, globally distributed network is built to absorb DDoS attacks without impacting performance. Customers can respond to attacks in real time, filtering and rate limiting malicious requests at the network edge, before they reach the customers' origin.</span></div><div style="margin-bottom:12pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Compliance. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We speed up the caching and delivery of sensitive content at the edge, helping customers meet data compliance and privacy regulations such as the Health Insurance Portability and Accountability Act (&#8220;HIPAA&#8221;), the European Union's General Data Protection Regulation (&#8220;EU GDPR&#8221;) and the United Kingdom&#8217;s GDPR (&#8220;U.K. GDPR&#8221;), in addition to industry standards such as PCI Data Security Standard and SOC. Fastly is also certified to the ISO/IEC 27001:2013 standard for its Information Security Management System. Our Assurance Services offering includes support for additional documentation and audit procedures for customers with these needs.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Compute</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Fastly Compute allows app developers to build high performance, personalized apps on Fastly's programmable edge without the cost and complexity of managing the underlying infrastructure. Like all our offerings, Compute is built to be secure, performant and scalable.</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Compute supports a multitude of use cases, including:</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;padding-left:14.5pt">Enhancing Search Engine Optimization ranking by managing redirects at the edge to improve site performance and gain real-time visibility;</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;padding-left:14.5pt">Lowering infrastructure costs and offering faster personalized experiences by generating unique user tokens for authentication; and</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;padding-left:14.5pt">Enabling low latency ad personalization by allowing our customers to serve ads quickly from the edge based on user data.</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Key features of Compute include:</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">Serverless execution environment: </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Compute offers a fast, secure serverless code execution engine. It allows customers to deploy code across Fastly&#8217;s global edge cloud infrastructure, and execute the code close to the user for low latency. Compute also exposes the power of Fastly&#8217;s global infrastructure via a set of powerful developer API&#8217;s for fine grained programmatic control (e.g. Cache API&#8217;s).</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">Language support.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Compute works with any WASM-supported languages, including JavaScript, Rust, Go, Ruby and more. Customers also have the ability to create their own language Software Development Kits. Support for languages that developers already know and want to code in is key for adoption and we will continue to add more over time. </span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">Data</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">. Compute has a number of features that makes it easier and faster to access data at the edge instead of having to go back to the central cloud. This helps developers innovate faster and unlocks more latency-sensitive use cases at the edge.</span></div><div style="margin-bottom:12pt;padding-left:108pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#9702;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.46pt">KV Store. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">KV Store offers global, durable storage for compute functions at the edge. With fast reads and writes from both the edge or via API, customers can store, control, or cache their data to reduce origin dependency and unlock new use cases.</span></div><div style="margin-bottom:12pt;padding-left:108pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#9702;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.46pt">Config Store.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"> Developers want to iterate fast when developing applications. Config Store supports this by allowing them to store multiple common code configurations at the edge, which they can then deploy instantly, instead of having to push new code for every single configuration change.</span></div><div style="margin-bottom:12pt;padding-left:108pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#9702;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.46pt">Secret Store:</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"> Secret Store is a secure and performant storage system for Compute customers' most sensitive data like API keys, passwords, certificates, and other credentials.  It leverages the Hashicorp vault to centrally store, access, and manage secrets across Fastly's cloud infrastructure.</span></div><div><span><br/></span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">Visibility.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"> In addition to real-time logs and metrics, which all our products benefit from, Compute also features log tailing and tracing to improve developer visibility.</span></div><div style="margin-bottom:12pt;padding-left:108pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#9702;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.46pt">Log Tailing. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We give customers visibility into log messages from their applications so they can quickly identify bugs all within their terminal of choice with Fastly Command Line Interface. This helps avoid difficult third party log management and debugging challenges.</span></div><div style="margin-bottom:12pt;padding-left:108pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#9702;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.46pt">Tracing.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"> For customers building apps with Compute, we tag individual end-user requests with unique identifiers and maintain request tracing parameters by tracking when users enter and exit our serverless platform. This feature allows developers to more easily track the performance of application functions post-deployment. </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">Developer Experience.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"> Our award-winning Developer Experience team and products exist to bring success to all developers from their first interaction with Fastly to serving billions of requests per second. The team works cross functionally to advocate for developers across Fastly&#8217;s product line, defining and teaching best practices that foster developer success.</span></div><div style="margin-bottom:12pt;padding-left:108pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#9702;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.46pt">Developer Relations.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"> The Developer Relations team guides developers through training materials, events, and tooling aimed at building a deep understanding of our products. By maintaining code samples published to Fastly Developer Hub and building testing tools like Fastly Fiddle, we engage developers with our products, such as Compute, that integrate directly into DevOps tools and internal developer platforms. We also facilitate testing on our platform with rapid global deploy times and live logs, in addition to debugging.</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">Glitch. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">In order to expand our product offerings to more developers, we acquired Glitch, Inc. (&#8220;Glitch&#8221;) in May of 2022. Glitch is a popular tool for web-based development with a total lifetime user count of over 2.6M registered developers as of December, 2023. We are now working on integrating Compute with Glitch&#8217;s easy-to-use interface, so Glitch&#8217;s community of developers can seamlessly deploy code to Fastly&#8217;s serverless compute environment. </span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">Open Source Support. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Our Fast Forward program is designed to empower and support developers, open source projects, and nonprofits that share our vision of an internet that is free, open, and safe for all. Any eligible open source project can apply to receive free Fastly products. </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Observability</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">For customers, the ability to continuously monitor the status of their website, product, or service is essential. Across all our Network Services, Compute and Security product lines, we provide customers with real-time insights for better decision making. DevOps and engineers can quickly identify potential issues, investigate anomalies, improve performance, and uptime and iterate faster on new releases. </span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Real-time Logging. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">To help tune the performance of Fastly services, we support real-time log streaming of customer data that passes through Fastly. We support a number of protocols that allow our customers to stream logs to a variety of locations, including third-party services, for storage and analysis.</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Live Event Monitoring.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> With real-time monitoring, streaming delivery, request collapsing, capacity planning, and flexible deployment, Fastly Live Event Monitoring gives customers insights into their live streaming performance and the ability to troubleshoot immediately&#8211;all while reducing costs.</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Logging Insights. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Logging Insights provides actionable intelligence that can be used to diagnose and troubleshoot issues for optimal performance and user experience. Our expert consultants implement a guided customization of preconfigured dashboards tailored to a customer&#8217;s specific goals.</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Metrics. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We offer customers a variety of ways to report on the performance and activity of their services. Our metrics, APIs and dashboards provide real-time, per-second visibility and historical reporting. </span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Origin Inspector. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customers can simplify their data pipeline and easily monitor every origin response, byte, status code, and more without needing a third party data collector. They can report on egress data within the Fastly web interface with interactive dashboards. Customers can also verify the success of their Fastly services, especially with shielding or multi-CDN environments.</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Domain Inspector. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customers can easily monitor traffic for a single fully qualified domain name or multiple domains within a Fastly service. They can account for every domain request, byte, and status code or quickly determine edge or origin issues with our combined edge and aggregated origin metrics, all without needing to send log data to a third-party data collector.</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Edge Observer</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">: Provides per-second visibility and historical reporting on the performance and activity of multiple Fastly services in a single pane of glass. Metrics and logs along with every part of the request path are available for consumption in real-time without adding latency. </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Services</span></div><div style="margin-bottom:12pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%">Professional Services. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Fastly offers the following professional services:</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:13.8pt">Network Services. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Distributed systems can be complex, but regardless of a customer&#8217;s skill level, Fastly technical experts are available to guide and optimize the customer's cloud strategy. We offer various levels of engagements, from a light helping hand, to acting as an extension of developer teams, with global support and flexible professional services hours.</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Managed Security Service. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Fastly Managed Security Service is a full-service offering for our Next-Gen WAF, DDoS and Edge Rate Limiting customers who require comprehensive monitoring over their environments.</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Response Security Service.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Fastly&#8217;s Response Security Service provides Next-Gen WAF customers with priority, direct access to Fastly&#8217;s Customer Security Operations Center 24/7/365 along with regular configuration maintenance and an industry-leading response SLA.</span></div><div style="margin-bottom:12pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Managed CDN.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fastly&#8217;s Managed CDN provides maximum control and flexibility. We deploy our edge cloud network on dedicated POPs within a customer&#8217;s private network at locations of their choosing. Our service can be used exclusively, or as part of a hybrid, multi-CDN strategy.</span></div><div style="margin-bottom:12pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Support Plans. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fastly offers three levels of support plans and available technical support add-ons with dedicated technical specialists and account managers that provide extended security expertise.</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Standard</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.  The Standard support plan gives every Fastly customer immediate access to our Community Forum and extensive documentation. Customer support is available via email during business hours.</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Gold</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. The Gold support plan offers enhanced product support, priority routing for support cases, and expedited 24/7 incident response times. </span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Enterprise</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Enterprise level support equips customers with 24/7 online support for incidents and general inquiries, 15-minute escalation response times, phone support, access to a private Slack channel, and a team of technical experts to help optimize a customer&#8217;s Fastly service, including compliance support.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Our Growth Strategy </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Our growth strategy focuses on making our edge cloud platform accessible to a broader base of customers through enhancing our product experience, investments in technology, and vertical expansion. Key elements of our growth strategy include the following:</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Product strategy.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Built upon a strategy of durable innovation, our programmable edge cloud platform creates a consistent and predictable pipeline of innovation. We plan to expand existing product lines like Network Services and Security, and expect to further incubate newer product lines like Compute and Observability for future growth. </span></div><div style="margin-bottom:12pt;padding-left:72pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">With the goal of making it easier for customers to do business with us, we will continue to build out a single, unified platform where they can access and manage all their Fastly services in one place. We will simplify customer onboarding and service usage, through easy access to self-training information from within the Fastly app, and more code samples and support. In 2023, we simplified our pricing and packaging in order to make it easier for customers to buy and renew our services.</span></div><div style="margin-bottom:12pt;padding-left:72pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We launched our Next-Gen WAF in Q1 of 2022. This enables us to protect customers&#8217; applications and APIs on premise, in the cloud and on the edge. We plan to continue to invest in application security with the goal of making it easier for developers to seamlessly protect their apps and APIs wherever they are without impacting performance. </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Expansion into additional vertical markets.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Our platform offers a broad range of capabilities. Our differentiated high performance and low-latency delivery network and edge compute platform, as well as enhanced security capabilities, allows us to serve the needs of our existing customers and continue to add customers from a diverse set of industries.</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Expand existing customer relationships.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Over time, our customers have expanded their use of our platform. In more technically savvy organizations, developers have championed our solution, paving the way for us to engage with business decision makers. For more traditional organizations, we are often brought in to initially help facilitate a move to the cloud and from there we extend our product to support many other use cases. We plan to continually increase wallet-share over time for existing customers as we build out new products and features, and as customers continue to fully recognize the value of our platform.</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Grow our technology partner ecosystem.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> We operate between and complement the &#8220;big 3&#8221; origin cloud platforms, Amazon Web Services (&#8220;AWS&#8221;), Microsoft (Azure), and Google Cloud Platform, and a growing community of companies that provide big data, machine learning, and security solutions. In this sense, we act as the unifying layer for a growing number of cloud services. As customers consume more cloud and software as a service (&#8220;SaaS&#8221;) offerings, we can create additional value and grow with these partners.</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">International expansion.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> As our customer base grows, we plan to scale our network to bring edge computing closer to where our customers are. We believe significant opportunities exist for international growth.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Partner Ecosystem</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"> </span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We partner with a number of global channel partners who offer our performant and secure solutions on top of their own value-added services. We work with top cloud service providers to combine our complementary products and services to deliver even more value for our joint end users. We also partner with a number of third-party technologies to extend our capabilities across new markets and use-cases. Ultimately, partners help our customers by:</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;padding-left:14.5pt">Providing a complete suite of value-added services and solutions </span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;padding-left:14.5pt">Offering flexible and efficient engagement models</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;padding-left:14.5pt">Acting as a single point of contact; and</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;padding-left:14.5pt">Extending geographic coverage and support</span></div><div style="margin-bottom:12pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Channel Partners. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our channel program provides partners with the flexibility to accommodate different go-to-market models and allows each partner to customize their offerings to provide their own differentiated value. The two primary channel partner types we work with are:</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">Referral partners:</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"> Recommend Fastly products to their customers for a commission and include partners like agencies and consultants; and</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">Reseller partners: </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Act as a reseller to offer additional value on top of Fastly&#8217;s products and services and include partners like value-added resellers, managed service providers, managed security service providers, system integrators, and more.</span></div><div style="margin-bottom:12pt;padding-left:72pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Resellers work with Fastly&#8217;s sales and presales teams to scale sales cycle support. This helps expand our worldwide network of partners dedicated to protecting and delivering customers&#8217; content. We have expanded the reach and breadth of these partners to include cross-selling delivery and security products. We have made significant investments in this area by adding additional channel sales and marketing resources, technical training and enablement, a new partner portal, enhanced pricing and packaging offerings, and an elevated partner program to offer partners even more benefits. </span></div><div style="margin-bottom:12pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Cloud Partners</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We integrate with major cloud providers to enhance their services and create solutions that are powerful, scalable, and secure. We have exclusive Private Network Interconnects (PNIs) and peering arrangements with key cloud providers such as Google Cloud Platform, AWS, and others to eliminate or minimize egress fees, </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">enhance security, and improve overall performance. We are also available for purchase on the Google Cloud Marketplace and AWS Marketplace which can help eliminate the need for customers to have separate billing arrangements and makes Fastly services eligible for Google Cloud and AWS committed spends. We have strong go-to-market relationships with our cloud partners which allow us to access the benefits of their partner programs like joint business planning, co-selling, account support, added marketing funding, and more. </span></div><div style="margin-bottom:12pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Integration Partners.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We integrate with a number of third party partners who offer complementary technology across a number of strategic use-cases and industries. These partners help expand our reach into new markets by offering customers a solution that seamlessly integrates with their existing technology stack making our technology even stickier. Here are some examples:</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Security:</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Our Next-Gen WAF seamlessly integrates with third-party tools to help customers enhance their workflows, empower DevOps processes, increase their security visibility, and drive operational efficiencies. Examples include: VMware (Tanzu), Palo Alto Networks, Cisco, Datadog, Citrix, PagerDuty and more.</span></div><div style="margin-bottom:12pt;padding-left:72pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In May 2023, we announced a partnership with A10. The Fastly Next-Gen WAF was integrated into the A10 ADC  appliances and offered as an optional Application Security control for their customers.  The A10-Fastly partnership gives us access to new customers, many of whom use their own data centers, have less of a public cloud footprint, and are located in different geographic areas than Fastly's traditional customer base. </span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Logging &amp; Analytics:</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Our real-time logging feature integrates with more than 20 logging endpoint partners to allow customers to customize and visualize their edge data for better monitoring of performance and security anomalies. Examples include: DataDog, Looker (Google Cloud), SumoLogic, Logentries, Google Cloud Platform, Microsoft (Azure Blob Storage), and more. </span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Compute: </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We work with a growing ecosystem of partners who are tapping into our powerful Compute serverless technology to extend their solutions across a variety of different use-cases. </span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Media &amp; Entertainment: </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have partnerships across a number of technology providers in the media &amp; entertainment industry to enhance our edge platform&#8217;s  performance features, modern security offerings, and real-time metrics. </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Competition</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our platform spans several markets from cloud computing and cloud security to CDNs. We segment the competitive landscape into six key categories:</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Legacy CDNs like Akamai and Edgio;</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Application and API security vendors like Akamai, AWS, Cloudflare, F5, and Thales (Imperva);</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Point CDN players like Bunny CDN, CDNetworks, and CDN77;</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">CDN providers, which now offer serverless edge compute functionality like Akamai (Linode), and Cloudflare;</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Cloud hosting providers (or public cloud providers) that have added CDN &amp; WAF capabilities like AWS, Google Cloud Platform, and Microsoft (Azure); and</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Traditional on-premise, data center appliance vendors for load balancing, WAF, and DDoS like F5, Thales (Imperva), NetScaler, and Radware.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The principle competitive factors in our market include:</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">platform functionality, scalability, performance, ease of use, ease of integration and programmability, reliability, security availability, and cost effectiveness;</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">global network coverage and availability;</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">ability to support modern application development processes and utilize new and proprietary technologies to offer services and features previously not available in the marketplace;</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">ability to identify new markets, applications, and technologies;</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">ability to attract and retain customers;</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">brand, reputation, and trustworthiness;</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">credibility with developers;</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">quality of customer support;</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">ability to recruit software engineers and sales and marketing personnel;</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">ability to protect intellectual property; and</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">ability to identify opportunities for acquisitions and strategic relationships and successfully execute on them.</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We believe we generally compete favorably with our competitors on the basis of these factors. Our edge cloud platform integrates many of the point products offered by our competitors which is a key differentiator. However, many of our competitors have substantially greater financial and technical resources in addition to larger sales and marketing budgets, broader market distribution, and more mature intellectual property portfolios.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Our Culture and Human Capital Resources</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Our Values</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Technology has the potential to make a radically positive impact on the world, and we aspire to improve human lives through our work. We were founded on strong ethical principles, and have intentionally grown values-first, scaling our workforce, services, customer portfolio, and investment partners purposefully. We are only as good as the company we keep, and this guides our hiring practices as well as the ethics we are committed to upholding as we scale. We believe that as a result of our values, we have been able to identify, attract, engage and retain great people. We want to serve the very best of the Internet. We choose to work with customers that we believe have integrity, are trustworthy, and do not promote violence or hate. Our eight core values define who we are and how we choose to grow, hire, train, work, communicate, make decisions, support each other, and serve our customers.</span></div><div style="margin-bottom:12pt;text-align:center"><img src="fsly-20231231_g2.jpg" alt="Fastly_Values_2024 (2).jpg" style="height:328px;margin-bottom:5pt;vertical-align:text-bottom;width:684px"/></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Our Hiring Strategy</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are dedicated to building a diverse workforce and leadership team that reflects our values and the unique needs of our global customer base. We strive to be a company full of talented, highly effective, kind, honest, passionate, and high-integrity people. We are dependent on our highly qualified employees and executives, and it is crucial that we continue to attract, engage and retain valuable employees. We believe in investing in our people and motivating talented individuals with a strong career path and competitive compensation program. Our U.S. support engineers are often hired from code schools, and many code school graduates transition from support into other organizations within the company, championing the customer voice and infusing our teams with a strong, service-focused mindset. Our engineering staff recruits world-class experts in every part of the technology stack that makes up the Internet, which inspires great developers to join us. Our compensation program is designed to attract, retain, and motivate highly qualified employees and executives. We use a mix of competitive base salary, equity compensation awards, and other employee benefits. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are building a global, healthy, safe, and diverse workforce and an inclusive culture that empowers and supports our employees and customers. We onboard all new employees with training programs on our values, certain aspects of our business, and important policies, including our Safe, Welcoming, and Productive Work Environment Policy. Annually thereafter we provide employees with code of conduct and security awareness training, a learning reimbursement program and performance evaluations. Our employee engagement efforts currently include company-wide newsletters and all-hands meetings, through which we aim to keep our employees well-informed and increase transparency. We also use employee engagement surveys to collect employee feedback and assess the effectiveness of our culture, our strategy, and various health and well-being programs. </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Employees</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">As of December&#160;31, 2023, we had a total of 1,207 employees worldwide and 250 employees located outside of the United States; 46% of our employees resided within 50 miles of a Fastly office and 54% of</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"> o</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">ur employees worldwide were considered remote, which means they resided more than 50 miles from a Fastly office or in locations where we do not have a Fastly office presence. We will continue to search for the best possible talent for every role and cultivate best-in-class in-office and remote employee experiences. </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Our Organization</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Sales &amp; Marketing</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">By focusing our resources, expertise and talent we have the opportunity to drive growth for Fastly, gain market share in our total addressable market and become a place where team members can develop their skills and grow their careers.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We are building a go-to-market engine that scales, becomes increasingly more efficient, and is nimble enough to continue to grow our business in four dimensions:</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;padding-left:14.5pt">Customer logo acquisition</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Expansion into additional vertical markets and within existing customers </span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Partner ecosystem leverage</span></div><div style="margin-bottom:12pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">International expansion</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Fastly&#8217;s marketing efforts have a significant impact on new logo acquisition and demand generation. We are focused on optimizing the return on our marketing investment to drive demand across our portfolio and regions.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our sales and marketing organizations work together closely to cultivate customer relationships with developers and business leaders at enterprises and technology-savvy organizations to drive revenue growth. We have geographically-based sales teams that continue to enhance our value-based selling methodology. Our land and expand sales strategy for enterprise customers has successfully demonstrated our platform&#8217;s capabilities, and our customer support enables broad adoption of our technology within an organization.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Customer Support</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have designed our products and platform to be self-service and require minimal customer support. Customers are automatically covered by our standard support plan as soon as they sign up with us. They can file a ticket with the support team, access documentation including online FAQs, API references, and configuration guidelines. Our support approach is unique as we have built it with developers in mind. Our first-line support employee typically has an engineering background and is highly technical.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We also provide several options for premier, hands-on support from a team of highly-technical senior support engineers and technical account managers. They act as a single point of contact for our support, product, and engineering teams. Our support model is global, with 24/7 coverage and support offices located in North America, EMEA, and APAC. </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Research&#160;&amp; Development</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our research and development team members are responsible for the design, development, and reliability of all aspects of our edge cloud platform. Continuous improvement and innovation are core to our DNA, and these efforts are baked directly into our service life cycle. Scale, performance, security, and reliability are core functional requirements of everything we build into our platform to serve our customers.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our philosophy of customer empowerment guides our research processes. Our product managers regularly engage with customers and developers, DevOps and site reliability engineering communities, as well as our internal stakeholders and subject </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">matter experts, in order to understand customer needs. Our engineering team includes experts with deep experience who intimately understand customers&#8217; technical challenges and build solutions accordingly.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Throughout the strategic design and build phases of our product life cycle, our development organization works closely with our product, infrastructure, operations, and compliance teams to design, develop, test, and launch any given solution. We strive for a balance of rapid iteration without compromise on the core functional requirements that our customers expect: scale, performance, security, and reliability.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023, we had 422 employees in our research and development group. Our research and development expenses were $152.2 million for the year ended December&#160;31, 2023.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Infrastructure</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our infrastructure team is responsible for the design, deployment, and maintenance of the servers and network hardware that form the foundation of our mission critical edge cloud environment in 79 markets as of December&#160;31, 2023. We invest in research into global Internet geography to identify optimal colocation site selection, network partner identification, and network-to-network interconnection opportunities. These activities allow us to connect in close proximity to core Internet backbones and Internet service providers, thereby enhancing network performance. We carefully evaluate and test hardware from leading server, network, and component manufacturers to assess their compliance with our workload performance, system efficiency, and mean time-to-repair standards. In our process, we evaluate commodity server and network platforms to avoid vendor lock-in, while optimizing the mix of components in an effort to improve efficiency and optimize our capital expenditures. We intend to grow the number of data center colocation sites as traffic on our network grows and as demands for new markets justify investment.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Trust</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our security, compliance and data governance teams, as well as other departments across the company, continually iterate on our trust programs to better meet growing customer needs, updated regulatory requirements, and the evolving security threat landscape. To help validate the controls that safeguard our platform and the data moving through it, we have expanded our portfolio of security and compliance-related assessments and certifications over time.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Intellectual Property</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We rely on a combination of patent, copyright, trademark, and trade secret laws in the United States and other jurisdictions, as well as license agreements and other contractual protections, to protect our proprietary technology. We also rely on a number of registered and unregistered trademarks to protect our brand.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">As of December&#160;31, 2023, in the United States, we had 103 issued or allowed patents, which expire between August 2033 and February 2042, and 19 patent applications pending for examination. As of such date, we also had 24 issued patents and 10 patent applications pending for examination in foreign jurisdictions and one Patent Cooperation Treaty patent application pending for examination, all of which are related to U.S. patents and patent applications. In addition, as of December&#160;31, 2023, we had 19 registered trademarks and one pending trademark in the United States.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition, we seek to protect our intellectual property rights by requiring our employees and independent contractors involved in development of intellectual property on our behalf to enter into agreements acknowledging that all works or other intellectual property generated or conceived by them on our behalf are our property, and assigning to us any rights, including intellectual property rights, that they may claim or otherwise have in those works or property, to the extent allowable under applicable law.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Despite our efforts to protect our technology and proprietary rights through intellectual property rights, licenses, and other contractual protections, unauthorized parties may still copy or otherwise obtain and use our software and other technology. In addition, we intend to continue to expand our international operations, and effective intellectual property, copyright, trademark, and trade secret protection may be unavailable or limited in foreign countries. Any significant impairment of our intellectual property rights could harm our business or our ability to compete. Further, companies in the communications and technology industries own large numbers of patents, copyrights, and trademarks and frequently threaten litigation, or file suit based on allegations of infringement or other violations of intellectual property rights. We are currently subject to, and </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">expect to face in the future, allegations that we have infringed the intellectual property rights of third parties. From time to time, we also receive demands for indemnification from our customers under the terms of our contracts with them for infringement of a third-party&#8217;s intellectual property rights.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Legal Proceedings</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time, we have been and will continue to be subject to legal proceedings and claims, including proceedings and claims relating to employment, intellectual property, and commercial disputes. We are not presently a party to any legal proceedings that, if determined adversely to us, would individually or taken together have a material effect on our business, results of operations, financial condition, or cash flows. We have received, and may in the future continue to receive, claims from third parties asserting, among other things, infringement of their intellectual property rights. Future litigation may be necessary to defend ourselves, our partners, and our customers by determining the scope, enforceability, and validity of third-party proprietary rights, or to establish our proprietary rights. The results of any current or future litigation cannot be predicted with certainty, and regardless of the outcome, litigation can have an adverse impact on us because of defense and settlement costs, diversion of management resources, and other factors.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Please refer to Note 10&#8212;Commitments and Contingencies for discussion around our legal proceedings. </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Regulatory</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are subject to a number of U.S. federal and state and foreign laws and regulations that involve matters central to our business. These laws and regulations may involve privacy and data security, intellectual property, competition, consumer protection, critical infrastructure or other subjects. Many of the laws and regulations to which we are subject are still evolving and being tested in courts and could be interpreted in ways that could harm our business. In addition, the application and interpretation of these laws and regulations often are uncertain, particularly in the new and rapidly evolving industry in which we operate. Because global laws and regulations have continued to develop and evolve rapidly, it is possible that we may not be, or may not have been, compliant with each such applicable law or regulation. For a description of the risks we face related to regulatory matters, refer to &#8220;Item 1A.&#8212;Risk Factors&#8221; in this Annual Report on Form 10-K.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Corporate Information</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We were initially incorporated under the laws of the State of Delaware in March 2011 under the name SkyCache, Inc. We changed our name to Fastly, Inc. in May 2012. Our principal executive offices are located at 475 Brannan Street, Suite 300, San Francisco, California 94107. Our telephone number is 1-844-432-7859. Our website address is www.fastly.com. The information contained on, or that can be accessed through, our website does not constitute part of this Annual Report on Form 10-K.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We file annual reports on Form 10-K, quarterly reports on Form 10-Q, current reports on Form 8-K, and amendments to reports filed or furnished pursuant to Sections 13(a), 14 and 15(d) of the Exchange Act. The SEC maintains a website at https://www.sec.gov that contains reports, and other information regarding us and other companies that file materials with the SEC electronically. Copies of our reports on Forms 10-K, Forms 10-Q, and Forms 8-K, may be obtained, free of charge, electronically through our investor relations website at www.fastly.com/investors as soon as reasonably practicable after we file such material with, or furnish such material to, the SEC.</span></div><div><span><br/></span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">22</span></div></div></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_22"></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 1A.&#160;&#160;&#160;&#160;&#160;Risk Factors</span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Investing in our Class&#160;A common stock involves a high degree of risk. Investors should carefully consider the risks and uncertainties described below, together with all of the other information contained in this Annual Report on Form 10-K, including the section titled </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8220;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Management's Discussion and Analysis of Financial Condition and Results of Operations</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8221;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%"> and our consolidated financial statements and related notes, before deciding to invest in our Class&#160;A common stock. Unless otherwise indicated, references to our business being harmed in these risk factors will include harm to our business, reputation, customer growth, results of operations, financial condition, or prospects. Any of these events could cause the trading price of our Class&#160;A common stock to decline, which would cause our stockholders to lose all or part of their investment. Our business, results of operations, financial condition, or prospects could also be harmed by risks and uncertainties not currently known to us or that we currently do not believe are material.</span></div><div style="text-indent:27pt"><span><br/></span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Risks Related to Our Business, Industry and Technology</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">If our platform fails to perform properly due to defects, interruptions, outages, delays in performance, or similar problems, and if we fail to develop enhancements to resolve any defect, interruption, delay, or other problems, we could lose customers, become subject to service performance or warranty claims, or incur significant costs.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our operations are dependent upon our ability to prevent system interruption. The applications underlying our edge cloud computing platform are inherently complex and may contain material defects or errors, which may cause disruptions in availability or other performance problems. We have from time to time found defects and errors in our platform and may discover additional defects or errors in the future that could result in data unavailability, unauthorized access to, loss, corruption, or other harm to our customers&#8217; data. These defects or errors could also be found in third-party applications or open source software on which we rely. We may not be able to detect and correct defects or errors before implementing our products. Consequently, we or our customers may discover defects or errors after our products have been deployed.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We currently serve our customers from our POPs located around the world. Our customers need to be able to access our platform at any time, without interruption or degradation of performance. However, we have not developed redundancies for all aspects of our platform. We depend, in part, on our third-party facility providers&#8217; ability to protect these facilities against damage or interruption from natural disasters, power or telecommunications failures, criminal acts, armed conflict, public health issues, such as a pandemic or epidemic, and similar events. In some cases, third-party cloud providers run their own platforms that we access, and are, therefore, vulnerable to their service interruptions. In the event that there are any defects or errors in software, failures of hardware, damages to a facility, or misconfigurations of any of our services, we may have to divert resources away from other planned work, could experience lengthy interruptions in our platform, and also incur delays and additional expenses in arranging new facilities and services. Our customers may choose to divert their traffic away from our platform as a result of interruptions or delays. Disaster recovery arrangements, including the existence of redundant data centers that are designed to become active during certain lapses of service, may not function as intended, and any disruptions to our service could harm our business.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We design our system infrastructure and procure and own or lease the computer hardware used for our platform. Design and mechanical errors, spikes in usage volume, and failure to follow system protocols and procedures could cause our systems to fail, resulting in interruptions on our platform. Moreover, we have experienced and may in the future experience system failures or interruptions in our platform as a result of human error. These outages have resulted and may in the future result in service level agreement claims. Any interruptions or delays in our platform, whether caused by our products or our data centers, third-party error, our own error, natural disasters, the effects of climate change (such as drought, flooding, wildfires, increased storm severity, and sea level rise), security breaches, or whether accidental or willful, could harm our relationships with customers, reduce customers&#8217; usage of our platform, cause our revenue to decrease and our expenses to increase, and divert resources away from product development. Also, in the event of damage or interruption, our insurance policies may not adequately compensate us for any losses that we may incur. These factors in turn could further reduce our revenue, subject us to liability and cause us to issue service credits or cause customers to fail to renew their customer contracts, any of which could harm our business.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The occurrence of any defects, errors, disruptions in service, failures involving redundant data centers, or other performance problems, interruptions, or delays with our platform, whether in connection with the day-to-day operations or otherwise, could result in:</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">23</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;padding-left:13.8pt">loss of customers;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">reduced customer usage of our platforms;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">lost or delayed market acceptance and sales of our products, or the failure to launch products or features on anticipated timelines;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">delays in payment to us by our customers;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">injury to our reputation and brand;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">governmental inquiry or oversight; </span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">legal claims, including warranty and service level agreement claims, against us; or</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">diversion of our resources, including through increased service and warranty expenses or financial concessions, and increased insurance costs.</span></div><div style="margin-bottom:12pt;text-indent:31.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The costs incurred in correcting any material defects, errors, or other performance problems in our platform may be substantial and could harm our business.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">If we are unable to attract new customers, in particular, enterprise customers, and to have existing enterprise customers continue and increase their use of our platform, our business will likely be harmed.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">To grow our business, we must continue to attract new customers, in particular, enterprise customers, and generate revenue from those new customers. To do so, we must successfully convince potential customers of the benefits and the value of our platform. This may require significant and costly sales efforts that are targeted at larger enterprises and senior management of these potential customers. Sales to enterprise customers may involve longer sales cycles as a result of customers requiring considerable time to evaluate our platform, requiring participation in a competitive purchasing process, having more formal processes for approval of purchases, and more complex requirements. These factors significantly impact our ability to add new customers and increase the time, resources, and sophistication required to do so. In addition, numerous other factors, some of which are out of our control, may now or in the future impact our ability to acquire new customers, including potential customers&#8217; commitments to other providers, real or perceived costs of switching to our platform, our failure to expand, retain, and motivate our sales and marketing personnel, our failure to develop or expand relationships with potential customers and channel partners, failure by us to help our customers to successfully deploy our platform, negative media or industry or financial analyst commentary regarding us or our solutions, litigation, and deteriorating general economic conditions. If we fail to attract new customers, particularly enterprise customers, as a result of these and other factors our business will likely be harmed.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">In addition, our ability to grow and generate incremental revenue depends on our ability to maintain and grow our relationships with our existing enterprise customers so that they continue and increase their usage of our platform. If these customers do not maintain and increase their usage of our platform, our revenue may decline and our results of operations will likely be harmed.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:115%"> </span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">For some of our products, we charge our customers based on the usage of our platform. Most of our customers, including some of our largest enterprise customers, do not have long-term contractual financial commitments to us. In addition, most of our current customer contracts are only one year in duration and these customers may not use our platform in a subsequent year. In order for us to maintain or improve our results of operations, it is important that our customers, in particular, our enterprise customers, use our platform in excess of their commitment levels, if any, and continue to use our platform on the same or more favorable terms. Our ability to retain our largest customers and expand their usage could be impaired for a variety of reasons, including customer budget constraints, customer satisfaction, changes in our customers&#8217; underlying businesses, changes in the type and size of our customers, pricing changes, competitive conditions (including customers building their own CDNs), the acquisition of our customers by other companies, governmental actions, or the possibility thereof, and general economic conditions. Because many of our largest customers&#8217; minimum usage commitments for our platform are relatively low compared to their expected usage, it can be easy for certain customers to quickly reallocate usage or switch from our platform to an </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">alternative platform altogether. In addition, they may reduce or cease their use of our products at any time without penalty or termination charges, even after they have expanded usage in prior periods.</span></div><div style="text-indent:27pt"><span><br/></span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We base our decisions about expense levels and investments on estimates of our future revenue and anticipated rate of growth. Many of our expenses are fixed cost in nature for some minimum amount of time, such as colocation and bandwidth, so if we do experience slower usage growth on our platform it may not be possible to reduce costs in a timely manner or without the payment of fees to exit certain obligations early. If any of these events were to occur, our business may be harmed. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition, many of our customers have negotiated and may continue to negotiate lower rates in exchange for an agreement to renew, expand their usage in the future, or adopt new products. As a result, in certain cases, even though customers have not reduced their usage of our platform, the revenue we derive from that usage has decreased. If our platform usage or revenue fall significantly below the expectations of the public market, securities analysts, or investors, our business would be harmed, which could cause our stock price to decline.</span></div><div style="margin-bottom:12pt;text-indent:31.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our future success also depends in part on our ability to expand our existing customer relationships, in particular, with enterprise customers, by increasing their usage of our platform, selling them additional products and upgrading their existing products. The rate at which our customers increase their usage of our platform and purchase products from us depends on a number of factors, including our ability to grow our platform and maintain the security and availability of it, develop and deliver new features and products, maintain customer satisfaction, general economic conditions and pricing and services offered by our competitors. If our efforts to increase usage of our platform by, or sell new and additional products to, our enterprise customers are not successful, our business would be harmed. In addition, even if our largest customers increase their usage of our platform, we cannot guarantee that they will maintain those usage levels for any meaningful period of time. In addition, because many of our products endeavor to deliver increased efficiency and functionality, the successful sale of a new or additional product to an existing customer could result in a reduction of the customer&#8217;s overall usage of our platform.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We receive a substantial portion of our revenues from a limited number of customers from a limited number of industries, and the loss of, or a significant reduction in usage by, one or more of our major customers would result in lower revenues and could harm our business.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Our future success is dependent on establishing and maintaining successful relationships with a diverse set of customers. We currently receive a substantial portion of our revenues from a limited number of customers and from a limited number of industries, such as media and entertainment. Our 10 largest customers generated an aggregate of 37% and 35% of our revenue in the trailing 12 months ended December&#160;31, 2023 and 2022, respectively. Affiliated customers that are business units of a single company in the streaming entertainment space generated an aggregate of 12% and 11% of our revenue in the trailing 12 months ended December&#160;31, 2023 and 2022, respectively. It is likely that we will continue to be dependent upon a limited number of customers for a significant portion of our revenues for the foreseeable future and, in some cases, the portion of our revenues attributable to individual customers may increase in the future. In addition, changes to our customers&#8217; business may contribute to further customer concentration, including any impact from acquisition activities, internal business reorganizations leading to operational and decision making changes, and corporate structure changes such as subsidiary consolidation and reorganization that may arise in the future. The loss of one or more key customers or a reduction in usage by any major customers would reduce our revenues. If we fail to maintain existing customers or develop relationships with new customers and across different industries, our business would be harmed.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Component delays, shortages or price increases could interrupt our ability to complete the construction of our servers to meet the usage needs of our customers.  Our operating results could be materially harmed if we are unable to adequately manage our server needs.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our business depends on the timely supply of certain parts and components to construct our servers. We rely on a limited number of suppliers for several components of the equipment we use to operate our network and provide products to our customers. Our reliance on these suppliers exposes us to risks including reduced control over production costs and constraints based on the then current availability, terms, and pricing of these components, including pricing changes as a result of inflationary pressures. The COVID-19 pandemic caused disruptions and delays for these components and the delivery and installation of such components at our colocation facilities, in addition to pricing increases. If our supply of certain components is further disrupted or delayed, there can be no assurance that we will be able to obtain adequate replacements for the existing components or that supplies will be available on terms and prices that are favorable to us, if at all. Any disruption or delay in the supply of our hardware components has in the past and may in the future limit capacity expansion or replacement of </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">defective or obsolete equipment, or cause other constraints on our operations that could damage our customer relationships and harm our business.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">To ensure adequate supply of parts and components, we must forecast server needs and expenses and place orders sufficiently in advance with our suppliers based on estimates of future demand for network capacity. As we continue to experience growth, we may face challenges managing adequate server capacity due to potential component delays, shortages, price increases, hardware efficiencies gained through internal development, or any potential changes in server architecture including due to technological advances or obsolescence. We may incur charges in future periods related to server management or incorrectly forecast our network capacity needs in future periods. If we have excess server capacity, we have in the past and may need to continue to write-down or write-off server assets, which may materially harm our operating results. For example, in the year ended December 31, 2023, we recognized computer and networking equipment related write-off charges of $4.3 million. Conversely, if we underestimate network capacity needs, we may in future periods be unable to meet demand and be required to incur higher costs to secure necessary parts and components of our servers, which could adversely affect our customer relationships and harm our business.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Our limited operating history and our history of operating losses makes it difficult to evaluate our current business and prospects and may increase the risks associated with your investment.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We were founded in 2011 and have experienced net losses and negative cash flows from operations since inception. Our limited operating history makes it difficult to evaluate our current business and our future prospects, including our ability to plan for and model future growth. We have encountered and will continue to encounter risks and difficulties frequently experienced by growth companies in constantly evolving industries, including companies in the technology sector, including the risks described in this report. If we do not address these risks successfully, our business may be harmed.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We generated a net loss of $133.1 million for the year ended December&#160;31, 2023 and, we had an accumulated deficit of $834.8 million. We will need to generate and sustain increased revenue levels and manage costs in future periods in order to become profitable; even if we achieve profitability, we may not be able to maintain or increase our level of profitability. We intend to continue to expend significant funds to support further growth and further develop our platform, including expanding the functionality of our platform, expanding our technology infrastructure and business systems to meet the needs of our customers, expanding our direct sales force and partner ecosystem, increasing our marketing activities, and growing our international operations. We have in the past and will continue to face increased compliance costs associated with growth, expansion of our customer base, and the costs of being a public company. Our efforts to grow our business may be costlier than we expect, and we may not be able to increase our revenue enough to offset our increased operating expenses. We may incur significant losses in the future for a number of reasons, including the other risks described herein, and unforeseen expenses, difficulties, complications and delays, and other unknown events. If we are unable to achieve and sustain profitability, our business may be harmed.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Further, we have limited historical financial data and operate in a rapidly evolving market. As such, any predictions about our future revenue and expenses may not be as accurate as they would be if we had a longer operating history or operated in a more predictable market.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">If our information technology systems or data, or those of third parties upon which we rely, are compromised now, or in the future, or the security, confidentiality, integrity or availability of our information technology, software, services, networks, communications or data is compromised, limited or fails, our business could experience materially adverse consequences, including but not limited to regulatory investigations or actions, litigation, fines and penalties, disruptions of our business operations, loss of revenue or profits, loss of customers or sales, reputational harm, and other adverse consequences.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Our business is dependent on providing our customers with fast, efficient, and reliable distribution of applications and content over the Internet. In the ordinary course of our business, we and the third parties upon which we rely, collect, receive, store, process, generate, use, transfer, disclose, make accessible, protect, secure, dispose of, transmit, and share, proprietary, confidential, and sensitive data, including personal information, intellectual property, trade secrets, and encryption keys,  including our data and data of our customers, including their end-users (collectively, sensitive information). Maintaining the security and availability of our platform, network, and internal IT systems and the security of information we hold on behalf of our customers is a critical issue for us and our customers, and we expend significant resources, and may need to fundamentally change our business activities and continue to modify our practices and operations, in an effort to protect against security incidents and to mitigate, detect, and remediate actual and potential vulnerabilities. </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Cyber-attacks, malicious Internet-based activity, online and offline fraud, and other similar activities threaten the confidentiality, integrity, and availability of our sensitive information and information technology systems, and those of the third parties upon which we rely. Such threats are prevalent and continue to rise, are difficult to detect, and come from a variety of sources, including threat actors, &#8220;hacktivists,&#8221; personnel (such as through theft or misuse), sophisticated nation states, and nation-state-supported actors. </span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Some actors now engage and are expected to continue to engage in cyber-attacks, including without limitation nation-state actors for geopolitical reasons and in conjunction with military conflicts and defense activities. We have in the past been subject to cyber-attacks from third parties, including parties who we believe are sponsored by government actors. Since our customers share our multi-tenant architecture, cyber-attacks on any one of our customers could have a negative effect on other customers. These attacks have in the past significantly increased the bandwidth used on our platform and have strained our network. During times of war and other major conflicts, we, the third parties upon which we rely, and our customers may be vulnerable to a heightened risk of these attacks, including retaliatory cyber-attacks, that could materially disrupt our systems and operations, supply chain, and ability to produce, sell, and distribute our services. </span></div><div><span><br/></span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We and the third parties upon which we rely are subject to a variety of evolving threats, including but not limited to social-engineering attacks (including through deep fakes, which may be increasingly more difficult to identify as fake, and phishing attacks), malicious code , malware (including as a result of advanced persistent threat intrusions), denial-of-service attacks, account takeover attacks, credential harvesting, personnel misconduct or error, ransomware attacks, supply-chain attacks, software bugs, server malfunctions, software or hardware failures, attacks facilitated or enhanced by artificial intelligence (&#8220;AI&#8221;), loss of data or other information technology assets, adware, telecommunications failures, natural disasters, and other similar threats. For example, we have experienced DDoS attacks of significant size and severity that caused us to invest resources into improving our systems, and we expect to continue to be subject to DDoS and other forms of attacks in the future, particularly as they have become more prevalent in our industry. Similarly, we have been the target of phishing and social engineering schemes that may be designed to, among other things, improperly gain access to our confidential information or fraudulently obtain payments or funds from us. Further, we are not immune from the possibility of a malicious insider compromising our information systems and infrastructure or misappropriating our confidential information. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">In particular, severe ransomware attacks are becoming increasingly prevalent, and can lead to significant interruptions in our operations, loss of sensitive data and income, reputational harm, and diversion of funds. Extortion payments may alleviate the negative impact of a ransomware attack, but we may be unwilling or unable to make such payments due to, for example, applicable laws or regulations prohibiting such payments. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We are incorporated into the supply chain of a number of companies worldwide and, as a result, if our services are compromised, a significant number or, in some instances, all of our customers and their data could be simultaneously affected. The potential liability and associated consequences we could suffer as a result of such a large-scale event could be catastrophic and result in irreparable harm. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Future or past business transactions (such as acquisitions or integrations) could expose us to additional cybersecurity risks and vulnerabilities, as our systems could be negatively affected by vulnerabilities present in acquired or integrated entities&#8217; systems and technologies. Furthermore, we may discover security issues that were not found during due diligence of such acquired or integrated entities, and it may be difficult to integrate companies into our information technology environment and security program.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We rely on third-party service providers and technologies to operate critical business systems to process sensitive information in a variety of contexts, including, without limitation, cloud-based infrastructure, data center facilities, encryption and authentication technology, content delivery to customers, and other functions. Like many other companies, our ability to monitor third parties&#8217; information security practices is limited, and these third parties may not have adequate information security measures in place. If our third-party service providers experience a security incident or other interruption, we could experience adverse consequences. While we may be entitled to damages if our third-party service providers fail to satisfy their privacy and data security-related obligations to us, any award may be insufficient to cover our damages, or we may be unable to recover such award.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">In addition, supply-chain attacks have increased in frequency and severity, and we cannot guarantee that third parties&#8217; infrastructure in our supply chain or our third-party partners&#8217; supply chains have not been compromised.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Any of the previously identified or similar threats could cause a security incident or other interruption that could result in unauthorized , unlawful, or accidental acquisition, modification, destruction, loss, alteration, encryption, disclosure of, or access </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">to our sensitive information or our information technology systems, or those of the third parties upon whom we rely. A security incident or other interruption could disrupt our ability (and that of third parties upon whom we rely) to provide our platform, products and services. </span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">In addition, as we expand our emphasis on selling security-related products, we may become a more attractive target for attacks on our infrastructure intended to destabilize, overwhelm, or shut down our platform. For example, we have had security incidents in the past that have tested the limits of our infrastructure and impacted the performance of our platform. </span></div><div style="text-indent:27pt"><span><br/></span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">In addition to experiencing a security incident, third parties may gather, collect, or infer sensitive information about us from public sources, data brokers, or other means that reveals competitively sensitive details about our organization and could be used to undermine our competitive advantage or market position. Further, sensitive information of the Company or our customers could be leaked, disclosed, or revealed as a result of or in connection with our employees&#8217;, personnel&#8217;s, or vendors&#8217; use of generative AI technologies.</span></div><div style="text-indent:27pt"><span><br/></span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Certain privacy and data security obligations may require us to implement and maintain specific security measures or industry-standard or reasonable security measures to protect our information technology systems and sensitive information.</span></div><div style="text-indent:27pt"><span><br/></span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">While we have implemented security measures designed to protect against security incidents, there can be no assurance that these measures will be effective. We take steps to detect and remediate vulnerabilities, but we may not be able to detect and remediate all vulnerabilities because the threats and techniques used to exploit the vulnerability change frequently and are often sophisticated in nature. Therefore, such vulnerabilities could be exploited but may not be detected until after a security incident has occurred. These vulnerabilities pose material risks to our business. Further, we may experience delays in developing and deploying remedial measures designed to address any such identified vulnerabilities. </span></div><div style="text-indent:27pt"><span><br/></span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Applicable privacy and data security obligations may require us to notify relevant stakeholders, including affected individuals, customers, regulators, and investors of security incidents. For example, SEC rules require disclosure on Form 8-K of the nature, scope and timing of any material cybersecurity incident and the reasonably likely impact of such incident. Compliance with such disclosure efforts is costly, and the disclosure or the failure to comply with such requirements could lead to adverse consequences. If we (or a third party upon whom we rely) experience a security incident or are perceived to have experienced a security incident, we may experience adverse consequences, such as government enforcement actions (for example, investigations, fines penalties, audits, and inspections); additional reporting requirements and/or oversight, restrictions on processing sensitive information (including personal data); litigation (including class action claims); indemnification obligations; negative publicity; reputational harm; monetary fund diversions; diversion of management attention; interruptions or degradation of performance in our services (including availability of data); financial loss; and other similar harms. Security incidents and attendant consequences may cause customers to stop using our platform, products, and services, cause us to offer pricing and other concessions, deter new customers from using our platform, products, and services, and negatively impact our ability to grow and operate our business.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our contracts may not contain limitations of liability, and even where they do, there can be no assurance that limitations of liability in our contracts are sufficient to protect us from liabilities, damages, or claims related to our privacy and data security obligations. We cannot be sure that our insurance coverage will be adequate or sufficient to protect us from or to mitigate liabilities arising out of our privacy and data security practices, that such coverage will continue to be available on commercially reasonable terms or at all, or that such coverage will pay future claims.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">If we fail to efficiently develop and sell new products and respond effectively to rapidly changing technology, evolving industry standards, changing regulations, and changing customer needs, requirements, or preferences, our products may become less competitive.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The market in which we compete is relatively new and subject to rapid technological change, evolving industry standards and regulatory changes, as well as changing customer needs, requirements, and preferences. The success of our business will depend, in part, on our ability to adapt and respond effectively to these changes on a timely basis. If we are unable to develop and sell new products that satisfy and are adopted by our customers and provide enhancements, new features, and capabilities to our platform that keep pace with rapid technological and industry change, our revenue and operating results could be adversely affected. Further, some of our prospective customers may require custom development of features as part of their purchase decision, or our existing customers may require us to develop custom features.  If we are unable to meet their requirements, they may look to our competitors or internal solutions that eliminate reliance on third-party providers, and our revenue and operating results could be adversely affected. Further, prioritizing such custom features can be difficult to adapt to other customers and may require significant engineering resources. If new technologies emerge that enable large Internet platform </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">28</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">companies to utilize their own data centers and implement delivery approaches that limit or eliminate reliance on third-party providers like us, or that enable our competitors to deliver competitive products and applications at lower prices, more efficiently, more conveniently, or more securely, such technologies could adversely impact our ability to compete. If our platform does not allow us or our customers to comply with the latest regulatory requirements, our existing customers may decrease their usage on our platform and new customers will be less likely to adopt our platform. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our platform must also integrate with a variety of network, hardware, mobile, and software platforms and technologies, and we need to continuously modify and enhance our products and platform capabilities to adapt to changes and innovation in these technologies. If developers widely adopt new software platforms, we would have to attempt to develop new versions of our products and enhance our platform&#8217;s capabilities to work with those new platforms. These development efforts may require significant engineering, marketing, and sales resources, all of which would affect our business and operating results. Any failure of our platform&#8217;s capabilities to operate effectively with future infrastructure platforms, technologies, and software platforms could reduce the demand for our platform. If we are unable to respond to these changes in a cost-effective manner, our products may become less marketable and less competitive or obsolete, and our business may be harmed. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Moreover, our platform is highly technical and complex. For example, our delivery products rely on knowledge of the VCL to utilize many features of this platform. Potential developers may be unfamiliar or opposed to working with VCL and therefore decide to not adopt our platform, which may harm our business.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">If we fail to forecast our revenue accurately, or if we fail to manage our expenditures, our operating results could be adversely affected.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">We cannot accurately predict customers&#8217; usage or renewal rates given the diversity of our customer base across industries, geographies and size, and ability of customers to allocate usage, among other factors. </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Accordingly, we may be unable to accurately forecast </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">our</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"> revenues. Notwithstanding </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">our</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"> substantial investments in sales and marketing, infrastructure, and research and development in anticipation of growth in our business, i</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">f we do not realize returns on these investments in our growth, our results of operations could differ materially from our forecasts, which would adversely affect our results of operations and could disappoint analysts and investors, causing our stock price to decline.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Failure to effectively develop and expand our marketing and sales capabilities could harm our ability to increase our customer base and achieve broader market acceptance of our platform.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have historically benefited from word-of-mouth and other organic marketing to attract new customers. Through this word-of-mouth marketing, we have been able to build our brand with relatively low marketing and sales costs. This strategy has allowed us to build a substantial customer base and community of users who use our products and act as advocates for our brand and our platform, often within their own corporate organizations. However, our ability to further increase our customer base and achieve broader market acceptance of our products will significantly depend on our ability to expand our marketing and sales operations. We plan to continue expanding our sales force and strategic partners, both domestically and internationally. We also plan to continue to dedicate significant resources to sales, marketing, and demand-generation programs, including various online marketing activities as well as targeted account-based advertising. The effectiveness of our targeted account-based advertising has varied over time and may vary in the future. All of these efforts will require us to invest significant financial and other resources and if they fail to attract additional customers, our business will be harmed. We have also used a strategy of offering free trial versions of our platform in order to strengthen our relationship and reputation within the developer community by providing these developers with the ability to familiarize themselves with our platform without first becoming a paying customer. However, these developers may not perceive value in the additional benefits and services we offer beyond the free trial versions of our platform and may choose not to pay for those additional benefits. Moreover, some existing paying customers may choose not to renew their commitment with us in favor of relying on the free version of our platform. Most trial accounts do not convert to paid versions of our platform, and to date, only a few users who have converted to paying customers have gone on to generate meaningful revenue. If our other lead generation methods do not result in broader market acceptance of our platform and the users of trial versions of our platform do not become, or are unable to convince their organizations to become, paying customers, or if paying customers choose to convert to the free versions of our platform, we will not realize the intended benefits of this strategy, and our business will be harmed.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We believe that there is significant competition for sales personnel, including sales representatives, sales managers, and sales engineers, with the skills and technical knowledge that we require. Our ability to achieve significant revenue growth will depend, in large part, on our success in recruiting, training, incentivizing, and retaining sufficient numbers of sales personnel to </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">29</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">support our growth. New hires require significant training and may take significant time before they achieve full productivity. Our recent hires may not become productive as quickly as we expect, if at all, and we may be unable to hire or retain sufficient numbers of qualified individuals in the markets where we do business or plan to do business. In addition, particularly if we continue to grow rapidly, new members of our sales force will have relatively little experience working with us, our platform, and our business model. If we are unable to hire and train sufficient numbers of effective sales personnel, our sales personnel do not reach significant levels of productivity in a timely manner, our sales personnel are not effectively incentivized, or our sales personnel are not successful in acquiring new customers or expanding usage by existing customers, our business will be harmed.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">The markets in which we participate are competitive, and if we do not compete effectively, our business will be harmed.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The market for cloud computing platforms, particularly enterprise grade products, is highly fragmented, competitive, and constantly evolving. With the introduction of new technologies and market entrants, we expect that the competitive environment in which we compete will remain intense going forward. Application and API security vendors like Akamai, Amazon Web Services (&#8220;AWS&#8221;), Cloudflare, F5, and Thales (Imperva) offer products that compete with ours. We also compete with CDN providers, which now offer serverless edge compute functionality like Akamai (Linode), and Cloudflare, cloud hosting providers (or public cloud providers) that have added CDN and WAF capabilities like Alphabet (Google Cloud Platform), AWS, and Microsoft (Azure), legacy CDNs, such as Akamai and Edgio, point CDN players like Bunny CDN, CDNetworks, and CDN77, and traditional on-premise data center appliance vendors for load balancing, WAF, and DDoS like F5, Thales (Imperva), NetScaler and Radware. Some of our competitors have made or may make acquisitions or may enter into partnerships or other strategic relationships that may provide more comprehensive offerings than they individually had offered. Such acquisitions or partnerships may help competitors achieve greater economies of scale than us. In addition, new entrants not currently considered to be competitors may enter the market through acquisitions, partnerships, or strategic relationships. We compete on the basis of a number of factors, including:</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;padding-left:13.8pt">our platform&#8217;s functionality, scalability, performance, ease of use, ease of integration and programmability, reliability, security availability, and cost effectiveness relative to that of our competitors&#8217; products and services;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">our global network coverage and availability;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">our ability to support modern application development processes and utilize new and proprietary technologies to offer services and features previously not available in the marketplace;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">our ability to identify new markets, applications, and technologies;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">our ability to attract and retain customers;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">our brand, reputation, and trustworthiness;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">our credibility with developers;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">the quality of our customer support;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">our ability to recruit software engineers and sales and marketing personnel; </span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">our ability to protect our intellectual property; and</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">our ability to identify opportunities for acquisitions and strategic relationships and successfully execute on them.</span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We face substantial competition from legacy CDNs, small business-focused CDNs, cloud providers, traditional data center, and appliance vendors. In addition, existing customers have transitioned or notified us of their intent to transition, and existing and potential customers may in the future transition, off of our platform, or may limit their use, because they pursue a &#8220;do-it-yourself&#8221; approach to develop their own CDN by putting in place equipment, software, and other technology products </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">30</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">for content and application delivery within their internal systems; enter into relationships directly with network providers instead of relying on an overlay network like ours; or implement multi-vendor policies to reduce reliance on external providers like us.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our competitors vary in size and in the breadth and scope of the products and services offered. Many of our competitors and potential competitors have greater name recognition, longer operating histories, more established customer relationships and installed customer bases, larger marketing budgets, and greater resources than we do. While some of our competitors provide a platform with applications to support one or more use cases, many others provide point-solutions that address a single use case. Other potential competitors not currently offering competitive applications may expand their product offerings, and our current customers may develop their own products or features, to compete with our offerings. Our competitors may be able to respond more quickly and effectively than we can to new or changing opportunities, technologies, standards, and customer requirements. An existing competitor or new entrant could introduce new technology that reduces demand for our platform. In addition to application and technology competition, we face pricing competition. Some of our competitors offer their applications or services at a lower price, which has resulted in pricing pressures. Some of our larger competitors have the operating flexibility to bundle competing applications and services with other offerings, including offering them at a lower price or for no additional cost to customers as part of a larger sale of other products. For all of these reasons, we may not be able to compete successfully and competition could result in the failure of our platform to achieve or maintain market acceptance, the market for our edge cloud platform may grow more slowly than we anticipate, any of which could harm our business.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">If we fail to maintain and enhance our brand, our ability to expand our customer base will be impaired and our business, results of operations and financial condition may suffer.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We believe that maintaining and enhancing our brand is important to continued market acceptance of our existing and future products, attracting new customers, and retaining existing customers. We also believe that the importance of brand recognition will increase as competition in our market increases. Successfully maintaining and enhancing our brand will depend largely on the effectiveness of our marketing efforts, our ability to provide reliable products that continue to meet the needs of our customers at competitive prices, our ability to maintain our customers&#8217; trust, our ability to continue to develop new functionality and products, and our ability to successfully differentiate our platform from competitive products and services. Additionally, our brand and reputation may be affected if customers do not have a positive experience with our partners&#8217; services. Our brand promotion activities may not generate customer awareness or yield increased revenue, and even if they do, any increased revenue may not offset the expenses we incurred in building our brand. If we fail to successfully promote and maintain our brand, our business may be harmed.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Acquisitions, strategic investments, partnerships, or alliances could be difficult to identify and integrate, divert the attention of management, disrupt our business, and dilute stockholder value</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have in the past acquired, and we may in the future seek to acquire or invest in, businesses, products, or technologies that we believe could complement or expand our platform, enhance our technical capabilities, or otherwise offer growth opportunities. Our acquisitions of Glitch and Signal Sciences reflect this strategy. The pursuit of potential acquisitions may divert the attention of management and cause us to incur various expenses in identifying, investigating, and pursuing acquisitions, whether or not such acquisitions are completed. In addition, we have limited experience in acquiring other businesses and we may not successfully identify desirable acquisition targets or, when we acquire additional businesses, we may not be able to integrate them effectively following the acquisition. Acquisitions could also result in dilutive issuances of equity securities or the incurrence of debt, which could adversely affect our operating results, may cause unfavorable accounting treatment, may expose us to claims and disputes by third parties, including intellectual property claims, and may not generate sufficient financial returns to offset additional costs and expenses related to the acquisitions. We may also incur significant, and sometimes unanticipated costs in connection with these acquisitions or in integration with our business. In addition, if an acquired business fails to meet our expectations or we do not realize sufficient value, our business may be harmed.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Further, it is possible that there could be a loss of our existing or any acquired company&#8217;s key employees and customers, disruption of either company&#8217;s or both companies&#8217; ongoing businesses or unexpected issues, higher than expected costs and an overall post-completion process that takes longer than originally anticipated. Specifically, the following issues, among others, must be addressed in combining any company&#8217;s operations with ours in order to realize the anticipated benefits of the acquisition so the combined company performs as the parties hope:</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">31</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;padding-left:13.8pt">combining the companies&#8217; corporate functions;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;padding-left:13.8pt">combining their business with our business in a manner that permits us to achieve the synergies anticipated to result from the acquisition, the failure of which would result in the anticipated benefits of the acquisition not being realized in the time frame currently anticipated or at all;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">maintaining existing and new agreements with customers, service providers, and vendors;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">determining whether and how to address possible differences in corporate cultures, management philosophies and strategies relating to channels, resellers, and partners;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">integrating the companies&#8217; administrative and information technology infrastructure;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">developing products and technology that allow value to be unlocked in the future; and</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">evaluating and forecasting the financial impact of the acquisition transaction, including accounting impacts.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Failure to address any of the above listed issues could have a material adverse effect on our business, results of operations and financial position. In addition, at times the attention of certain members of our management and resources may be focused on completion of the acquisition and integration planning of the businesses of the two companies and diverted from day-to-day business operations, which may disrupt our ongoing business and the business of the combined company. For example, certain members of our management team and other personnel spent significant time on the acquisition and integration of Signal Sciences.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We have previously been and may in the future be involved in class-action lawsuits and other litigation matters that are expensive and time-consuming. If resolved adversely, lawsuits and other litigation matters could seriously harm our business.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">We have previously been and may in the future be subject to litigation such as putative class action and shareholder derivative lawsuits brought by stockholders. We anticipate that we will be a target for lawsuits in the future, as we have been in the past. Any litigation to which we are a party may result in an onerous or unfavorable judgment that may not be reversed on appeal, or we may decide to settle lawsuits on similarly unfavorable terms. Any such negative outcome could result in payments of substantial monetary damages and accordingly our business could be seriously harmed. The results of lawsuits and claims cannot be predicted with certainty. Regardless of the final outcome, defending these claims, and associated indemnification obligations, are costly and can impose a significant burden on management and employees, and we may receive unfavorable preliminary, interim, or final rulings in the course of litigation, which could seriously harm our business.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We may not be able to scale our business quickly enough to meet our customers&#8217; growing needs. If we are not able to grow efficiently, our business could be harmed.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As usage of our edge cloud computing platform grows and as the breadth of use cases for our platform expands, we will need to devote additional resources to improving our platform architecture, integrating with third-party applications and maintaining infrastructure performance. In addition, we will need to appropriately scale our processes and procedures that support our growing customer base, including increasing our number of POPs around the world and investments in systems, training, and customer support.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Any failure of or delay in these efforts could cause impaired system performance and reduced customer satisfaction. These issues could reduce the attractiveness of our platform to customers, resulting in decreased sales to new customers, lower renewal rates by existing customers, the issuance of service credits, or requested refunds, which would hurt our revenue growth and our reputation. Even if we are able to upgrade our systems and expand our staff, any such expansion will be expensive and complex, and require the dedication of significant management time and attention. We could also face inefficiencies or operational failures as a result of our efforts to scale our cloud infrastructure, such as by over investing in systems and equipment to support anticipated growth in our platform. We cannot be sure that the expansion and improvements to our cloud infrastructure will be effectively implemented on a timely basis, if at all, and such failures would harm our business.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">32</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We may have insufficient transmission bandwidth and colocation space, which could result in disruptions to our platform and loss of revenue.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our operations are dependent in part upon transmission bandwidth provided by third-party telecommunications network providers and access to colocation facilities to house our servers. There can be no assurance that we are adequately prepared for unexpected increases in bandwidth demands by our customers, particularly when customers experience cyber-attacks. The bandwidth we have contracted to purchase may become unavailable for a variety of reasons, including service outages, payment disputes, network providers going out of business, natural disasters, networks imposing traffic limits, or governments adopting regulations that impact network operations. In some regions, bandwidth providers have their own services that compete with us, or they may choose to develop their own services that will compete with us. These bandwidth providers may become unwilling to sell us adequate transmission bandwidth at fair market prices, if at all. This risk is heightened where market power is concentrated with one or a few major networks. We also may be unable to move quickly enough to augment capacity to reflect growing traffic or security demands. Failure to put in place the capacity we require could result in a reduction in, or disruption of, service to our customers and ultimately a loss of those customers. Such a failure could result in our inability to acquire new customers demanding capacity not available on our platform.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">The nature of our business exposes us to inherent liability risks.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our platform and related applications, including our security solutions, are designed to provide rapid protection against web application vulnerabilities and cyber-attacks. However, no security product can provide absolute protection against all vulnerabilities and cyber-attacks. Our platform is subject to cyber-attacks, and the failure of our platform and related applications to adequately protect against these cyber-attacks may allow our customers to be attacked. Any adverse consequences of these attacks, and our failure to meet our customers&#8217; expectations as they relate to such attacks, could harm our business.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due to the nature of our applications, we are potentially exposed to greater risks of liability for product or system failures than may be inherent in other businesses. Although substantially all of our customer agreements contain provisions that limit our liability to our customers, these limitations may not be sufficient, and we cannot assure you that these limitations will be enforced or the costs of any litigation related to actual or alleged omissions or failures would not have a material adverse effect on us even if we prevail.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Our dedication to our values may negatively influence our financial results.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">We have taken, and may continue to take, actions that we believe are in the best interests of our customers, our employees, and our business, even if those actions do not maximize financial results in the short term. For instance, we do not knowingly allow our platform to be used to deliver content from groups that promote violence or hate, and that conflict with our values like strong ethical principles of integrity and trustworthiness, among others. In the past, we have removed customers from our platform who we believed took positions conflicting with these values, and we may continue to do so in the future.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:112%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">However, this approach may not result in the benefits that we expect, and our employees or third parties may disagree with our interpretation of our values, or take issue with how we execute on our values, which may result in us becoming a target for negative publicity, increased scrutiny, lawsuits, or network attacks, in which case our business could be harmed.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Our growth depends in large part on the success of our partner relationships.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We maintain a partner ecosystem of companies who build edge applications to integrate with our platform. We are dependent on these partner relationships to amplify our reach and provide our customers with enhanced value from our platform. Our future growth will be increasingly dependent on the success of our partner relationships, including their development of useful applications for our platform. If those partnerships do not provide these benefits or if our partners are unable to serve our customers effectively, we may need to allocate resources internally to provide these services or our customers may not realize the full value of our platform, which could harm our business.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Moreover, our partners&#8217; business partners may not completely align with our core values and therefore may do business with companies that we otherwise would not do business with. Our association with these companies could damage our brand and reputation and potentially harm our business.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">33</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We operate in an emerging and evolving market, which may develop more slowly or differently than we expect. If our market does not grow as we expect, or if we cannot expand our services to meet the demands of this market, our revenue may decline, or fail to grow, and we may incur operating losses.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The market for edge computing is still developing. There is considerable uncertainty over the size and rate at which this market will grow, as well as whether our platform will be widely adopted. Our success will depend, to a substantial extent, on the widespread adoption of our platform as an alternative to other solutions, such as legacy CDNs, and CDNs focused on enterprise data centers, central cloud, and small businesses. Some organizations may be reluctant or unwilling to use our platform for a number of reasons, including concerns about additional costs, uncertainty regarding the reliability, and security of cloud-based offerings or lack of awareness of the benefits of our platform. Moreover, many organizations have invested substantial personnel and financial resources to integrate traditional on-premise services into their businesses, and therefore may be reluctant or unwilling to migrate to cloud-based services. Our ability to expand sales of our product into new and existing markets depends on several factors, including potential customer awareness of our platform; the timely completion of data centers in those markets; introduction and market acceptance of enhancements to our platform or new applications that we may introduce; our ability to attract, retain and effectively train sales and marketing personnel; our ability to develop relationships with partners; the effectiveness of our marketing programs; the pricing of our services; and the success of our competitors. If we are unsuccessful in developing and marketing our product into new and existing markets, or if organizations do not perceive or value the benefits of our platform, the market for our product might not continue to develop or might develop more slowly than we expect, either of which may harm our business.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">The estimates of market opportunity and forecasts of market growth may prove to be inaccurate, and any real or perceived inaccuracies may harm our reputation and negatively affect our business. Even if the market in which we compete achieves the forecasted growth, our business could fail to grow at similar rates, if at all.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Third-party market opportunity estimates and our growth forecasts are subject to significant uncertainty and are based on assumptions and estimates that may not prove to be accurate. The variables that go into the calculation of our market opportunity are subject to change over time, and there is no guarantee that any particular number or percentage of addressable companies or end-users covered by our market opportunity estimates will purchase our products at all or generate any particular level of revenues for us. Even if the market in which we compete meets the size estimates and growth forecasted, our business could fail to grow for a variety of reasons, including reasons outside of our control, such as competition in our industry.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Usage of our platform accounts for substantially all of our revenue, and as a result, our operating results could suffer from a reduction in usage.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We expect that we will be substantially dependent on our edge cloud platform to generate revenue for the foreseeable future. As a result, our operating results could suffer due to:</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;padding-left:13.8pt">any decline in demand for our edge cloud platform;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">the failure of our edge cloud platform to achieve continued market acceptance;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">the market for edge cloud computing services not continuing to grow, or growing more slowly than we expect;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">the introduction of products and technologies that serve as a replacement or substitute for, or represent an improvement over, our edge cloud platform;</span></div><div style="margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">technological innovations or new standards that our edge cloud platform does not address;</span></div><div style="margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">sensitivity to current or future prices offered by us or our competitors;</span></div><div style="margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">our customers&#8217; development of their own edge cloud platform; and</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">our inability to release enhanced versions of our edge cloud platform on a timely basis.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">34</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition, because substantially all of our revenue from usage is recognized during the term of the relevant contract upon usage, downturns or upturns in sales contracts are not immediately reflected in full in our operating results. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">If the market for our edge cloud platform grows more slowly than anticipated or if demand for our edge cloud platform does not grow as quickly as anticipated, whether as a result of competition, pricing sensitivities, product obsolescence, technological change, unfavorable economic conditions, uncertain geopolitical environment, budgetary constraints of our customers, or other factors, our business would be harmed.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We expect fluctuations in our financial results and key metrics, making it difficult to project future results, and if we fail to meet the expectations of securities analysts or investors, our stock price and the value of your investment could decline significantly.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our operating results, including revenue, gross margin and net income, as well as our key metrics, including our DBNER, NRR and LTM NRR, have fluctuated in the past and are expected to fluctuate in the future due to a variety of factors, many of which are outside of our control. As a result, our past results may not be indicative of our future performance and period-to-period comparisons of our operating results and key metrics may not be meaningful or accurately measure our business. In addition to the other risks described herein, factors that may affect our operating results include the following:</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;padding-left:13.8pt">fluctuations in demand for or pricing of our platform;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">our ability to attract new customers;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">our ability to retain our existing customers;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">fluctuations in the usage of our platform by our customers, which is directly related to the amount of revenue that we recognize from our customers;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">fluctuations in customer delays in purchasing decisions in anticipation of new products or product enhancements by us or our competitors;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">changes in customers&#8217; budgets and in the timing of their budget cycles and purchasing decisions;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">the timing of customer payments and any difficulty in collecting accounts receivable from customers;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">timing of new functionality of our existing platform;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">our ability to control costs, including our operating expenses and transmission bandwidth pricing;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">the amount and timing of payment for operating expenses, particularly research and development and sales and marketing expenses, including commissions;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">the amount and timing of costs associated with recruiting, training, and integrating new employees;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">the effects of acquisitions or other strategic transactions;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">expenses in connection with acquisitions or other strategic transactions;</span></div><div style="margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">our ability to successfully deploy POPs in new regions;</span></div><div style="margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">general economic conditions, both domestically and internationally, as well as economic conditions specifically affecting industries in which our customers participate;</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">35</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">the ability to maintain our partnerships;</span></div><div style="margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">the impact of new accounting pronouncements;</span></div><div style="margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">changes in the competitive dynamics of our market, including consolidation among competitors or customers;</span></div><div style="margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">significant security breaches of, technical difficulties with, or interruptions to, the delivery and use of our platform; and</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">awareness of our brand and our reputation in our target markets.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Additionally, certain large scale events, such as major elections and sporting events, can significantly impact usage of our platform, which could cause fluctuations in our results of operations. While increased usage of our platform during these events could result in increased revenue, these seasonal and one-time events could also impact the performance of our platform during those events and lead to a sub-optimal experience for some customers. Such annual and one-time events may cause fluctuations in our results of operations as they would impact both our revenue and our operating expenses.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Any of the foregoing and other factors may cause our results of operations to vary significantly. Furthermore, if our quarterly results of operations or our guidance fall below the expectations of investors and securities analysts who follow our stock, the price of our Class A common stock could decline substantially, and our business could be harmed. We cannot assure you that our operating results or projected operating results will meet the expectations of market analysts or our investors. </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Our pricing models subject us to various challenges that could make it difficult for us to derive sufficient value from our customers, and we do not have sufficient history with our pricing models to accurately predict the optimal pricing necessary to attract new customers and retain existing customers.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We generally charge our customers for their usage of our platform based on the combined total usage, as well as the features and functionality enabled. Additionally, once our product is purchased, customers can also buy a combination of our add-on products. We do not know whether our current or potential customers or the market in general will continue to accept this pricing model going forward and, if it fails to gain acceptance, our business could be harmed. We also generally purchase bandwidth from Internet service providers and server colocation space from third parties based on expected usage from our customers. Moreover, if our customers use our platform in a manner that is inconsistent with how we have purchased bandwidth, servers, and colocation space, our business could be harmed.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have limited experience with respect to determining the optimal prices for our products and, as a result, we have in the past changed our pricing model and expect that we may need to do so in the future, including as a result of inflationary pressures. In addition, during 2023 we introduced the option for customers to purchase product packages with single price points and set limits on usage. We do not charge for overages on these single price point product packages. We do not know whether our current or potential customers will accept these packages or the impact these packages will have on our existing usage-based pricing model. As the market for our products matures, or as new competitors introduce new products or services that compete with ours, we may be unable to attract new customers at the same price or based on the same pricing models as we have used historically. Pricing decisions may also impact the mix of adoption among our customers and negatively impact our overall revenue. Moreover, larger organizations may demand substantial price concessions. As a result, in the future we may be required to reduce our prices or develop new pricing models, which could adversely affect our revenue, gross margin, profitability, financial position, and cash flow.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Our sales and onboarding cycles with customers can be long and unpredictable, and our sales and onboarding efforts require considerable time and expense.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The timing of our sales with our enterprise customers and related revenue recognition is difficult to predict because of the length and unpredictability of the sales cycle for these customers. In addition, for our enterprise customers, the lengthy sales cycle for the evaluation and implementation of our products may also cause us to experience a delay between expenses for such sales efforts and the generation of corresponding revenue. The length of our sales cycle for these customers, from initial evaluation to payment, can range from several months to well over a year and can vary substantially from customer to customer. Similarly, the onboarding and ramping process with new enterprise customers, or with existing customers that are </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">36</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">moving additional traffic onto our platform, can take several months. As the purchase of our products can be dependent upon customer initiatives, our sales cycle can extend to even longer periods of time. Customers often view a switch to our platform as a strategic decision requiring significant investment and, as a result, frequently require considerable time to evaluate, test, and qualify our product offering prior to entering into or expanding a contract commitment. During the sales cycle, we expend significant time and money on sales and marketing and contract negotiation activities, which may not result in a completed sale. Additional factors that may influence the length and variability of our sales cycle include:</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;padding-left:13.8pt">the effectiveness of our sales force, particularly new salespeople and sales leadership, as we increase the size of our sales force and train our new salespeople to sell to enterprise customers;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">the discretionary nature of customers&#8217; purchasing decisions and budget cycles;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">customers&#8217; procurement processes, including their evaluation of competing products;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">economic conditions and other factors affecting customer budgets;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">the regulatory environment in which our customers operate;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">integration complexity for a customer deployment;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">the customer&#8217;s familiarity with edge cloud computing platforms;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">evolving customer demands; </span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">selling new products to enterprise customers; and</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">competitive conditions.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Given these factors, it is difficult to predict whether and when a customer will switch to our platform.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Given that it can take several months for our customers to ramp up their usage of our platform, during that time, we may not be able to generate enough revenue from a particular customer or that customer may not increase their usage in a meaningful way. Moreover, because the switching costs are fairly low, our customers are able to switch from our platform to alternative services relatively easily. As a result, actual usage could be materially below our forecasts, which could adversely affect our results of operations, disappoint analysts and investors, or cause our stock price to decline.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">If our platform does not achieve sufficient market acceptance, our financial results and competitive position will suffer.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">To meet our customers&#8217; rapidly evolving demands, we invest substantial resources in research and development of enhanced products to incorporate additional functionality or expand the use cases that our platform addresses. Maintaining adequate research and development resources, such as the appropriate personnel and development technology, to meet the demands of the market is essential. If we are unable to develop products internally due to inadequate or ineffective research and development resources, we may not be able to address our customers&#8217; needs on a timely basis or at all. In addition, if we seek to supplement our research and development capabilities or the breadth of our products through acquisitions, such acquisitions could be expensive and we may not successfully integrate acquired technologies or businesses into our business. When we develop or acquire new or enhanced products, we typically incur expenses and expend resources upfront to develop, market, promote, and sell the new offering. Therefore, when we develop or acquire and introduce new or enhanced products, they must achieve high levels of market acceptance in order to justify the amount of our investment in developing or acquiring and bringing them to market. Our new products or enhancements and changes to our existing products could fail to attain sufficient market acceptance for many reasons, including:</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">failure to predict market demand accurately in terms of functionality and a failure to supply products that meet this demand in a timely fashion;</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">37</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">defects, errors, or failures;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">negative publicity about our platform&#8217;s performance or effectiveness;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">changes in the legal or regulatory requirements, or increased legal or regulatory scrutiny, adversely affecting our platform;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">emergence of a competitor that achieves market acceptance before we do;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">delays in releasing enhancements to our platform to the market; and</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">introduction or anticipated introduction of competing products by our competitors.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">If our platform and any future enhancements do not achieve adequate acceptance in the market, or if products and technologies developed by others achieve greater acceptance in the market, our business could be harmed.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Beyond overall acceptance of our platform by our customers, it is important that we maintain and grow acceptance of our platform among the developers that work for our customers. We rely on developers to choose our platform over other options they may have, and to continue to use and promote our platform as they move between companies. These developers often make design decisions and influence the product and vendor processes within our customers. If we fail to gain or maintain their acceptance of our platform, our business would be harmed.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We rely on third-party hosting providers that may be difficult to replace.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We rely on third-party hosting services such as AWS, Google Cloud Platform, Microsoft (Azure), and other cloud providers that facilitate the offering of our platform. Some of these third-party hosting services offer competing products to ours and therefore may not continue to be available on commercially reasonable terms, or at all. These providers may be unwilling to do business with us if they view our platform as a threat. Any loss of the right to use any of the hosting providers could impair our ability to offer our platform and harm our business until we are able to obtain alternative hosting providers.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">If we do not or cannot maintain the compatibility of our platform with third-party applications that our customers use in their businesses, our business will be harmed.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Because our customers choose to integrate our products with certain capabilities provided by third-party providers, the functionality and popularity of our platform depends, in part, on our ability to integrate our platform and applications with third-party applications. These third parties may change the features of their technologies, restrict our access to their applications, or alter the terms governing use of their applications in a manner that is adverse to our business. Such changes could functionally limit or prevent our ability to use these third-party technologies in conjunction with our platform, which would negatively affect adoption of our platform and harm our business. If we fail to integrate our platform with new third-party applications that our customers use, we may not be able to offer the functionality that our customers need, which would harm our business.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We provide service level commitments under our customer agreements. If we fail to meet these contractual commitments, we could be obligated to provide credits for future service, or face contract termination with refunds of prepaid amounts, which could harm our business.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Most of our customer agreements contain service level commitments. If we are unable to meet the stated service level commitments, including failure to meet the uptime and delivery requirements under our customer agreements, we may be contractually obligated to provide the affected customers with service credits which could significantly affect our revenues in the periods in which the uptime and delivery failure occurs and the credits are applied. In the past, as a result of degradation of service and interruptions to our platform, we have provided service credits to certain of our affected customers with whom we had service level commitments. We could also face customer terminations with refunds of prepaid amounts, which could significantly affect both our current and future revenues. Any service level failures could harm our business.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">38</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">If we fail to offer high quality support, our business may be harmed.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our customers rely on our support team to assist them in deploying our products effectively and resolve technical and operational issues. High-quality support is important for the renewal and expansion of our agreements with existing customers. The importance of maintaining high quality support will increase as we expand our business and pursue new customers. If we do not help our customers quickly resolve issues and provide effective ongoing support, our ability to maintain and expand our relationships with existing and new customers could suffer and our business could be harmed. Further, increased demand for customer support, without corresponding revenue, could increase costs and adversely affect our business. In addition, as we continue to grow our operations and expand internationally, we will need to be able to provide efficient customer support that meets our customers&#8217; needs globally at scale and our customer support team will face additional challenges, including those associated with delivering support and documentation in multiple languages. Our failure to do so could harm our business.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Investors&#8217; expectations of our performance relating to environmental, social and governance factors may impose additional costs and expose us to new risks.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There is an increasing focus from certain investors, employees, and other stakeholders concerning corporate responsibility, specifically related to environmental, social, and governance matters (&#8220;ESG&#8221;). Some investors may use these non-financial performance factors to guide their investment strategies and, in some cases, may choose not to invest in us if they believe our ongoing policies and actions relating to corporate responsibility are inadequate. We may face reputational damage in the event that we do not meet the ESG standards set by various constituencies. Furthermore, if our competitors&#8217; corporate social responsibility performance is perceived to be better than ours, potential or current investors may elect to invest with our competitors instead. In addition, in the event that we communicate certain initiatives and goals regarding environmental, social, and governance matters, we could fail, or be perceived to fail, in our achievement of such initiatives or goals, or we could be criticized for the scope of such initiatives or goals. If we fail to satisfy the expectations of investors, employees and other stakeholders or our initiatives are not executed as planned, our business may be harmed.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Risks Related to Employees and Managing Our Growth</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">The failure to attract and retain qualified personnel could prevent us from executing our business strategy.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">To execute our business strategy, we must attract and retain highly qualified personnel. Competition for executive officers, software developers, sales personnel, product managers, and other key employees in our industry is intense. In particular, we compete with many other companies for software developers with high levels of experience in designing, developing, and managing cloud-based software, as well as for skilled sales, operations, and security professionals. In addition, we believe that the success of our business and corporate culture depends on employing people with a variety of backgrounds and experiences, and the competition for such diverse personnel is significant. The market for such talented personnel is competitive. Many of the companies with which we compete for experienced personnel have greater resources than we do and can frequently offer such personnel substantially greater compensation than we can offer, including, in some cases, large equity packages and cash incentive bonuses. In addition, prospective and existing employees often consider the value of the equity awards they receive in connection with their employment. If the perceived value of our equity awards declines, experiences significant volatility, or increases such that prospective employees believe there is limited upside to the value of our equity awards, it may adversely affect our ability to recruit and retain key employees. In order to manage attrition, including as a result of recent stock price decreases and market volatility on the perceived value of our equity awards, we have issued, and may continue to issue, additional equity awards and increased cash compensation to attract and retain employees, which may impact our results of operations or be dilutive to stockholders. Moreover, the increase in the number of equity awards has reduced the number of shares available for us to grant under our equity incentive plan. We also face significant competition in hiring and attracting qualified employees in all aspects of our business, and the move by companies to offer a remote or hybrid work environment has increased the competition for such employees.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:112%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">If we fail to attract new personnel or fail to retain and motivate our current personnel, our ability to maintain and enhance our platform, develop and deliver new products, fix bugs, support our existing customers, attract new customers, respond to competitive pressures, and otherwise execute our business plan would be harmed. </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">39</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We rely on the performance of highly skilled personnel, including our senior management and other key employees, and the loss or transition of one or more of such personnel, or of a significant number of our team members, could harm our business.</span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">We believe that our success has depended, and continues to depend, on the efforts and talents of senior management and key employees, including Artur Bergman, our Chief Architect and Todd Nightingale, our Chief Executive Officer. There have been, and from time to time, there may continue to be, changes in our management team resulting from the hiring or departure of executives and key employees, or the transition of executives within our business, which could disrupt our business. For example, Todd Nightingale began serving as our new Chief Executive Officer, effective September 1, 2022. Such changes in our executive management team may be disruptive to our business. Some of our executive officers and members of our management team have been with us for a short period of time and we continue to develop key functions within various aspects of our business. We are also dependent on the continued service of our existing software engineers because of the complexity of our platform. Our senior management, including Mr. Nightingale and Mr. Bergman, and key employees are employed on an at-will basis. We cannot ensure that we will be able to retain the services of any member of our senior management or other key employees or that we would be able to timely replace members of our senior management or other key employees should any of them depart. The loss of one or more of our senior management or other key employees could harm our business.</span></div><div style="text-indent:27pt"><span><br/></span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Our past growth may not be indicative of our future growth and we may not be able to manage our growth effectively.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We have experienced growth in various aspects of our business in prior periods. For example, for the years ended December&#160;31, 2023, 2022, and 2021, our revenue was $506.0&#160;million, $432.7&#160;million and $354.3&#160;million, respectively. In addition, we are expanding, and expect to continue to expand in the future, our international operations. We have also experienced growth in the number of customers, usage, and amount of data delivered across our platform. This growth has placed, and may continue to place, significant demands on our corporate culture, operational infrastructure, and management. Although our business has experienced growth in the past, we cannot provide any assurance that our business will continue to grow at the same rate, or at all. Overall growth of our business depends on a number of factors, including our ability to:</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;padding-left:13.8pt">address new and developing markets, such as large enterprise customers outside the United States;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">recruit, hire, train, and manage additional qualified engineers and product managers;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">recruit, hire, train, and manage additional sales and marketing personnel;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">maintain and enhance our corporate culture;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">expand our international operations;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">establish more mature organizational designs and structures, with more skill, technical and leadership depth with experience scaling and expanding global businesses;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">implement and improve our administrative, financial and operational systems, procedures, and controls;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">attract new customers and increase our existing customers&#8217; usage on our platform;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">expand the functionality and use cases for the products we offer on our platform;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">provide our customers with customer support that meets their needs; </span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">successfully identify and acquire or invest in businesses, products, or technologies that we believe could complement or expand our products; and </span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">recruit experienced leaders and strategists to facilitate successful acquisitions and integrations.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We may not successfully accomplish any of the above objectives. We expect to continue to expend substantial financial and other resources on:</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;padding-left:13.8pt">sales and marketing, including a significant expansion of our sales organization;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">our infrastructure, including POP deployments, systems architecture, management tools, scalability, availability, performance, and security, as well as disaster recovery measures;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">product development, including investments in our product development team and the development of new products and new functionality for our existing products;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">acquisitions or strategic investments;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">international expansion; and</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">general administration, including legal and accounting expenses associated with being a public company.</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">These activities will require significant investments and allocation of valuable management and employee resources, and our growth will continue to place significant demands on our management and our operational and financial infrastructure. There are no guarantees we will be able to grow our business in an efficient or timely manner, or at all. If we fail to manage the growth of our business and operations effectively, the quality of our services and the efficiency of our operations could suffer, which could adversely affect our business, financial condition, and results of operations. If we are unable to return to our prior level of growth, our business will be harmed. </span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition, our past rapid growth may make it difficult to evaluate our future performance. Our ability to forecast our future results of operations is subject to a number of uncertainties. If we fail to achieve the necessary level of efficiency in our company as it grows, or if we are not able to accurately forecast future growth, our business would be negatively impacted.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">If we cannot maintain our company culture as we grow, our success and our business may be harmed.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We believe our culture has been a key contributor to our success to date and that the critical nature of the products that we provide promotes a sense of greater purpose and fulfillment in our employees. Any failure to preserve our culture could negatively affect our ability to recruit and retain personnel and to effectively focus on and pursue our corporate objectives. As we grow and develop the systems and processes associated with being a public company, we may find it difficult to maintain these important aspects of our culture. In addition, while we have historically benefited from having a dispersed workforce, as we have grown and our resources have become more globally dispersed and our organizational management structures have become more complex, we have found it increasingly difficult to maintain these beneficial aspects of our corporate culture. In addition, we may seek to acquire or invest in businesses, products or technologies with differing corporate cultures that could be difficult to integrate. If we fail to maintain our company culture, our business may be harmed.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Risks Related to Our Financial Position and Need for Additional Capital</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Our ability to timely raise capital in the future may be limited, or may be unavailable on acceptable terms, if at all,  and debt or equity issued to raise additional capital may reduce the value of our Class A common stock.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have funded our operations since inception primarily through payments received from our customers, sales of equity and debt securities, and borrowings under our credit facilities. We cannot be certain when or if our operations will generate sufficient cash to fully fund our ongoing operations or the growth of our business, or our debt obligations. We also intend to continue to make investments to support our business and may require additional funds to do so. Our future capital requirements may vary materially from those currently planned and will depend on many factors, including our growth rate, our operating cash flow, market acceptance of our platform, the expansion of sales and marketing activities, strategic transactions, as well as overall economic conditions. </span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">We may need to engage in equity or debt financings to secure additional funds, in particular if we are required to repay our outstanding convertible notes in cash. Additional financing may not be available on favorable terms, if at all, and any additional financing will need to be in compliance with the terms of our Credit Agreement with the lenders from time to time party thereto and First-Citizens Bank &amp; Trust Company (successor by purchase to the Federal Deposit Insurance Corporation as </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">41</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Receiver for Silicon Valley Bridge Bank, N.A. (as successor to Silicon Valley Bank) (as amended, restated, amended and restated, supplemented, restructured, or otherwise modified from time to time, the &#8220;Credit Agreement&#8221;). </span></div><div style="text-indent:27pt"><span><br/></span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">We originally entered into our Credit Agreement with Silicon Valley Bank in 2021. On March 10, 2023, Silicon Valley Bank was announced as closed by the California Department of Financial Protection and Innovation, and the Federal Deposit Insurance Corporation (the &#8220;FDIC&#8221;) was appointed as a receiver. On March 26, 2023, it was announced that First-Citizens Bank &amp; Trust Company would assume all of Silicon Valley Bank&#8217;s deposits and loans as of March 27, 2023. Following that transaction, the credit facility remains available subject to the same terms and conditions as before. However, there can be no assurances that the closure of Silicon Valley Bank or any related impacts across the financial services industry will not adversely affect our ability to access the funds available under the Credit Agreement.</span></div><div style="text-indent:27pt"><span><br/></span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"> If adequate funds are not available on acceptable terms, we may be unable to invest in future growth opportunities, which could harm our business, operating results, and financial condition. Furthermore, if we issue additional equity securities, stockholders will experience dilution, and the new equity securities could have rights senior to those of our Class A common stock. Any debt financing we secure may have higher interest rates and could involve additional restrictive covenants relating to our capital raising activities and other financial and operational matters, which may make it more difficult for us to obtain additional capital and to pursue business opportunities, including potential acquisitions. If we were to violate such restrictive covenants, we could incur penalties, increased expenses and an acceleration of the payment terms of our outstanding debt, which could in turn harm our business. Because our decision to issue securities in future offerings will depend on numerous considerations, including factors beyond our control, we cannot predict or estimate the amount, timing, or nature of any future issuances of debt or equity securities. As a result, our stockholders bear the risk of future issuances of debt or equity securities reducing the value of our Class A common stock and diluting their interests.</span></div><div style="text-indent:27pt"><span><br/></span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Seasonality may cause fluctuations in our sales and operating results.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have experienced, and expect to continue to experience in the future, seasonality in our business, and our operating results and financial condition may be affected by such trends in the future. We generally experience seasonal fluctuations in demand for our platform. For example, we have some customers who increase their usage and requests when they need more capacity during busy periods, especially in the fourth quarter of the year, and then subsequently scale back. Our customers host certain large-scale events, such as sporting events or coverage of major elections, increasing their usage on a seasonal or one-time basis which can cause revenue to fluctuate between the periods in which these events occur and subsequent periods. Since we have built our network to handle seasonal capacity fluctuations, we may not be able to reduce our capacity in a timely manner, and as such sustain more costs. We believe that the seasonal trends that we have experienced in the past may continue for the foreseeable future, particularly as we expand our sales to larger enterprises. To the extent we experience this seasonality, it may cause fluctuations in our operating results and financial metrics, and make forecasting our future operating results and financial metrics difficult. Additionally, we do not have sufficient experience in selling certain of our products to determine if demand for these products is, or will be, subject to material seasonality.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Our current operations are international in scope and we plan on further geographic expansion, creating a variety of operational challenges.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A component of our growth strategy involves the further expansion of our operations and customer base internationally. For the year ended December&#160;31, 2023, the percentage of revenue generated from customers outside the United States was 27% of our total revenue. As of December&#160;31, 2023, our edge network spans across 58 markets and 34 countries that are outside of the United States. Additionally, we have employees located throughout the world. We continue to adapt to and develop strategies to address international markets but there is no guarantee that such efforts will have the desired effect. As of December&#160;31, 2023, approximately 21% of our full-time employees were located outside of the United States. We expect that our international activities will grow over the foreseeable future as we continue to pursue opportunities in existing and new international markets, which will require significant management attention and financial resources. In connection with such expansion, we may face difficulties including costs associated with varying seasonality patterns, potential adverse movement of currency exchange rates, longer payment cycles, difficulties in collecting accounts receivable in some countries, tariffs and trade barriers, a variety of regulatory or contractual limitations on our ability to operate, adverse tax events, reduced protection of intellectual property rights in some countries, and a geographically and culturally diverse workforce and customer base. Failure to overcome any of these difficulties could harm our business. Our current and future international business and operations involve a variety of risks, including:</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;padding-left:13.8pt">changes in a specific country&#8217;s or region&#8217;s political or economic conditions;</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">42</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">longer payment cycles;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">greater difficulty collecting accounts receivable;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">potential or unexpected changes in trade relations, regulations, or laws; </span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">increased regulatory inquiry or oversight;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">more stringent regulations relating to privacy and data security and the unauthorized use of, or access to, commercial and personal information, particularly in Europe;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">differing labor regulations, especially in Europe and Japan, where labor laws are generally more advantageous to employees as compared to the United States, including deemed hourly wage and overtime regulations in these locations, and where potential labor organizing and works council negotiations in certain of those countries could contribute to increased operational costs or otherwise disrupt our business;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">challenges inherent in efficiently managing an increased number of employees over large geographic distances, including the need to implement appropriate systems, policies, benefits, and compliance programs;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">challenges to our corporate culture resulting from a dispersed workforce;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">difficulties in managing a business in new markets with diverse cultures, languages, customs, legal systems, alternative dispute systems, and regulatory systems;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">increased travel, real estate, infrastructure, and legal compliance costs associated with international operations;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">currency exchange rate fluctuations and the resulting effect on our revenue and expenses, and the cost and risk of entering into hedging transactions if we choose to do so in the future;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">challenges related to providing support and developing products in foreign languages;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">limitations on our ability to reinvest earnings from operations in one country to fund the capital needs of our operations in other countries;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">laws and business practices favoring local competitors or general market preferences for local vendors;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">potential tariffs and trade barriers;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">limited or insufficient intellectual property protection or difficulties enforcing our intellectual property rights;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">political instability, economic sanctions, terrorist activities, or international conflicts, including ongoing conflicts between Russia and Ukraine and Hamas and Israel, which may impact the operations of our business or the businesses of our customers;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">inflationary pressures, such as those the global market is currently experiencing, labor shortages and supply chain disruptions, which may increase costs for certain services;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">exposure to liabilities under anti-corruption and anti-money laundering laws, and similar laws and regulations in other jurisdictions; and</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">43</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">adverse tax burdens and foreign exchange controls that could make it difficult to repatriate earnings and cash. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">If any of the above risks materialize, it could harm our business and prospects. In addition, our limited experience in operating our business internationally increases the risk that any potential future expansion efforts that we may undertake will not be successful. If we invest substantial time and resources to further expand our international operations and are unable to do so successfully and in a timely manner, our business may be harmed.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:112%">If our estimates or judgments relating to our critical accounting estimates prove to be incorrect, our results of operations could be adversely affected.</span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">The preparation of financial statements in conformity with generally accepted accounting principles in the United States (&#8220;U.S. GAAP&#8221;) requires management to make estimates and assumptions that affect the amounts reported in the consolidated financial statements and accompanying notes. We base our estimates on historical experience and on various other assumptions that we believe to be reasonable under the circumstances, as provided in the section titled &#8220;Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations&#8212;Critical Accounting Estimates.&#8221; The results of these estimates form the basis for making judgments about the carrying values of assets, liabilities, and equity and the amount of revenue and expenses that are not readily apparent from other sources. Significant assumptions and estimates used in preparing our consolidated financial statements include, but are not limited to, those related to revenue, accounts receivable and related reserves, fair value of assets acquired and liabilities assumed for business combinations, useful lives and realizability of long-lived assets including our goodwill and intangible assets, income tax reserves, and accounting for stock-based compensation. Our results of operations may be adversely affected if our assumptions change or if actual circumstances differ from those in our assumptions, which could cause our results of operations to fall below the expectations of securities analysts and investors, resulting in a decline in the trading price of our Class A common stock.</span></div><div style="text-indent:27pt"><span><br/></span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Current and future indebtedness could restrict our operations, particularly our ability to respond to changes in our business or to take specified actions.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our Credit Agreement contains, and any future indebtedness would likely contain, a number of restrictive covenants that impose significant operating and financial restrictions on us, including restrictions on our ability to incur additional indebtedness, grant liens, pay dividends and make distributions, transfer property, make investments, and take other actions that may otherwise be in our best interests. In addition, our Credit Agreement contains a financial covenant that requires us to maintain a consolidated adjusted quick ratio of at least 1:25 to 1:00 tested on a quarterly basis as well as a springing revenue growth covenant for certain periods if our consolidated adjusted quick ratio falls below 1:75 to 1:00 on the last day of any fiscal quarter. Our ability to meet these financial covenants can be affected by events beyond our control, and we may not be able to continue to meet those covenants. In addition, a breach of a covenant under our Credit Agreement or any other current or future credit facility of ours may result in a cross-default under any such separate credit facility. If we seek to enter into one or more additional credit facilities in the future, we may not be able to obtain debt financing on terms that are favorable to us, if at all. Holders of our existing debt have, and holders of any future debt we may incur would have, rights senior to holders of common stock to make claims on our assets. In addition, the terms of our existing debt do, and the terms of any future debt could, restrict our operations, including our ability to pay dividends on our Class A common stock. If we are unable to obtain adequate financing or financing on terms that are satisfactory to us when we require it, our ability to continue to support our business growth and to respond to business challenges could be significantly impaired, and our business may be harmed.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">If we are unable to maintain effective internal control over financial reporting in the future, investors may lose confidence in the accuracy and completeness of our financial reports, and the market price of our Class A common stock may be seriously harmed.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a public company, we are required to maintain internal control over financial reporting and to report any material weaknesses in those internal controls. For example, we are required to perform system and process evaluation and testing of our internal control over financial reporting to allow management to report on the effectiveness of our internal control over financial reporting, as required by Section 404 of the Sarbanes-Oxley Act 9 (&#8220;Section 404&#8221;). Our independent registered public accounting firm also needs to attest to the effectiveness of our internal control over financial reporting. We designed, implemented, and tested internal control over financial reporting required to comply with this obligation. That process is time-consuming, costly, and complicated. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We previously reported and have subsequently remediated material weaknesses in our internal control over financial reporting. We continue to evaluate and take actions to improve our internal control over financial reporting. However, we </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">44</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">cannot assure you that the measures we have taken to date will be sufficient to avoid the identification of material weaknesses in the future.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">If we fail to identify future material weaknesses in our internal control over financial reporting, if we are unable to comply with the requirements of Section 404 or assert that our internal control over financial reporting is effective, or if our independent registered public accounting firm is unable to express an unqualified opinion or expresses a qualified or adverse opinion about the effectiveness of our internal control over financial reporting, investors may lose confidence in the accuracy and completeness of our financial reports and the market price of our Class A common stock could be negatively affected. Moreover, any failure to identify new material weaknesses in our internal control over financial reporting, could result in material misstatements in our financial statements that may continue undetected and cause us to fail to meet our reporting and financial obligations or incur significant additional costs to remediate new material weaknesses, each of which could harm our ability to raise capital on favorable terms in the future or otherwise have a negative impact on our financial condition. In addition, we could become subject to investigations by the New York Stock Exchange (the &#8220;NYSE&#8221;), the SEC, and other regulatory authorities, which could require additional financial and management resources.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We may not be able to successfully manage the growth of our business if we are unable to improve our internal systems, processes and controls.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We need to continue to improve our internal systems, processes, and controls to effectively manage our operations and growth. We may not be able to successfully implement and scale improvements to our systems and processes in a timely or efficient manner or in a manner that does not negatively affect our operating results. For example, we may not be able to effectively monitor certain extraordinary contract requirements or provisions that are individually negotiated by our sales force as the number of transactions continues to grow. Moreover, as we continue to improve our pricing structure, we will need to implement corresponding improvements to our systems around payment of sales commissions. In addition, our systems and processes may not prevent or detect all errors, omissions, or fraud. We may experience difficulties in managing improvements to our systems, processes, and controls or in connection with third-party software, which could impair our ability to manage our business, pay sales commissions, or offer our platform to our customers in a timely manner, causing us to lose customers or employees, limit our growth, limit us to smaller deployments of our products, or increase our technical support costs.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Our financial results may be adversely affected by changes in accounting principles applicable to us.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">GAAP are subject to interpretation by the Financial Accounting Standards Board, the SEC and other various bodies formed to promulgate and interpret appropriate accounting principles. A change in these principles or interpretations could have a significant effect on our reported financial results for periods prior to and subsequent to such change, and could affect the reporting of transactions completed before the announcement of a change.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Market practices with respect to these new disclosures are continuously evolving, and securities analysts and investors may not fully understand the implications of our disclosures or how or why they may differ from similar disclosures by other companies. Any additional new accounting standards could have a significant effect on our reported results. If our reported results fall below analyst or investor expectations, our stock price could decline.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Risks Related to Laws, Regulations, and the Global Economy</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Failure to comply with United States and foreign governmental laws and regulations could harm our business.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our business is subject to regulation by various federal, state, local, and foreign governments. If we do not comply with these laws or regulations or if we become liable under these laws or regulations due to the failure of our customers to comply with these laws, we could face direct liability or delivery of content by our platform may be blocked by certain governments. In certain jurisdictions, these regulatory requirements may be more stringent than those in the United States. For example, in June 2020, China passed a national security law for Hong Kong that imposes criminal liability for the violation of content regulations, it is currently not clear how broadly such legislation will be interpreted or applied in relation to our customers or our business, and additional developments in our understanding of the application of this law could cause us to remove our POP from Hong Kong. Noncompliance with applicable regulations or requirements could subject us to investigations, sanctions, enforcement actions, disgorgement of profits, fines, damages, civil and criminal penalties, injunctions, or other collateral consequences. If any governmental sanctions are imposed, or if we do not prevail in any possible civil or criminal litigation, our business could be harmed. In addition, responding to any action will likely result in a significant diversion of management&#8217;s attention and resources and an increase in professional fees. Enforcement actions and sanctions could harm our business.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">45</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">If the United States government prohibits our current or potential customers from doing business with us, whether through policy, regulations or laws, we could face direct liability or our delivery of content by our platform may be blocked. For example, in the current environment of economic trade negotiations and tensions between the Chinese and the United States governments, the United States government has expressed concerns about the ability of companies operating in China to do business in the United States or with United States companies. As a result, we could lose the ability to contract with current or potential customers and usage of our platform may decrease by affected customers, which could harm our business and reputation. Even in the absence of new restrictions or trade actions imposed by the United States or other governments, our customers that operate in China, target China as a market, or that have strong business ties to China, may take actions to reduce dependence on our platform, which could harm our business.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We are subject, or may become subject, to stringent and evolving U.S. and foreign laws, governmental regulations and rules, and contractual obligations, industry standards, policies and other obligations related to privacy, infrastructure, and data security. Our actual or perceived failure to comply with such obligations could harm our business, by resulting in regulatory investigations or actions, litigation, fines and penalties, disruptions of our business operations, adverse publicity and reputational damage, loss of revenue or profits, loss of customers or sales and other adverse consequences that may negatively affect the value of our business and decrease the price of our Class A common stock. Compliance with such obligations could also result in costs and liabilities to us or inhibit sales of our products.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">We receive, store, process, collect, generate, use, transfer, disclose, make accessible, protect, secure, dispose of, transmit, and share personal information and other proprietary, confidential, and sensitive data, including intellectual property, trade secrets, encryption keys, and including our data and data of our customers (including their end-users). Our handling of data is subject to a variety of obligations related to privacy and data security, contractual obligations, internal and external privacy policies, guidance, industry standards, and other obligations that govern the processing of personal information. Additionally, we are or may become subject to other laws and regulations around the world with respect to the Internet related to, among other things, content liability, security requirements, critical infrastructure designations, Internet resiliency, law enforcement access to information, net neutrality, data localization requirements, and restrictions on social media or other content.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">In the United States, federal, state, and local governments have enacted numerous privacy and data security laws, including data breach notification laws, personal data privacy laws, consumer protection laws (e.g., Section 5 of the FTC Act), and other similar laws (e.g., wiretapping laws). Domestically, states have also begun to introduce more comprehensive privacy and data security legislation, including data breach notification laws, personal information privacy laws, and consumer protection laws. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">In the past few years, numerous U.S. states&#8212;including California, Virginia, Colorado, Connecticut, and Utah&#8212;have enacted comprehensive privacy and data security laws that impose certain obligations on covered businesses, including providing specific disclosures in privacy notices and affording residents with certain rights concerning their personal information. As applicable, such rights may include the right to access, correct, or delete certain personal information, and to opt-out of certain data processing activities, such as targeted advertising, profiling, and automated decision-making. The exercise of these rights may impact our business and ability to provide our products and services. Certain states also impose stricter requirements for processing certain personal information, including sensitive information, such as conducting data privacy impact assessments. These state laws allow for statutory fines for noncompliance. For example, the California Consumer Privacy Act of 2018 as amended by the California Privacy Rights Act of 2020 (&#8220;CPRA&#8221;), collectively ("CCPA") applies to personal information of consumers, business representatives, and employees who are California residents, and requires businesses to provide specific disclosures in privacy notices and honor requests of such individuals to exercise certain privacy rights related to their personal information. The CCPA allows for statutory fines for noncompliance (up to $7,500 per violation), as well as a private right of action for individuals affected by certain data breaches to recover significant statutory damages. </span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Similar laws have been proposed in several other states and at the federal and local levels, and we expect more states to pass similar laws in the future, which could increase our compliance costs and adversely affect our business.</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Our customers may deploy AI models or technologies using our platform, and our employees and personnel may use AI to perform their work. Governments have passed and are likely to pass additional laws regulating AI. Our use of this technology could result in additional compliance costs, regulatory investigations and actions, and lawsuits. If we are unable to use AI, it could make our business less efficient and result in competitive disadvantages. Due to inaccuracies or flaws in the inputs, outputs, or logic of the AI, the model could be biased and could lead us to make decisions that could bias certain individuals (or classes of individuals), and adversely impact their rights, employment, and ability to obtain certain pricing, products, services, or benefits.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">46</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Several jurisdictions around the globe, including Europe and certain U.S. states, have proposed, enacted, or are considering laws governing the development, deployment and use of AI, such as the EU&#8217;s AI Act. We expect other jurisdictions will adopt similar laws.  These obligations may make it harder for us to conduct our business using AI, lead to regulatory fines or penalties, require us to change our business practices, retrain our AI, or prevent or limit our use of AI. If we cannot use or are restricted in using AI technologies, or deployment of AI by our customers using our platform is affected, our business may be less efficient, or we may be at a competitive disadvantage.</span></div><div><span><br/></span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Outside of the United States, an increasing number of foreign laws and regulations apply to privacy and data security.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:112%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">For example, the European Union&#8217;s General Data Protection Regulation (&#8220;EU GDPR&#8221;), the United Kingdom&#8217;s GDPR (&#8220;UK GDPR&#8221;), (collectively &#8220;GDPR&#8221;) Brazil&#8217;s General Data Protection Law (Lei Geral de Prote&#231;&#227;o de Dados Pessoais or &#8220;LGPD&#8221;) (Law No. 13,709/2018), Canada&#8217;s Personal Information Protection and Electronic Documents Act (&#8220;PIPEDA&#8221;) and Canada&#8217;s Anti-Spam Legislation (&#8220;CASL&#8221;), and China&#8217;s Personal Information Protection Law (&#8220;PIPL&#8221;) impose strict requirements for processing the personal information of individuals. For example, under the GDPR, government regulators may impose restrictions or injunctions on data processing, and fines of up to 20 million euros (&#163;17.5 million) or 4% of annual global revenue, whichever is greater. The GDPR also provides for private litigation related to the processing of personal information, which can be brought by classes of data subjects or consumer protection organizations authorized by law to represent the interests of such classes. European legislative proposals and existing laws and regulations also apply to cookies and similar tracking technologies, electronic communications, and marketing.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:112%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">In the EU and the UK, regulators are increasingly focusing on compliance with requirements related to the online behavioral advertising ecosystem.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:112%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">It is anticipated that the ePrivacy Regulation and national implementing laws will replace the current national laws that implement the ePrivacy Directive that governs electronic communications.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:112%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Compliance with these laws may require us to make significant operational changes, limit the effectiveness of our marketing activities, divert the attention of our technology personnel, adversely affect our margins, and subject us to liabilities. Furthermore, there is a new regulation in the EU related to AI that will impose onerous obligations related to the use of AI-related systems and may require us to change our business practices. We may also become subject to new laws in the EU that regulate cybersecurity and non-personal information, such as the European Data Act. Depending on how these laws are interpreted, we may have to adapt our business practices and products to comply with such obligations.</span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Certain jurisdictions have enacted data localization laws and cross-border personal information transfer laws, which could make it more difficult to transfer information across jurisdictions. In particular, the European Economic Area (&#8220;EEA&#8221;) and the United Kingdom (&#8220;UK&#8221;) have significantly restricted the transfer of personal information to the United States and other countries whose privacy and data security laws are generally believed to be inadequate. Other jurisdictions may adopt similarly stringent interpretations of their data localization and cross-border personal information transfer laws. Although there are currently various mechanisms that may be used to lawfully transfer personal information to the United States, such as the standard contractual clauses for transfers from the EEA and UK, the UK&#8217;s International Data Transfer Agreement / Addendum, and the EU-U.S. Data Privacy Framework (which allows for transfers to relevant U.S.-based organizations who self-certify compliance and participate in the Framework), these mechanisms are subject to legal challenges and there is no assurance that we can satisfy or rely on these measures to lawfully transfer personal information to the United States or elsewhere. Certain countries outside Europe (e.g., Russia, China, Brazil) have also passed or are considering laws requiring local data residency or otherwise impeding the transfer of personal information across borders, any of which could increase the cost and complexity of doing business. </span></div><div style="text-indent:36pt"><span><br/></span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">If there is no lawful manner for us to transfer personal information from the EEA, the UK or other jurisdictions to the United States or elsewhere, or if the requirements for a legally-compliant transfer are too onerous, we may face significant adverse consequences, such as the interruption or degradation of our operations, increased exposure to regulatory actions, substantial fines, injunctions against processing or transferring personal information, determinations by customers not to use our services, limited  ability to collaborate with parties that are subject to cross-border data transfer or localization laws, and  the need  to increase or relocate our personal information processing capabilities and infrastructure in foreign jurisdictions at significant expense. Additionally, companies that transfer personal information out of the EEA and UK to other jurisdictions, particularly to the United States, are subject to increased scrutiny from regulators, individual litigants, and activist groups. Some European regulators have ordered certain companies to suspend or permanently cease certain transfers out of Europe for allegedly violating the EU GDPR&#8217;s cross-border data transfer limitations.</span></div><div style="text-indent:36pt"><span><br/></span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">In addition to government regulation, privacy advocates, and industry groups may propose new and different self-regulatory standards that may apply to us. We may publish privacy policies, marketing materials and other statements, such as compliance with certain certifications or self-regulatory principles, regarding privacy and data security. If these policies, materials or statements are found to be deficient, lacking in transparency, deceptive, unfair, or misrepresentative of our practices, we may be subject to investigation, enforcement actions by regulators or other adverse consequences. We may also be bound by contractual obligations related to privacy and data security, and our efforts to comply with such obligations may not be successful. For example, certain privacy and data security laws, such as the EU GDPR and the CCPA, require our customers </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">47</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">to impose specific contractual restrictions on their service providers. Additionally, in limited circumstances, under various privacy and data security laws and other obligations, we may be required to obtain certain consents to process personal information. Our inability or failure to do so could result in adverse consequences. Laws relating to the liability of providers of online services for activities of their users and other third parties are currently being tested by a number of claims, including actions based on invasion of privacy and other torts, unfair competition, copyright and trademark infringement, and other theories based on the nature and content of the materials searched, the ads posted, or the content provided by users. Moreover, our global platform outage in June 2021 increased our public profile and resulted in more frequent interest in our company by regulators. Any additional outages may draw additional scrutiny or focused legislation from regulators.</span></div><div style="text-indent:27pt"><span><br/></span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">In addition, the United States or foreign jurisdictions may establish new laws or regulations regarding the Internet or online services. These new laws and regulations may affect our products and infrastructure, which could cause us to incur substantial costs to comply, expose us to regulatory scrutiny, criminal or civil liability, require us to fundamentally change our products or operations, or otherwise have an adverse effect on our business. </span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Obligations relating to privacy and data security (and customers&#8217; data privacy expectations) are evolving, increasingly stringent, creating uncertainty, and may result in increasing scrutiny. Such obligations may be subject to different applications and interpretations, and which may be inconsistent and conflicting among different jurisdictions. Preparing for and complying with these obligations require us to devote significant resources and may necessitate changes to our services, information technologies, systems, and practices and to those of any third parties that process personal information on our behalf. Because the interpretation and application of privacy and data security related obligations are uncertain, they may be interpreted or applied in a manner that is inconsistent with our existing data management practices or the functionality of our platform. We could be required to fundamentally change our business activities and practices or modify our software, which could have an adverse effect on our business. Future restrictions on the collection, use, sharing, or disclosure of data or additional requirements for express or implied consent of our customers, partners, or end-users for the use and disclosure of such information could require us to incur additional costs or modify our platform, possibly in a material manner, and could limit our ability to develop new functionality.</span></div><div style="text-indent:27pt"><span><br/></span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">We may at times fail (or be perceived to have failed) in our efforts to comply with our privacy and data security obligations.  Moreover, despite our efforts, our personnel or third parties on whom we rely may fail to comply with such obligations, which could negatively impact our business operations.  </span></div><div style="text-indent:27pt"><span><br/></span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Any failure or perceived failure by us or third parties upon whom we rely to comply with obligations,  relating to privacy and data security may result in significant consequences including but not limited to governmental investigations and enforcement actions (e.g., investigations, fines, penalties, audits, inspections, and similar), litigation (including class-action claims), additional reporting requirements and/or oversight, bans on processing personal data, and orders to destroy or not use personal information. </span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Any of these events could have a material adverse effect on our reputation, business, or financial condition, including but not limited to: loss of customers; interruptions or stoppages in our business operations; inability to process personal information or to operate in certain jurisdictions; limited ability to develop or commercialize our products; expenditure of time and resources to defend any claim or inquiry; adverse publicity; or substantial changes to our business model or operations.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:112%">Activities of our customers or the content of their websites and other Internet properties may violate applicable laws and/or our terms of service and could subject us to lawsuits, regulatory enforcement actions, and/or liability in various jurisdictions.</span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Through our network, we provide a wide variety of products that enable our customers and our customers&#8217; users to exchange information, conduct business, and engage in various online activities both domestically and internationally. Our customers and our customers&#8217; users may use our network and products in violation of applicable law or in violation of our terms of service or the customer&#8217;s own policies. The existing laws relating to the liability of providers of online products and services for activities of their users are highly unsettled and in flux both within the United States and internationally. In the future we may be subject to lawsuits and/or liability arising from the conduct of our customers and our customers&#8217; users. Additionally, the conduct of our customers and our customers&#8217; users may subject us to regulatory enforcement actions and/or liability. There can be no assurance that we will not face litigation in the future or that we will prevail in any litigation we may face. An adverse decision in one or more of these lawsuits could materially and adversely affect our business, results of operations, and financial condition.</span></div><div><span><br/></span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Several U.S. federal statutes may apply to us with respect to various activities of our customers, including the Digital Millennium Copyright Act (&#8220;DMCA&#8221;), which provides recourse for owners of copyrighted material who believe their rights </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">48</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">under U.S. copyright law have been infringed on the Internet; and section 230, enacted in the Communications Decency Act (&#8220;CDA&#8221;), which addresses blocking and screening of content on the Internet. Although these and other similar legal provisions provide limited protections from liability for service providers like us, those protections may not be interpreted in a way that applies to us, may be amended or removed in the future, or may not provide us with complete protection from liability claims. If we are found not to be protected by the safe harbor provisions of the DMCA, CDA or other similar laws, or if we are deemed subject to laws in other countries that may not have the same protections or that may impose more onerous obligations on us, we may owe substantial damages and our brand, reputation, and financial results may be harmed.</span></div><div><span><br/></span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Policies and laws in this area remain highly dynamic, and we may face additional theories of intermediary liability in various jurisdictions. For example, policymakers in the United States have called for a re-examination of CDA section 230 and copyright law, the UK has passed the Online Safety Act 2023, and the EU has implemented the Digital Services Act and Digital Markets Act to impose additional legal requirements on certain service providers. The DSA sets out a framework of layered responsibilities targeted at different types of services, including requirements for service providers to act on orders against illegal content and to publish reports on moderation of content. Member States can also issue rules on penalties for violating the DSA, with fines of up to 6% of annual global revenue. Complying with these obligations could cause us to change our products, policies, and procedures. In addition, in 2019, the EU approved a Copyright Directive that will impose additional obligations on service providers and failure to comply could give rise to significant liability. Other laws and pending legislation at the EU level (terrorist content, child sexual abuse materials) and in the UK (online harms), Australia (online harms), and India (Digital India Act), as well as other new laws like them, may also expose Internet companies like us to significant liability. We may incur additional costs to comply with these new laws, which may have an adverse effect on our business, results of operations, and financial condition.</span></div><div><span><br/></span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We could be subject to claims for potential damages based on a significant number of online occurrences under statutory or other damage theories. Such claims may result in liability that exceeds our ability to pay or our insurance coverage. Even if potential claims against us are ultimately unsuccessful, defending against such claims could increase our legal expenses and divert management&#8217;s attention from the operation of our business, which could materially and adversely impact our business and results of operations.</span></div><div><span><br/></span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Our sales to highly regulated organizations and government entities are subject to a number of challenges and risks.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We sell to customers in highly regulated industries such as financial services, insurance, and healthcare, as well as to various governmental agency customers, including state and local agency customers, and foreign governmental agency customers. Sales to such entities are subject to a number of challenges and risks. Selling to such entities can be highly competitive, expensive, and time-consuming, often requiring significant upfront time and expense without any assurance that these efforts will generate a sale. Government contracting requirements may change and in doing so restrict our ability to sell into the government sector until we comply with the revised requirements. Government demand and payment for our offerings are affected by public sector budgetary cycles and funding authorizations, with funding reductions or delays adversely affecting public sector demand for our offerings.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Further, highly regulated and governmental entities may demand shorter contract terms or other contractual provisions that differ from our standard arrangements, including terms that can lead those customers to obtain broader rights in our offerings than would be standard. Such entities may have statutory, contractual, or other legal rights to terminate contracts with us or our partners due to a default or for other reasons, and any such termination may harm our business. In addition, these governmental agencies may be required to publish the rates we negotiate with them, which could harm our negotiating leverage with other potential customers and in turn harm our business.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">The success of our business depends on customers&#8217; continued and unimpeded access to our platform on the Internet.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our customers must have Internet access in order to use our platform. Some Internet providers may take measures that affect their customers&#8217; ability to use our platform, such as degrading the quality of the content we transmit over their lines, giving that content lower priority, giving other content higher priority than ours, blocking our content entirely, or attempting to charge their customers more for using our platform.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In January 2018, the Federal Communications Commission, or the FCC, repealed the &#8220;network neutrality&#8221; rules adopted during the Obama Administration, which barred Internet service providers from blocking or slowing down access to online content, protecting services like ours from such interference. The 2018 decision was largely affirmed by the United States Court </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">49</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">of Appeals for the District of Columbia Circuit, subject to a remand to consider several issues raised by parties that supported network neutrality, and in November 2020 the FCC affirmed its decision to repeal the rules. On October 19, 2023, the FCC adopted a notice of proposed rulemaking that would reinstate the network neutrality rules, and asked for comment on that proposal and on potential changes to those rules. We cannot predict whether or when the FCC will adopt new rules or the impact of any rules that may be adopted on our operations or business. A number of states have adopted or are adopting or considering legislation or executive actions that would regulate the conduct of broadband providers. California&#8217;s state-specific network neutrality law has taken effect, as has a similar law in Vermont, but a challenge to the Vermont law remains pending and has been suspended until an appeal in another case addressing state powers to adopt internet regulation is resolved. In addition, the status of state regimes may be affected by the FCC&#8217;s action in its new network neutrality proceeding. We cannot predict whether any FCC order or other state initiatives will be enforced, modified, overturned, or vacated by legal action of the court, federal legislation, or the FCC.</span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"> </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">To the extent network operators attempt to interfere with our platform, absent network neutrality rules, attempt to interfere with our services, extract fees from us to deliver our platform, or otherwise engage in discriminatory practices, our business could be adversely impacted. Within such a regulatory environment, we could experience discriminatory or anti-competitive practices that could impede our domestic and international growth, cause us to incur additional expense, or otherwise harm our business. At the same time, re-adoption of network neutrality rules could affect the services used by us and our customers by restricting the offerings made by Internet service providers or reducing their incentives to invest in their networks. Such actions could limit or reduce the quality of Internet access services and have an adverse impact on the quality of the services we provide to our customers.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We are subject to anti-corruption, anti-bribery, anti-money laundering and similar laws, and non-compliance with such laws can subject us to criminal and/or civil liability and harm our business.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are subject to the United States Foreign Corrupt Practices Act, the United States domestic bribery statute contained in 18 U.S.C. &#167; 201, the United States Travel Act, the U.K. Bribery Act, and other anti-bribery and anti-money laundering laws in the countries in which we conduct activities. Anti-corruption and anti-bribery laws have been enforced aggressively in recent years and are interpreted broadly to generally prohibit companies and their employees and third-party intermediaries from authorizing, offering or providing, directly or indirectly, improper payments, or benefits to recipients in the public or private sector. As we increase our international sales and business and sales to the public sector, we may engage with business partners and third-party intermediaries to market our platform and to obtain necessary permits, licenses, and other regulatory approvals. In addition, we or our third-party intermediaries may have direct or indirect interactions with officials and employees of government agencies or state-owned or affiliated entities. We can be held liable for the corrupt or other illegal activities of these third-party intermediaries, our employees, representatives, contractors, partners, and agents, even if we do not explicitly authorize such activities.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">While we have policies and procedures to address compliance with such laws, we cannot assure you that all of our employees and agents will not take actions in violation of our policies and applicable laws, for which we may be ultimately held responsible. As we increase our international sales and business, our risks under these laws may increase.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Detecting, investigating, and resolving actual or alleged violations can require a significant diversion of time, resources, and attention from senior management. In addition, noncompliance with anti-corruption, anti-bribery, or anti-money laundering laws could subject us to whistleblower complaints, investigations, sanctions, settlements, prosecution or other enforcement actions, disgorgement of profits, significant fines, damages, other civil and criminal penalties or injunctions, suspension or debarment from contracting with certain persons, the loss of export privileges, reputational harm, adverse media coverage, and other collateral consequences. If any subpoenas or investigations are launched, or governmental or other sanctions are imposed or if we do not prevail in any possible civil or criminal litigation, our business could be harmed. In addition, responding to any action will likely result in a materially significant diversion of management&#8217;s attention and resources and significant defense costs and other professional fees. Enforcement actions and sanctions could further harm our business.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Changes in our effective tax rate or tax liability may harm our business.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our effective tax rate could be adversely impacted by several factors, including:</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">50</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;padding-left:13.8pt">Changes in the relative amounts of income before taxes in the various jurisdictions in which we operate that have differing statutory tax rates;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">Changes in tax laws, tax treaties, and regulations or the interpretation of them;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">Changes to our assessment about our ability to realize our deferred tax assets that are based on estimates of our future results, the prudence and feasibility of possible tax planning strategies, and the economic and political environments in which we do business;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">The outcome of current and future tax audits, examinations, or administrative appeals; and</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">Limitations or adverse findings regarding our ability to do business in some jurisdictions.</span></div><div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Should our effective tax rate rise, our business could be harmed.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We could be required to collect additional sales taxes or be subject to other tax liabilities that may increase the costs our clients would have to pay for our offering and harm our business.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">An increasing number of states have considered or adopted laws that attempt to impose tax collection obligations on out-of-state companies. Additionally, the Supreme Court of the United States ruled in South Dakota v. Wayfair, Inc. et al (&#8220;Wayfair&#8221;) that online sellers can be required to collect sales and use tax despite not having a physical presence in the buyer&#8217;s state. In response to Wayfair, or otherwise, states or local governments may adopt, or begin to enforce, laws requiring us to calculate, collect, and remit taxes on sales in their jurisdictions. A successful assertion by one or more jurisdictions requiring us to collect taxes where we presently do not do so, or to collect more taxes in a jurisdiction in which we currently do collect some taxes, could result in substantial tax liabilities, including taxes on past sales, as well as penalties and interest. The imposition by state governments or local governments of sales tax collection obligations on out-of-state sellers could also create additional administrative burdens for us, put us at a competitive disadvantage if they do not impose similar obligations on our competitors and decrease our future sales, which could harm our business.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Historically, we have not collected such taxes from our customers and have therefore recorded such taxes as general and administrative expenses. We expect that these expenses will decline in future years as we continue to implement our sales tax collection mechanisms and start collecting these taxes from our customers. However, delays in implementing our sales tax collection mechanisms and changing tax laws could result in us incurring additional expenses that we may not be able to pass onto our customers.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Adverse tax laws or regulations could be enacted or existing laws could be applied to us, which could adversely affect our business and financial condition.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We operate, and are subject to taxes, in the United States and numerous other jurisdictions throughout the world. The U.S. federal, state, local, or non-U.S. international tax laws on income, sales, use, indirect, or other tax laws, statutes, rules, regulations, or ordinances on multinational corporations to which we are subject are or under which we operate are unsettled in certain respects and may be subject to significant change. For example, many countries in Europe, as well as a number of other countries and organizations, including the Organization for Economic Cooperation and Development and the European Commission, have recently proposed, recommended, or (in the case of countries) enacted changes to existing tax laws or new tax laws that could significantly increase our tax obligations in the countries where we do business or require us to change the manner in which we operate our business. These proposals, recommendations and enactments include changes to the existing framework in respect of income taxes, as well as new types of non-income taxes (such as taxes based on a percentage of revenue or taxes applicable to digital services), which could apply to our business.  These contemplated tax initiatives, if finalized and adopted by countries, may ultimately impact our effective tax rate and could adversely affect our sales activity resulting in a negative impact on our operating results and cash flows.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition, existing tax laws, statutes, rules, regulations, or ordinances could be interpreted, modified, or applied adversely to us (possibly with retroactive effect), which could require us to pay additional tax amounts, fines or penalties, and interest for past amounts. The additional tax obligations could relate to our taxes or obligations to report or withhold on </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">51</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">customer taxes. We could take steps to collect customer related taxes, but if we are unsuccessful in collecting such taxes from our customers, we could be held liable for such costs, thereby adversely impacting our operating results and cash flows. Further, if our customers must pay additional fines or penalties, it could adversely affect demand for our services.</span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Legislation enacted in 2017 informally titled the &#8220;Tax Act&#8221; significantly revised the Internal Revenue Code of 1986, as amended (the &#8220;Code&#8221;). In  2022, the Inflation Reduction Act of 2022 (the &#8220;IRA&#8221;) was enacted, which includes provisions that impact the U.S. federal income taxation of corporations, including imposing a minimum tax on the book income of certain large corporations and an excise tax on certain corporate stock repurchases that is imposed on the corporation repurchasing such stock. Future legislation or regulatory guidance, including under the Tax Act or the IRA, or other executive or Congressional actions in the United States may occur, and could ultimately increase or lessen the impact of such taxes on our business and financial condition. We urge our stockholders to consult with their legal and tax advisors with respect to this legislation and the potential tax consequences of investing in or holding our Class A common stock.</span></div><div style="text-indent:27pt"><span><br/></span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Our ability to use our net operating losses to offset future taxable income may be subject to certain limitations.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our net operating loss (&#8220;NOL&#8221;) carryforwards could expire unused and be unavailable to offset future income tax liabilities because of their limited duration or because of restrictions under United States tax law. For U.S. federal income tax purposes, our NOLs generated in tax years beginning before January 1, 2018 are permitted to be carried forward for 20 years. Our U.S. federal NOLs generated in tax years beginning after December 31, 2017 may be carried forward indefinitely, but our use of such U.S. federal NOLs generally is limited to 80% of such year&#8217;s taxable income, computed without regard to the NOL deduction and certain other deductions. It is uncertain if, and to what extent, various states will conform to these limitations on the use of U.S. federal NOLs.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition, under Section 382 of the Code, a corporation that undergoes an &#8220;ownership change&#8221; may be subject to limitations on its ability to utilize its pre-change NOLs to offset future taxable income. A detailed analysis was performed through December 31, 2021 for us to determine whether an ownership change under Section 382 of the Code has occurred, and ownership changes were identified in 2013 and 2020. As a result of this analysis, we concluded that there is no longer any limitation on our utilization of such NOLs. A detailed analysis was performed for the period March 1, 2014 to October 1, 2020 for Signal Sciences to determine whether an ownership change under Section 382 of the Code has occurred and an ownership change was identified in 2020. As a result of this analysis, we concluded that there is no longer any limitation on our utilization of the NOLs of Signal Sciences. We may experience ownership changes in the future as a result of subsequent shifts in our stock ownership, some of which shifts are outside our control. Furthermore, our ability to utilize NOLs of companies that we have acquired or may acquire in the future may be subject to limitations. For these reasons, we may not be able to utilize a material portion of the NOLs, even if we were to achieve profitability.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Our international operations may subject us to potential adverse tax consequences.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are expanding our international operations and staff to better support our growth into international markets. Our corporate structure and associated transfer pricing policies contemplate future growth into the international markets, and consider the functions, risks, and assets of the various entities involved in the intercompany transactions. The amount of taxes we pay in different jurisdictions may depend on: the application of the tax laws of the various jurisdictions, including the United States, to our international business activities; changes in tax rates; new or revised tax laws or interpretations of existing tax laws and policies; and our ability to operate our business in a manner consistent with our corporate structure and intercompany arrangements. The taxing authorities of the jurisdictions in which we operate may challenge our methodologies for pricing intercompany transactions pursuant to our intercompany arrangements or disagree with our determinations as to the income and expenses attributable to specific jurisdictions. If such a challenge or disagreement were to occur, and our position was not sustained, we could be required to pay additional taxes, interest, and penalties, which could result in one-time tax charges, higher effective tax rates, reduced cash flows, and lower overall profitability of our operations. Our financial statements could fail to reflect adequate reserves to cover such a contingency.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We are subject to governmental export and import controls that could impair our ability to compete in international markets or subject us to liability if we violate such controls.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our products are subject to United States export controls, including the Export Administration Regulations administered by the United States Commerce Department, and economic sanctions administered by the Office of Foreign Assets Control of the United States Treasury Department (&#8220;OFAC&#8221;). We incorporate encryption technology into certain of our products. These encryption products and the underlying technology may be exported outside of the United States only with the required export </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">52</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">authorizations. Other countries also regulate the import and export of certain encryption products and technology through import and export licensing requirements, and have enacted laws that could limit our ability to distribute our products or could limit our customers&#8217; ability to implement our products in those countries. Additionally, export restrictions recently imposed on Russia and Belarus in connection with the military conflict involving Ukraine specifically restrict the export of encryption software to these locations.</span></div><div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Furthermore, our activities are subject to United States economic sanctions laws and regulations that generally prohibit the direct or indirect exportation or provision of products and services to countries, governments, and individuals and entities targeted by United States embargoes or sanctions, except to the extent authorized by OFAC or exempt from sanctions. For example, following Russia&#8217;s invasion of Ukraine, the United States and other countries imposed economic sanctions and severe export control restrictions against Russia and Belarus, and the United States and other countries could impose wider sanctions and export restrictions and take other actions should the conflict further escalate. Obtaining the necessary export license or other authorization for a particular sale may not always be possible, and, even if the export license is ultimately granted, the process may be time-consuming and may result in the delay or loss of sales opportunities. Violations of United States sanctions or export control laws can result in significant fines or penalties, and possible incarceration for responsible employees and managers could be imposed for criminal violations of these laws.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Changes in our products or future changes in export and import regulations may create delays in the introduction of our products in international markets, prevent our customers with international operations from deploying our products globally, or, in some cases, prevent the export or import of our products to certain countries, governments, or persons altogether. From time to time, various governmental agencies have proposed additional regulation of encryption products and technology, including the escrow and government recovery of private encryption keys. Any change in export or import regulations, economic sanctions or related legislation, increased export and import controls, or change in the countries, governments, persons, or technologies targeted by such regulations could result in decreased use of our products by, or in our decreased ability to export or sell our products to, existing or potential customers with international operations. Any decreased use of our products or limitation on our ability to export or sell our products would harm our business.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We are exposed to fluctuations in currency exchange rates.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our sales contracts are primarily denominated in U.S. dollars, and therefore a majority of our revenue is not subject to foreign currency revaluation. However, a strengthening of the U.S. dollar could increase the real cost of our platform to our customers outside of the United States, which could cause an increase in requests to renegotiate contracts and adversely affect our operating results. Foreign currency exchange rates have recently been and could continue to be subject to increased volatility. In addition, our international sales in the future could become foreign currency denominated sales, increasing our foreign currency risk. In addition, an increasing portion of our operating expenses is incurred outside the United States. These operating expenses are denominated in foreign currencies and are subject to fluctuations due to changes in foreign currency exchange rates. As these expenses become more material and if there are significant fluctuations in foreign currency exchange rates, this could result in significant fluctuations in our operating expenses and results of operations, which could harm our business. </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">The phase-out of the London Interbank Offered Rate (&#8220;LIBOR&#8221;), or the replacement of LIBOR with a different reference rate, may adversely affect interest rates.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">On July 27, 2017, the Financial Conduct Authority (the &#8220;FCA&#8221;), the authority that regulates LIBOR, announced that after December 31, 2021, it would no longer compel banks to submit the rates required to calculate LIBOR. On March 5, 2021, the ICE Benchmark Administration, which administers LIBOR, and the FCA announced that all LIBOR settings would either cease to be provided by any administrator, or would no longer be representative, immediately after December 31, 2021 for all non-U.S. dollar LIBOR settings and one-week and two-month U.S. dollar LIBOR settings, and immediately after June 30, 2023 for the remaining U.S. dollar LIBOR settings. On June 28, 2023, we entered into the First Amendment to Credit Agreement with the Lenders and First-Citizens Bank &amp; Trust Company (successor by purchase to the Federal Deposit Insurance Corporation as Receiver for Silicon Valley Bridge Bank, N.A. (as successor to Silicon Valley Bank)), as a lender and as administrative agent and collateral agent for the Lenders to, among other things, amend the interest rate provisions to replace LIBOR with the Secured Overnight Financing Rate (&#8220;SOFR&#8221;) as the interest rate benchmark. The shift to SOFR from LIBOR is complex and may adversely affect our business, financial condition, results of operations, liquidity, and cash flows.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">53</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Unfavorable conditions in our industry or the global economy, rising inflation or reductions in information technology spending could harm our business.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Global economic conditions have impacted, and will likely continue to impact, businesses around the world, including ours. Inflation and other macroeconomic pressures in the U.S. and the global economy such as rising interest rates, banking instability and recession fears are creating a complex and challenging environment for us and our customers. Our results of operations may vary based on the impact of changes in our industry or the global economy on us or our customers and potential customers. Current or future economic uncertainties or downturns could adversely affect our business and results of operations. The U.S. capital markets experienced and continue to experience extreme volatility. While our ability to do business has not been materially affected, and the global restrictive measures that have been taken in response to such events, and could be taken in the future, have created significant global economic uncertainty that could prolong and escalate tensions and expand the geopolitical conflict, which could have a lasting impact on regional and global economies, any of which could harm our business and operating results. </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Further, due to political uncertainty and international military actions, we and the third parties upon which we rely may be vulnerable to a heightened risk of security breaches, computer malware, social-engineering attacks, supply-chain attacks, software bugs, server malfunctions, software or hardware failures, loss of data or other information technology assets, and other cyber-attacks, including attacks that could materially disrupt our systems and operations, supply chain, and ability to do business</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">.</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"> These attacks are expected to continue to occur in the future. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Furthermore, inflation rates in the U.S. in the past few years have increased to levels not seen in decades, prompting the Federal Reserve to increase interest rates. Negative conditions in the general economy both in the United States and abroad, including conditions resulting from changes in gross domestic product growth, financial and credit market fluctuations, currency and interest rate fluctuations, political turmoil, natural catastrophes, warfare, public health issues, and terrorist attacks on the United States, Europe, the Asia Pacific region, or elsewhere, could cause a downturn or recession and a decrease in business investments, including spending on information technology, which would harm our business. To the extent that our platform and our products are perceived by customers and potential customers as too costly, or difficult to deploy or migrate to, our revenue may be disproportionately affected by delays or reductions in general information technology spending. Also, our competitors, many of whom are larger and have greater financial resources than we do, may respond to market conditions by lowering prices and attempting to lure away our customers. In addition, the increased pace of consolidation in certain industries may result in reduced overall spending on our products. We cannot predict the timing, strength, or duration of any economic slowdown, instability, or recovery, generally or within any particular industry.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Risks Related to Intellectual Property</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We could incur substantial costs in protecting or defending our proprietary rights, and any failure to adequately protect our rights could impair our competitive position and we may lose valuable assets, experience reduced revenue, and incur costly litigation to protect our rights.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our success is dependent, in part, upon protecting our proprietary technology. We rely on a combination of patents, copyrights, trademarks, service marks, trade secret laws, and contractual provisions in an effort to establish and protect our proprietary rights. However, the steps we take to protect our intellectual property may be inadequate. While we have issued patents in the United States and other countries and have additional pending patent applications, we may be unable to obtain patent protection for the technology covered in our patent applications. In addition, any patents issued in the future may not provide us with competitive advantages, or may be successfully challenged by third parties. Any of our patents, trademarks, or other intellectual property rights may be challenged or circumvented by others or invalidated through administrative process or litigation. There can be no guarantee that others will not independently develop similar products, duplicate any of our products, or design around our patents. Furthermore, legal standards relating to the validity, enforceability, and scope of protection of intellectual property rights are uncertain. Despite our precautions, it may be possible for unauthorized third parties to copy our products and use information that we regard as proprietary to create products and services that compete with ours. Some license provisions protecting against unauthorized use, copying, transfer, and disclosure of our products may be unenforceable under the laws of jurisdictions outside the United States. To the extent we expand our international activities, our exposure to unauthorized copying and use of our products and proprietary information may increase.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We enter into confidentiality and invention assignment agreements with our employees and consultants and enter into confidentiality agreements with the parties with whom we have strategic relationships and business alliances. No assurance can be given that these agreements will be effective in controlling access to and distribution of our products and proprietary information. Further, these agreements do not prevent our competitors or partners from independently developing technologies that are substantially equivalent or superior to our platform.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In order to monitor and protect our intellectual property rights, we may be required to spend significant resources. Litigation may be necessary in the future to enforce our intellectual property rights and to protect our trade secrets. Litigation brought to protect and enforce our intellectual property rights could be costly, time consuming, and distracting to management and could result in the impairment or loss of portions of our intellectual property. Furthermore, our efforts to enforce our intellectual property rights may be met with defenses, counterclaims, and countersuits attacking the validity and enforceability of our intellectual property rights. Our inability to protect our proprietary technology against unauthorized copying or use, as well as any costly litigation or diversion of our management&#8217;s attention and resources, could delay further sales or the implementation of our platform, impair the functionality of our platform, delay introductions of new products, result in our substituting inferior or more costly technologies into our products, or injure our reputation. We will not be able to protect our intellectual property if we are unable to enforce our rights or if we do not detect unauthorized use of our intellectual property. Moreover, policing unauthorized use of our technologies, trade secrets, and intellectual property may be difficult, expensive, and time-consuming, particularly in foreign countries where the laws may not be as protective of intellectual property rights as those in the United States and where mechanisms for enforcement of intellectual property rights may be weak. If we fail to meaningfully protect our intellectual property and proprietary rights, our business may be harmed.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We may in the future be subject to legal proceedings and litigation relating to intellectual property disputes, which are costly and may subject us to significant liability and increased costs of doing business. Our business may suffer if it is alleged or determined that our technology infringes the intellectual property rights of others.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our industry is characterized by the existence of a large number of patents, copyrights, trademarks, trade secrets, and other intellectual property rights. From time to time, we may be required to defend against litigation claims by other companies based on allegations of infringement or other violations of their intellectual property rights. Many of these companies have the capability to dedicate substantially greater resources than us to enforce their intellectual property rights and to defend claims that may be brought against them. Therefore, we may not be able to withstand any third-party claims or rights against their use. In addition, we may be required to defend against litigation claims by patent holding companies or other adverse patent owners that have no relevant product revenue. If a third party is able to obtain an injunction preventing us from accessing such third-party intellectual property rights, or if we cannot license or develop technology for any infringing aspect of our business, we would be forced to limit or stop selling products impacted by the claim or injunction or cease business activities covered by such intellectual property, and may be unable to compete effectively. Any inability to license third-party technology in the future would have an adverse effect on our business and operating results, and would adversely affect our ability to compete. We may also be contractually obligated to indemnify our customers in the event of infringement of a third party&#8217;s intellectual property rights. We receive demands for such indemnification from time to time and expect to continue to do so. Responding to such claims, regardless of their merit, can be time consuming, costly to defend in litigation, and damage our reputation and brand.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Lawsuits are time-consuming and expensive to resolve and they divert management&#8217;s time and attention. Although we carry insurance, our insurance may not cover potential claims of this type or may not be adequate to indemnify us for all liability that may be imposed. We cannot predict the outcome of lawsuits, and the results of any such actions may harm our business.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Elements of our platform and our products use open source software, which may restrict the functionality of our platform and our products, or require that we release the source code of certain products subject to those licenses.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our platform incorporates software licensed under open source licenses. Such open source licenses typically require that source code subject to the license be made available to the public and that any modifications or derivative works to open source software continue to be licensed under open source licenses. Few courts have interpreted open source licenses, and the manner in which these licenses may be interpreted and enforced is therefore subject to some uncertainty. We rely on multiple software programmers to design our proprietary technologies, and we do not exercise complete control over the development efforts of our programmers and we cannot be certain that our programmers have not incorporated open source software into our proprietary products and technologies or that they will not do so in the future. In the event that portions of our proprietary technology are determined to be subject to an open source license, we could be required to publicly release the affected portions of our source code, re-engineer all or a portion of our technologies, or otherwise be limited in the licensing of our technologies, each of which could reduce or eliminate the value of our platform and technologies and materially and adversely affect our ability to sustain and grow our business.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">55</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Provisions in various agreements potentially expose us to substantial liability for intellectual property infringement, data protection, and other losses.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our agreements with customers and other third parties generally include provisions under which we are liable or agree to indemnify them for losses suffered or incurred as a result of claims of intellectual property infringement, data protection, damages caused by us to property or persons, or other liabilities relating to or arising from our platform, services, or other contractual obligations. Some of these agreements provide for uncapped liability for which we would be responsible, and some provisions survive termination or expiration of the applicable agreement. Large liability payments could harm our business, results of operations, and financial condition. Although we normally contractually limit our liability with respect to such obligations, we may still incur substantial liability related to them, and in case of an intellectual property infringement indemnification claim, we may be required to cease use of certain functions of our platform as a result of any such claims. Any dispute with a customer with respect to such obligations could have adverse effects on our relationship with that customer and other existing customers and new customers and harm our business. Even when we have contractual protections against such customer claims, we may choose to honor a customer&#8217;s request for indemnification or otherwise seek to maintain customer satisfaction by issuing customer credits, assisting our customer in defending against claims, or in other ways.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Risks Related to Ownership of Our Class A Common Stock</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Our stock price may be volatile, and the value of our Class A common stock may decline.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Historically, our stock price has been volatile. During the year ended December&#160;31, 2023, our stock traded as high as $24.31 per share and as low as $7.97 per share, and from January 1, 2024 to February 20, 2024, our stock price has ranged from $25.87 per share to $14.78 per share. The market price of our Class A common stock may continue to be highly volatile and may fluctuate or decline substantially as a result of a variety of factors, some of which are beyond our control or are related in complex ways, including:</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;padding-left:13.8pt">actual or anticipated fluctuations in our financial condition and operating results;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;padding-left:13.8pt">decreased usage by one or more of our customers;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;padding-left:13.8pt">variance in our financial performance from expectations of securities analysts or investors;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">changes in the pricing we offer our customers;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">changes in our projected operating and financial results;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">changes in laws or regulations applicable to our platform or related products;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">announcements by us or our competitors of significant business developments, acquisitions, or new offerings;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">publicity associated with network outages and problems;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">our involvement in litigation;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">changes in senior management or key personnel;</span></div><div style="margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">the trading volume of our Class A common stock;</span></div><div style="margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">potential equity or debt financings;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">changes in the anticipated future size and growth rate of our market; and</span></div><div style="margin-bottom:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%;padding-left:14.5pt">general political, social, economic, regulatory, and market conditions, in both domestic and our foreign markets, including the effects of global events like the war in Ukraine and the more recent hostilities in Israel on the global </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">56</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">economy, labor shortages, supply chain disruptions, inflation, increased interest rates, banking instability and slow or negative growth of our markets.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Broad market and industry fluctuations, as well as general economic, political, social, regulatory, and market conditions, may impact the market price of our Class A common stock. For example, in connection with the COVID-19 pandemic, we initially experienced an increase in the usage of our platform, and as a result, the trading price of our Class A common stock significantly increased. Over the past few years, our stock price has declined significantly. There are no assurances that the trading price of our Class A common stock will recover to prior levels. Moreover, the trading price of our Class A common stock could experience further volatility and declines. These fluctuations could cause you to lose all or part of your investment in our Class A common stock.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition, extreme price and volume fluctuations in the stock markets have affected and continue to affect many technology companies&#8217; stock prices, including ours. Often, their stock prices have fluctuated in ways unrelated or disproportionate to the companies&#8217; operating performance.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the past, companies that have experienced volatility in the market price of their securities have been subject to securities class action litigation. We may be the target of this type of litigation in the future, which could result in substantial costs and divert our management&#8217;s attention.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We may not have the ability to raise the funds necessary to repay or settle conversions of the Notes in whole or in part in cash or to repurchase the Notes upon a fundamental change, and our future debt may contain limitations on our ability to pay cash upon conversion or repurchase of the Notes.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">In March 2021, we entered into a purchase agreement for the sale of an aggregate of $948.8 million principal amount of our 0% convertible senior notes due 2026 (the &#8220;Notes&#8221;). During the year ended December 31, 2022, we entered into separate, privately negotiated transactions with certain holders of the Notes to repurchase approximately $235.0 million aggregate outstanding principal amount of the Notes for an aggregate cash repurchase price of approximately $176.4 million. During the year ended December&#160;31, 2023, we entered into several separate, privately negotiated transactions with certain holders of the Notes to repurchase (the &#8220;Repurchases&#8221;) $367.3&#160;million of aggregate principal amount of the Notes for an aggregate cash repurchase price of $309.1&#160;million and aggregate transaction costs of $2.0&#160;million. The remaining Notes with an aggregate principal amount of $346.5 million will mature on March 15, 2026, unless earlier converted, redeemed or repurchased. Holders of the Notes will have the right, subject to certain conditions and limited exceptions, to require us to repurchase all or a portion of their Notes upon the occurrence of a fundamental change at a fundamental change repurchase price equal to 100% of the principal amount of the Notes to be repurchased, plus accrued and unpaid special interest, if any, as described in the indenture governing the Notes. If our stock price is lower than the conversion price of the Notes on maturity, the holders of our Notes will likely not convert and we will have to repay those Notes in cash. In addition, upon conversion of the Notes, unless we elect to deliver solely shares of our Class A common stock to settle such conversion (other than paying cash in lieu of delivering any fractional share), we will be required to make cash payments in respect of the Notes being converted as described in the indenture governing the Notes. However, we may not have enough available cash or be able to obtain financing at the time we are required to repay or make repurchases of Notes surrendered therefor or pay cash with respect to Notes being converted. In addition, our ability to repurchase the Notes or to pay cash upon conversions of the Notes may be limited by law, by regulatory authority or by agreements governing our future indebtedness. Our failure to repurchase notes at a time when the repurchase is required by the indenture or to pay any cash payable on future conversions of the Notes as required by the indenture would constitute a default under the indenture. A default under the indenture governing the Notes or the fundamental change itself could also lead to a default under agreements governing our future indebtedness. If the repayment of the related indebtedness were to be accelerated after any applicable notice or grace periods, we may not have sufficient funds to repay the indebtedness and repurchase the Notes or make cash payments upon conversions thereof. Such acceleration could result in our bankruptcy. In a bankruptcy, the holders of the Notes would have a claim to our assets that is senior to the claims of our equity holders.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Conversion of the Notes may dilute the ownership interest of our stockholders or may otherwise depress the price of our Class A common stock.</span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">The conversion of some or all of the Notes will dilute the ownership interests of our stockholders. Upon conversion of the Notes, we have the option to pay or deliver, as the case may be, cash, shares of our Class A common stock, or a combination of cash and shares of our Class A common stock. If we elect to settle our conversion obligation in shares of our Class A common stock or a combination of cash and shares of our Class A common stock, any sales in the public market of our Class A common stock issuable upon such conversion could adversely affect prevailing market prices of our Class A common stock. In addition, the existence of the Notes may encourage short selling by market participants because the conversion of the </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">57</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Notes could be used to satisfy short positions, or anticipated conversion of the Notes into shares of our Class A common stock could depress the price of our Class A common stock.</span></div><div style="text-indent:27pt"><span><br/></span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Servicing our debt requires a significant amount of cash, and we may not have sufficient cash flow from our business to pay our substantial debt.</span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Our ability to make scheduled payments of the principal of or to refinance our indebtedness, including the Notes, depends on our future performance, which is subject to economic, financial, competitive, and other factors beyond our control. Our business may not generate cash flow from operations in the future sufficient to service our debt, including the Notes, and make necessary capital expenditures. If we are unable to generate such cash flow, we may be required to adopt one or more alternatives, such as selling assets, refinancing or restructuring debt or obtaining additional equity capital on terms that may be onerous or highly dilutive. Our ability to refinance or restructure our indebtedness will depend on the capital markets and our financial condition at such time, and if the financial markets become difficult or costly to access, including due to rising interest rates, fluctuations in foreign currency exchange rates or other changes in economic conditions, our ability to raise additional capital may be negatively impacted. We may not be able to engage in any of these activities or engage in these activities on desirable terms, which could result in a default on our debt obligations. Even if we can refinance or restructure our debt, the revised terms may harm our business.</span></div><div style="text-indent:27pt"><span><br/></span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Regulatory actions and other events may adversely affect the trading price and liquidity of the Notes.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We expect that many investors in, and potential purchasers of, the Notes may employ, or seek to employ, a convertible arbitrage strategy with respect to the Notes. Investors would typically implement such a strategy by selling short the Class A common stock underlying the Notes and dynamically adjusting their short position while continuing to hold the Notes. Investors may also implement this type of strategy by entering into swaps on our Class A common stock in lieu of or in addition to short selling the Class A common stock.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The SEC and other regulatory and self-regulatory authorities have implemented various rules and taken certain actions and may in the future adopt additional rules and take other actions, that may impact those engaging in short selling activity involving equity securities (including our Class A common stock). Such rules and actions include Rule 201 of SEC Regulation SHO, the adoption by the Financial Industry Regulatory Authority, Inc. and the national securities exchanges of a &#8220;Limit Up-Limit Down&#8221; program, the imposition of market-wide circuit breakers that halt trading of securities for certain periods following specific market declines, and the implementation of certain regulatory reforms required by the Dodd-Frank Wall Street Reform and Consumer Protection Act of 2010. Any governmental or regulatory action that restricts the ability of investors in, or potential purchasers of, the Notes to effect short sales of our Class A common stock, borrow our Class A common stock or enter into swaps on our Class A common stock could adversely affect the trading price and the liquidity of the Notes.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">The conditional conversion feature of the Notes, if triggered, may adversely affect our financial condition and operating results.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">In the event the conditional conversion feature of the Notes is triggered, holders of Notes will be entitled to convert their Notes at any time during specified periods at their option. If one or more holders elect to convert their Notes, unless we elect to satisfy our conversion obligation by delivering solely shares of our Class A common stock (other than paying cash in lieu of delivering any fractional share), we would be required to settle a portion or all of our conversion obligation through the payment of cash, which could adversely affect our liquidity. In addition, even if holders do not elect to convert their Notes, we could be required under applicable accounting rules to reclassify all or a portion of the outstanding principal of the Notes as a current rather than long-term liability, which would result in a material reduction of our net working capital, which could impact our existing covenants and inhibit our ability to raise future debt. For additional information regarding the conditional conversion feature of the Notes, see Note 9, Debt Instruments. </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Future sales and issuances of our capital stock or rights to purchase capital stock could result in dilution of the percentage ownership of our stockholders and could cause the price of our Class A common stock to decline.</span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Future sales and issuances of our capital stock or rights to purchase our capital stock could result in substantial dilution to our existing stockholders. For example, we may issue approximately 3.4 million shares of our Class A common stock if the Notes convert, subject to customary anti-dilution adjustments. In addition, we may need to secure additional funds for our existing debt obligations, including repayment of the Notes. We may sell Class A common stock, convertible securities, and other equity securities in one or more transactions at prices and in a manner as we may determine from time to time. If we sell </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">58</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">any such securities in subsequent transactions, investors may be materially diluted. New investors in such subsequent transactions could gain rights, preferences, and privileges senior to those of holders of our Class A common stock.</span></div><div style="text-indent:27pt"><span><br/></span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Future sales of our Class A common stock in the public market could cause the market price of our Class A common stock to decline.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sales of a substantial number of shares of our Class A common stock in the public market, or the perception that these sales might occur, could depress the market price of our Class A common stock and could impair our ability to raise capital through the sale of additional equity securities. We are unable to predict the effect that such sales may have on the prevailing market price of our Class A common stock.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">As of December&#160;31, 2023, we have outstanding a total of 133.0 million shares of Class A common stock. All of our outstanding shares are eligible for sale in the public market, other than shares and options held by directors, executive officers, and other affiliates that are subject to volume limitations under Rule 144 of the Securities Act, various vesting agreements, and shares that must be sold under an effective registration statement. Additionally, the shares of Class A common stock subject to outstanding options and restricted stock unit awards under our equity incentive plans and the shares reserved for future issuance under our equity incentive plans will become eligible for sale in the public market upon issuance, subject to applicable insider trading policies.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:112%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">The outstanding portion of the Notes will also become convertible at the option of the holders, subject to certain limitations and restrictions, prior to March 15, 2026.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future sales also could cause the trading price of our Class A common stock to decline and make it more difficult for investors to sell shares of our Class A common stock.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">If securities or industry analysts do not publish research or publish unfavorable or inaccurate research about our business, our Class A common stock price and trading volume could decline.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our stock price and trading volume are heavily influenced by the way analysts and investors interpret our financial information and other disclosures. If securities or industry analysts do not publish research or reports about our business, delay publishing reports about our business, or publish negative reports about our business, regardless of accuracy, our Class A common stock price and trading volume could decline.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The trading market for our Class A common stock depends, in part, on the research and reports that securities or industry analysts publish about us or our business. We do not have any control over these analysts. If the number of analysts that cover us declines, demand for our Class A common stock could decrease and our Class A common stock price and trading volume may decline.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Even if our Class A common stock is actively covered by analysts, we do not have any control over the analysts or the measures that analysts or investors may rely upon to forecast our future results. Over-reliance by analysts or investors on any particular metric to forecast our future results may result in forecasts that differ significantly from our own.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Regardless of accuracy, unfavorable interpretations of our financial information and other public disclosures could have a negative impact on our stock price. If our financial performance fails to meet analyst estimates, for any of the reasons discussed above or otherwise, or one or more of the analysts who cover us downgrade our Class A common stock or change their opinion of our Class A common stock, our stock price would likely decline.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We do not intend to pay dividends for the foreseeable future.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have never declared or paid any cash dividends on our capital stock, and we do not intend to pay any cash dividends in the foreseeable future. Any determination to pay cash dividends in the future will be at the discretion of our board of directors and are restricted by the terms of our Credit Agreement. The Credit Agreement permits the payment of cash dividends so long as, after giving effect to any such dividend, we maintain a consolidated adjusted quick ratio of at least 1.50 to 1.00 and are otherwise in pro forma compliance with all covenants under the Credit Agreement. In addition, the Credit Agreement permits us to pay up to $10.0 million in cash dividends per fiscal year so long as, after giving effect to any such dividend, we are in pro forma compliance with all covenants under the Credit Agreement, including a consolidated adjusted quick ratio of at least 1.25 to 1.00. Accordingly, investors must rely on sales of their Class A common stock after price appreciation, which may never occur, as the only way to realize any future gains on their investments.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">59</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We incur significant costs as a result of operating as a public company, and our management is required to devote substantial time to compliance with our public company responsibilities and corporate governance practices.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a public company, we incur significant legal, accounting, and other expenses that we did not incur as a private company. Such expenses have further increased now that we are no longer an &#8220;emerging growth company.&#8221; The Sarbanes-Oxley Act, the Dodd-Frank Wall Street Reform and Consumer Protection Act, the listing requirements of the NYSE, and other applicable securities rules and regulations impose various requirements on public companies. Furthermore, the senior members of our management team do not have significant experience with operating a public company. As a result, our management and other personnel have to devote a substantial amount of time to compliance with these requirements. Moreover, these rules and regulations increase our legal and financial compliance costs and make some activities more time-consuming and costly. We cannot predict or estimate the amount of additional costs we will incur as a public company or the timing of such costs.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Anti-takeover provisions in our charter documents, the indenture governing the Notes, and under Delaware law could make an acquisition of our company more difficult, limit attempts by our stockholders to replace or remove our current board of directors or management and limit the market price of our Class A common stock.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Provisions in our amended and restated certificate of incorporation and amended and restated bylaws may have the effect of delaying or preventing a change of control or changes in board of directors or our management. Our amended and restated certificate of incorporation and amended and restated bylaws include provisions that:</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;padding-left:13.8pt">authorize our board of directors to issue, without further action by the stockholders, shares of undesignated preferred stock with terms, rights, and preferences determined by our board of directors that may be senior to our Class A common stock;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">require that any action to be taken by our stockholders be effected at a duly called annual or special meeting and not by written consent;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">specify that special meetings of our stockholders can be called only by our board of directors, the chairperson of our board of directors, or our chief executive officer;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">establish an advance notice procedure for stockholder proposals to be brought before an annual meeting, including proposed nominations of persons for election to our board of directors;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">establish that our board of directors is divided into three classes, with each class serving three-year staggered terms;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">prohibit cumulative voting in the election of directors;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">provide that our directors may be removed for cause only upon the vote of the holders of a majority of our outstanding shares of common stock; and</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">provide that vacancies on our board of directors may be filled only by a majority of directors then in office, even though less than a quorum. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">These provisions may frustrate or prevent any attempts by our stockholders to replace or remove our current management by making it more difficult for stockholders to replace members of our board of directors, which is responsible for appointing the members of our management. In addition, because we are incorporated in Delaware, we are governed by the provisions of Section 203 of the Delaware General Corporation Law, which generally, subject to certain exceptions, prohibits a Delaware corporation from engaging in any of a broad range of business combinations with any &#8220;interested&#8221; stockholder for a period of three years following the date on which the stockholder became an &#8220;interested&#8221; stockholder. Any delay or prevention of a change of control transaction or changes in our management could cause the market price of our Class A common stock to decline.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">60</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certain provisions in the indenture governing the Notes may make it more difficult or expensive for a third party to acquire us. For example, the indenture governing the Notes will require us, except as described therein, to repurchase the Notes for cash upon the occurrence of a fundamental change and, in certain circumstances, to increase the conversion rate for a holder that converts its notes in connection with a make-whole fundamental change. A takeover of us may trigger the requirement that we repurchase the Notes, increase the conversion rate, or both, which could make it costlier for a potential acquirer to engage in such takeover. Such additional costs may have the effect of delaying or preventing a takeover of us that would otherwise be beneficial to investors.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Our amended and restated certificate of incorporation provides that the Court of Chancery of the State of Delaware and, to the extent enforceable, the federal district courts of the United States of America will be the exclusive forums for substantially all disputes between us and our stockholders, which could limit our stockholders&#8217; ability to obtain a favorable judicial forum for disputes with us or our directors, officers, or employees.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our amended and restated certificate of incorporation provides that the Court of Chancery of the State of Delaware is the exclusive forum for the following types of actions or proceedings under Delaware statutory or common law:</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;padding-left:13.8pt">any derivative action or proceeding brought on our behalf;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">any action asserting a breach of fiduciary duty;</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">any action asserting a claim against us arising under the Delaware General Corporation Law,</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">our amended and restated certificate of incorporation, or our amended and restated bylaws; and</span></div><div style="margin-bottom:12pt;margin-top:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">any action asserting a claim against us that is governed by the internal-affairs doctrine.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">This provision would not apply to suits brought to enforce a duty or liability created by the Exchange Act. Furthermore, Section 22 of the Securities Act creates concurrent jurisdiction for federal and state courts over all such Securities Act actions. Accordingly, both state and federal courts have jurisdiction to entertain such claims. To prevent having to litigate claims in multiple jurisdictions and the threat of inconsistent or contrary rulings by different courts, among other considerations, our amended and restated certificate of incorporation provides that the federal district courts of the United States of America will be the exclusive forum for resolving any complaint asserting a cause of action arising under the Securities Act. While the Delaware courts have determined that such choice of forum provisions are facially valid, and several state trial courts have enforced such provisions and required that suits asserting Securities Act claims be filed in federal court, there is no guarantee that courts of appeal will affirm the enforceability of such provisions and a stockholder may nevertheless seek to bring a claim in a venue other than those designated in the exclusive forum provisions. In such instance, we would expect to vigorously assert the validity and enforceability of the exclusive forum provisions of our amended and restated certificate of incorporation. This may require significant additional costs associated with resolving such action in other jurisdictions, and there can be no assurance that the provisions will be enforced by a court in those other jurisdictions. If a court were to find either exclusive forum provision in our amended and restated certificate of incorporation to be inapplicable or unenforceable in an action, we may incur further significant additional costs associated with litigating Securities Act claims in state court, or both state and federal court, which could seriously harm our business, financial condition, results of operations, and prospects.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">These forum provisions may limit a stockholder&#8217;s ability to bring a claim in a judicial forum that it finds favorable for disputes with us or our directors, officers, or other employees, which may discourage lawsuits against us and our directors, officers, and other employees. If a court were to find either exclusive-forum provision in our amended and restated certificate of incorporation to be inapplicable or unenforceable in an action, we may incur further significant additional costs associated with resolving the dispute in other jurisdictions, all of which could harm our business.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">61</span></div></div></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_25"></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 1B. &#160;&#160;&#160;&#160;Unresolved Staff Comments</span></div><div><span><br/></span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None.</span></div><div style="text-indent:27pt"><span><br/></span></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_1478"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 1C. &#160;&#160;&#160;&#160;Cybersecurity</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Risk management and strategy</span></div><div><span><br/></span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have implemented and maintain various information security processes designed to identify, assess and manage material risks from cybersecurity threats to our critical computer networks, third party hosted services, communications systems, hardware and software, and our critical data, including intellectual property, confidential information that is proprietary, strategic or competitive in nature,  trade secrets, personal information, and data of our customers (including their end-users) (&#8220;Information Systems and Data&#8221;). </span></div><div style="text-indent:36pt"><span><br/></span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our Chief Information Security Officer (&#8220;CISO&#8221;) and security organization help identify, assess, and manage the Company&#8217;s cybersecurity threats and risks, including through the use of the Company&#8217;s security risk register. The CISO and security organization identify and assess risks from cybersecurity threats by monitoring and evaluating our threat environment and the Company&#8217;s risk profile using various methods including, for example: (1) identifying vulnerabilities through automated scans, vulnerability assessments, and subscriptions to threat intelligence feeds and notices; (2) assessing security weaknesses identified through internal security reviews, external penetration tests, and reports on our products and services; and (3) assessing the Company&#8217;s threat landscape given the industry&#8217;s risk profile, the results of our enterprise risk assessment, and  information technology, privacy, and security audits.  </span></div><div><span><br/></span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Depending on the environment, system, and data, we implement and maintain various technical, physical, and organizational measures, processes, standards, and/or policies designed to manage and mitigate material risks from cybersecurity threats to our Information Systems and Data, including, for example: an incident response plan; incident detection and response; vulnerability management policy; disaster recovery plans; risk assessments; implementation of security standards and certifications; encryption of data; network security protocols; data segregation; access controls; physical security; asset management, tracking and disposal; systems monitoring, vendor risk management program; employee training; penetration testing; cybersecurity insurance; and a dedicated CISO and security organization. </span></div><div><span><br/></span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our assessment and management of material risks from cybersecurity threats are integrated into the Company&#8217;s overall risk management processes.  For example, (1) the security organization is engaged in all major changes to the Company&#8217;s environment or products to conduct a risk assessment and identify potential cybersecurity risk; (2) cybersecurity risk is a component of the Company&#8217;s enterprise risk management program and managed within the Company&#8217;s risk register; (3) the security organization works with senior leadership across the Company to prioritize our risk management processes and mitigate cybersecurity threats that are most likely to lead to a material impact to our business; and (4) our senior management evaluates material risks from cybersecurity threats against our overall business objectives and reports the results to the board of directors, which evaluates our overall enterprise risk. </span></div><div><span><br/></span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We use third-party service providers to assist us from time to time to identify, assess, and manage material risks from cybersecurity threats, including for example: professional services firms, including legal counsel; cybersecurity software providers; managed cybersecurity service providers; penetration testing firms; and forensic investigators. </span></div><div><span><br/></span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We use third-party service providers to perform a variety of functions throughout our business, such as providing cloud-based infrastructure, hosting third party applications, and delivering content to customers, as well as data center hosting. We have a formal vendor management program to manage cybersecurity risks associated with our use of these providers. The security organization conducts a risk assessment to determine the criticality of the vendor prior to onboarding. Depending on the criticality of the vendor&#8211;which is based on the nature of the services provided, the sensitivity of the Information Systems and Data at issue, and the identity of the provider&#8211;our vendor security review process involves different levels of assessment designed to identify cybersecurity risks associated with a provider prior to onboarding and on a periodic basis, including, for example: (1) a vendor security questionnaire; (2) results of audit reports and certifications; and (3) policies and standards detailing the third-party&#8217;s security program. Based on the results of the vendor security review, a decision is made on whether the third-party can be engaged. We review our most critical providers' audit reports and certifications on an annual basis to reassess whether or not they have experienced any material changes or degradations to their security programs since our initial </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">62</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">review that may warrant re-evaluation. The Company generally engages reputable third-party service providers and when appropriate, imposes contractual obligations related to cybersecurity on its providers. </span></div><div style="text-indent:36pt"><span><br/></span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">For a description of the risks from cybersecurity threats that may materially affect the Company and how they may do so, see our risk factors under Part 1. Item 1A. Risk Factors in this Annual Report on Form 10-K, including &#8220;If our information technology systems or data, or those of third parties upon which we rely, are compromised now, or in the future, or the security, confidentiality, integrity or availability of our information technology, software, services, networks, communications or data is compromised, limited or fails, our business could experience materially adverse consequences, including but not limited to regulatory investigations or actions, litigation, fines and penalties, disruptions of our business operations, loss of revenue or profits, loss of customers or sales, reputational harm, and other adverse consequences.&#8221;</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Governance</span></div><div><span><br/></span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our board of directors addresses the Company&#8217;s cybersecurity risk management as part of its general oversight function. The board of directors is responsible for overseeing Company&#8217;s cybersecurity risk management processes, including oversight and mitigation of risks from cybersecurity threats.  </span></div><div><span><br/></span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our cybersecurity risk assessment and management processes are implemented and maintained by certain Company management, including our CISO, Mr. Marshall Erwin. Our CISO has experience in the technology and government industries, including through his previous roles as CISO for a major Internet company and an analyst in the US intelligence community. He also served as the cybersecurity and counterterrorism advisor on the Senate Homeland Security and Government Affairs Committee and as the intelligence specialist at the Congressional Research Service.   </span></div><div><span><br/></span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our CISO is responsible for hiring appropriate personnel, helping to integrate cybersecurity risk considerations into the Company&#8217;s overall risk management strategy, and communicating key priorities to relevant personnel. Our CISO is responsible for approving budgets, helping prepare for cybersecurity incidents, approving cybersecurity processes, and reviewing security assessments and other security-related reports. </span></div><div><span><br/></span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our incident response plan is designed to escalate certain cybersecurity incidents, including breaches, to members of management depending on the circumstances, including our CISO, general counsel, and other members of leadership when appropriate. The security incident and response team works with relevant subject matter experts across the organization when necessary to help the Company mitigate and remediate cybersecurity incidents of which they are notified.  In addition, the Company&#8217;s incident response plan includes reporting to the board of directors for cybersecurity incidents the Company's disclosure committee determines are material. The disclosure committee, which includes members of management such as our Chief Financial Officer and general counsel, meets quarterly. The CISO acts in an advisory capacity to the Company's disclosure committee on an as-needed basis.</span></div><div><span><br/></span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our board of directors receives periodic reports at least annually from our CISO concerning the Company&#8217;s significant cybersecurity threats and risk and the processes the Company has implemented to address them.  Our board of directors also receives various reports, summaries or presentations related to cybersecurity threats, risk and mitigation. </span></div><div><span><br/></span></div><div style="text-indent:27pt"><span><br/></span></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_28"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 2. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Properties</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Our corporate headquarters is located in San Francisco, California and consists of approximately 71,343 square feet of space under a lease that expires on July 31, 2027. We also maintain offices in Culver City, Denver, Pleasanton, New York, London and Tokyo. We lease all of our facilities and do not own any real property. We believe that our facilities are sufficient to meet our needs for the immediate future, and that, should it be needed, suitable additional space will be available to accommodate expansion of our operation</span><span style="background-color:#ffffff;color:#222222;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">s</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">.</span></div><div><span><br/></span></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_31"></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 3.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Legal Proceedings</span></div><div style="text-indent:27pt"><span><br/></span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Please refer to Note 10&#8212;Commitments and Contingencies for discussion around our legal proceedings. </span></div><div><span><br/></span></div><div><span><br/></span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">63</span></div></div></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_34"></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 4.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Mine Safety Disclosures</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Not applicable.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">64</span></div></div></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_37"></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PART II</span></div><div style="text-align:center"><span><br/></span></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_40"></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 5.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Market for Registrant&#8217;s Common Equity, Related Stockholder Matters, and Issuer Purchases of &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;  Equity Securities</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Market Information</span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our Class A common stock has traded on The New York Stock Exchange (&#8220;NYSE&#8221;) under the symbol &#8220;FSLY&#8221; since May 17, 2019. </span></div><div style="text-indent:27pt"><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Holders of Record</span></div><div style="text-indent:27pt"><span><br/></span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of&#160;December&#160;31, 2023, there were&#160;47&#160;holders of record of our Class A common stock. The number of beneficial stockholders is substantially greater than the number of holders of record because a large portion of our common stock is held through brokerage firms.</span></div><div style="text-indent:27pt"><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Dividend Policy</span></div><div><span><br/></span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have never declared or paid any cash dividends on our capital stock. We currently intend to retain any future earnings and do not expect to pay any dividends in the foreseeable future. Any future determination to declare cash dividends will be made at the discretion of our Board of Directors, subject to applicable laws, and will depend on a number of factors, including our financial condition, results of operations, capital requirements, contractual restrictions, general business conditions, and other factors that our Board of Directors may deem relevant. In addition, the terms of our revolving credit facility place certain limitations on the amount of cash dividends we can pay, even if no amounts are currently outstanding.</span></div><div style="text-indent:27pt"><span><br/></span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Stock Performance Graph</span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">This performance graph shall not be deemed &#8220;soliciting material&#8221; or to be &#8220;filed&#8221; with the Securities and Exchange Commission, or the SEC, for purposes of Section 18 of the Securities Exchange Act of 1934, as amended, or the Exchange Act, or otherwise subject to the liabilities under that Section, and shall not be deemed to be incorporated by reference into any of our filings under the Securities Act of 1933, as amended, or the Securities Act.</span></div><div style="text-indent:27pt"><span><br/></span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have presented below the cumulative total return to our stockholders between May&#160;17, 2019 (the date our Class&#160;A common stock commenced trading on the NYSE) through December&#160;31, 2023 in comparison to the S&amp;P&#160;500 Index and S&amp;P&#160;500 Information Technology Index. The graph assumes a $100 initial investment at the market close on May 17, 2019 which was the initial trading day of our Class A common stock, and the reinvestment of dividends. The comparisons are based on historical data and are not indicative of, nor intended to forecast, the future performance of our Class&#160;A common stock.</span></div><div><span><br/></span></div><div style="text-indent:4.5pt"><img src="fsly-20231231_g3.jpg" alt="2337" style="height:250px;margin-bottom:5pt;vertical-align:text-bottom;width:700px"/></div><div style="text-indent:4.5pt"><span><br/></span></div><div><span><br/></span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">65</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Unregistered Sales of Equity Securities</span></div><div><span><br/></span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">None.</span></div><div style="text-indent:27pt"><span><br/></span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Issuer Purchases of Equity Securities</span></div><div><span><br/></span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">66</span></div></div></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_43"></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 6.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Reserved</span></div><div><span><br/></span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Not required.</span></div><div><span><br/></span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">67</span></div></div></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_46"></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 7.&#160;&#160;&#160;&#160;&#160;Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">You should read the following discussion and analysis of our financial condition and results of operations together with the consolidated financial statements and related notes that are included elsewhere in this Annual Report on Form 10-K. This discussion contains forward-looking statements based upon current plans, expectations, and beliefs that involve risks and uncertainties. Actual results may differ materially from those anticipated in these forward-looking statements as a result of various factors, including those set forth under &#8220;Risk Factors&#8221; and in other parts of this Annual Report on Form 10-K. Our fiscal year ends on December&#160;31.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">As used herein, &#8220;Fastly,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8221;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> &#8220;we,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8221;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> &#8220;our,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8221;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> &#8220;the Company</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8221;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> and similar terms include Fastly, Inc. and its subsidiaries, unless the context indicates otherwise.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span><br/></span></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_49"></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Overview</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Organizations around the world are more dependent on the quality of digital experiences they provide than ever before. At Fastly, we deliver an edge cloud platform capable of delivering fast, safe, and engaging digital experiences. By focusing holistically on edge cloud from developer inspiration to end-user experience, we have the opportunity to differentiate with our global footprint, dynamic infrastructure, and security solution. Performance, security, and building the most engaging applications are paramount to driving mission success for Fastly&#8217;s customers.</span></div><div style="margin-bottom:12pt;text-indent:31.5pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The edge cloud is a category of Infrastructure as a Service (&#8220;IaaS&#8221;) that enables developers to build, secure, and deliver digital experiences, at the edge of the Internet. This service represents the convergence of the Content Delivery Network (&#8220;CDN&#8221;) with functionality that has been traditionally delivered by hardware-centric appliances such as Application Delivery Controllers (&#8220;ADC&#8221;), Web Application Firewalls (&#8220;WAF&#8221;), Bot Detection, Distributed Denial of Service (&#8220;DDoS&#8221;) and observability solutions. It also includes the emergence of a new, but growing, edge computing market which aims to move compute power and logic as close to the end user as possible. When milliseconds matter, processing at the edge is an ideal way to handle highly dynamic and time-sensitive data. This has led to its acceptance and adoption by organizations who monetize or grow their user base with every millisecond saved. Organizations that want to improve their user experience, whether it&#8217;s faster loading websites or reduced shopping cart abandonment, can benefit from processing at the edge. The edge cloud complements data center, central cloud, and hybrid solutions.</span></div><div style="margin-bottom:12pt;text-indent:31.5pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Organizations must keep up with complex and ever-evolving end-user requirements. We help them surpass their end users&#8217; expectations by powering fast, safe, and engaging digital experiences. We built a powerful edge cloud platform, designed from the ground up to be programmable and support agile software development. We believe that our platform gives our customers a significant competitive advantage, whether they were born into the digital age or are just embarking on their digital transformation journey. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Developers on the Fastly platform have a high degree of flexibility with granular control and real-time visibility, where they can write and deploy code in a serverless environment and push application logic to the edge. Our infrastructure is built for the software-defined future. Our network is powerful, efficient, and flexible, designed to enable us to rapidly scale to meet the needs of the most demanding customers. Our approach to scalable, secure reliability integrates security into multiple layers of development: architecture, engineering, and operations. That&#8217;s why we invest in building security into the fabric of our platform, alongside performance. We provide developers and security operations teams with a fast and safe environment to create, build, and run modern applications.</span></div><div style="margin-bottom:12pt;text-indent:31.5pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We serve established enterprises, mid-market companies, and technology-savvy organizations. Our customers represent a diverse set of organizations across many industries with one thing in common: they care about delivering best-in-class digital experiences. With our edge cloud platform, our customers are disrupting existing industries and creating new ones. For example, several of our customers have reinvented digital publishing by connecting readers through subscription models to indispensable content. Fastly&#8217;s ability to dynamically manage content in real time enables readers to have instant access to the most up to date information. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our customers&#8217; ecommerce solutions use Fastly&#8217;s edge compute functionality to deliver very low-latency customer experiences, including providing better recommendations to their shoppers, converting more shopping carts into sales and executing fast and secure financial transactions. Content streaming organizations leverage Fastly&#8217;s platform to deliver content </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">68</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">to users around the world and those that livestream gain easy access to enormous edge compute resources for even greater reliability. The range of applications that developers build with our edge cloud platform continues to expand rapidly.</span></div><div style="margin-bottom:12pt;text-indent:31.5pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our mission is to make the Internet a better place where all experiences are fast, safe, and engaging. We want all developers to have the ability to deliver the next transformative digital experience on a global scale. And because big ideas often start small, we love it when developers experiment and iterate on our platform, coming up with exciting new ways to solve today&#8217;s complex problems. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"> For the years ended December&#160;31, 2023 and 2022, our revenue was $506.0 million and $432.7 million, respectively, an increase of 17%. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Our 10 largest customers generated an aggregate of 37% and 35% of our revenue in the trailing 12 months ended December&#160;31, 2023 and 2022, respectively. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">No customer accounted for more than 10% of revenue for the years ended December&#160;31, 2023 and 2022. Affiliated customers that are business units of a single company in the streaming entertainment space generated an aggregate of 12% and 11% of the Company</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#8217;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">s revenue for the years ended December&#160;31, 2023 and 2022, respectively. We incurred a net loss of $133.1 million and $190.8 million in the years ended December&#160;31, 2023 and 2022, respectively.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We focus our direct selling efforts on expanding our customer&#8217;s use of our platform, which includes companies that are exhibiting significant growth. We engage with and support these customers with our field sales representatives, account managers, and technical account managers who focus on customer satisfaction and drive expansion of their usage of our platform and products. These teams work with technical and business leaders to help our customers&#8217; end-users receive the best possible digital experience, while also lowering our customers&#8217; total cost of ownership. These direct selling efforts are reflected by the revenue generated from our enterprise customers. Our Dollar-Based Net Expansion Rate (&#8220;DBNER&#8221;), Net Retention Rate (&#8220;NRR&#8221;) and Last-Twelve Months Net Retention Rate (&#8220;LTM NRR&#8221;) metrics also measure the revenue growth from existing customers attributable to increased usage of our platform and features, and purchase of additional products and services. For additional details on our key metrics, refer to the &#8220;Key Business Metrics&#8221; section. </span></div><div style="margin-bottom:12pt;text-indent:31.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We believe that an annual cohort analysis of </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fastly&#8217;s customers, as depicted in the chart below, demonstrates the continued expansion of our customers&#8217; use of our platform. Once a customer begins to generate revenue for us, they tend to increase their usage of our platform, in particular in their second year. Customer accounts acquired in 2019, 2020, 2021, 2022 and 2023 are referred to as the 2019 Cohort, 2020 Cohort, 2021 Cohort, 2022 Cohort and 2023 Cohort, respectively. We calculate the Compound Annual Growth Rate (&#8220;CAGR&#8221;), which represents the rate of revenue return of our revenue cohorts, over a five year history from when they were first customers. </span></div><div><span><br/></span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">69</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Summary of Revenue Generated by Customer Cohorts Over Time (in millions):</span></div><div style="margin-bottom:12pt;text-align:center"><span><br/></span></div><div style="margin-bottom:12pt;text-align:center"><img src="fsly-20231231_g4.jpg" alt="Screenshot 2024-02-09 at 11.15.50&#8239;AM.jpg" style="height:265px;margin-bottom:5pt;vertical-align:text-bottom;width:684px"/></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our 2019 Cohort increased its revenue 5.5 times in fiscal 2021 and has grown at approximately a 88% CAGR over the next four years from fiscal 2020 to fiscal 2023.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We generate substantially all of our revenue from charging our customers based on their usage of our platform, and we generate a substantial majority of our revenue from customers that have negotiated contracts with us. Initially, customers typically choose to become platform customers, for which we charge fees based on their committed or actual use of our platform, as measured in gigabytes and requests. Many of our customers generate billings in excess of their minimum commitment. We also generate revenue from additional products as well as professional and other services, such as implementation, account management and enhanced customer support. We charge a flat one-time or recurring monthly fee depending on the additional products and services selected. Typically, the term of our contracts with customers is 12 months and includes a minimum monthly billing commitment in exchange for more favorable pricing terms. In addition, customers can sign up online by providing their credit card information and agreeing to a minimum monthly fee. We also offer subscriptions to access a unified security web application and application programming interface at a fixed rate.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> The majority of our revenue is usage based and changes in usage by our largest customers can create volatility in our revenue. The length of our sales cycles, from initial evaluation to payment, can range from several months to well over a year and can vary substantially from customer to customer. Similarly, the onboarding and ramping process with new as well as existing enterprise customers with new business can take several months and can be subject to delays for unanticipated reasons. The timing of new revenue from our sales efforts and changes in usage by our largest customers can make revenue difficult to predict.</span></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_52"></div><div style="margin-bottom:12pt;margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Factors Affecting Our Performance</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Winning New Customers</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We are focused on continuing to attract new customers, including those in diverse vertical markets, and expanding our relationship with existing customers, by enhancing our product experience, investing in technology, and leveraging our partner ecosystem. Our customer base includes large, established enterprises that are undergoing digital transformation and emerging companies spanning a wide array of industries and verticals. Developers within these companies often use and advocate for the adoption of our platform by their companies and promotion across the broader developer community. We will continue to invest in our products and features and developer outreach, leveraging it as a cost-efficient approach to attracting new customers, and our sales and marketing programs, including various online marketing activities as well as targeted account-based marketing.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">70</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We are continuing to bring a durable, consistent, and predictable pipeline of new innovations to our edge cloud platform and software-defined modern network architecture, and are seeing interest from customers in our existing product lines like Network Services and Security, and newer product lines like Compute and Observability. We will continue to build out a single, unified platform, simplify customer onboarding and service usage, and simplify our pricing and packaging. This will require us to dedicate significant resources to further develop the market for our platform and differentiate our platform from competitive products and services. We will also need to expand, retain, and motivate our sales and marketing personnel in order to target our sales efforts at larger enterprises and senior management of these potential customers.</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Many jurisdictions have enacted laws on data localization and cross-border data transfers, and the evolving enforcement and interpretation of such laws has created uncertainty regarding data stored abroad and transferred across borders, which could impact customer growth and acquisition for customers and potential customers conducting business in Europe and elsewhere outside of the United States. For additional details, refer to the section titled &#8220;Risk Factors.&#8221;</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%">Expanding into New Markets and within Our Existing Customer Base</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We aim to continue to add customers from a diverse set of industry verticals through our differentiated platform that offers a broad range of capabilities. By focusing on our key differentiators, including performance and security, we have an opportunity to continue to add customers from a diverse set of industries.</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We emphasize retaining our customers and expanding their usage of our platform and adoption of our other products. Customers often begin with smaller deployments of one of our products and then expand their usage over time. Our platform includes a variety of offerings across Network Services, Security, Compute and Observability product lines. As our customers mature, we assist them in expanding their use of our platform, including the use of additional offerings beyond content delivery or security. As enterprises grow and experience increased traffic, their needs evolve, leading them to find additional use cases for our platform and expand their usage accordingly. In addition, given that customer acquisition costs are incurred largely for acquiring and initial onboarding, we may gain operating leverage to the extent that existing customers expand their use of our platform and products.</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Our ability to retain customers and expand their usage could be impaired for a variety of reasons, including a customer moving to another provider or reducing usage within the term of their contract. Even if our customers expand their usage of our platform, we cannot guarantee that they will maintain those usage levels for any meaningful period of time or that they will renew their commitments. The data localization and cross-border data transfer issues described above also impact current customers</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8217;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"> usage of our products and services. </span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">In addition, we cannot be certain what actions the United States or another country&#8217;s government may take with respect to certain of our customers that may adversely affect our ability to do business with our customers that operate in China, target China as a market or that have strong business ties to China.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">International Expansion</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">We intend to continue expanding our efforts to attract customers outside of the United States by augmenting our sales teams and strategically increasing our presence in the number of markets in select international locations. As of both December&#160;31, 2023 and 2022, our edge network spanned across 58 markets and 34 countries that are outside of the United States. </span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Our international expansion, including our global sales efforts, continues to add increased complexity and cost to our business. This requires us to expand our sales and marketing capabilities outside of the United States, increase the number of markets we have a presence in around the world to support our customers, and manage the administrative aspects of a global organization, each of which place a strain on our business and culture. In addition, our bandwidth costs are higher in markets outside of the United States and Europe, which may impact our gross margins. </span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">We are closely monitoring the unfolding events of the Russian invasion of Ukraine, as well as the more recent hostilities in Israel, and their global impacts. While the conflicts are still evolving and the outcomes remain highly uncertain, we do not believe the Russia-Ukraine or Israel-Hamas conflicts will have a material impact on our business and results of operations. We do not have POPs or operations in Russia, Ukraine, or Israel. However, some threat actors now engage and are expected to continue to engage in cyber-attacks, including without limitation nation-state actors for geopolitical reasons and in conjunction with military conflicts and defense activities. During times of war and other major conflicts, we, the third parties upon which we rely, and our customers may be vulnerable to a heightened risk of these attacks, including retaliatory cyber-</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">71</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">attacks, that could materially disrupt our systems and operations, supply chain, and ability to produce, sell and distribute our goods and services. If either conflict continues or worsens, leading to greater global economic disruptions and uncertainty, our business and results of operations could be materially impacted. Our customers operating in Russia, Ukraine, and Israel represented an immaterial portion of our consolidated revenue as of December&#160;31, 2023 and 2022, respectively.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Investing in Sales and Marketing</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Our customers have been pivotal in driving brand awareness and broadening our reach. While we continue to leverage the self-service approach to drive adoption by developers, we will continue to expand our sales and marketing efforts, with an increased focus on sales to enterprises globally. Utilizing our direct sales force, we have multiple selling points within organizations to acquire new customers and increase usage from our existing customers. We will continue to increase our discretionary marketing spend, including account-based, targeted demand generation and brand spend, to drive the effectiveness of our sales teams. As a result, we expect our total operating expenses to increase as we continue to expand. Our investments in sales and marketing teams are intended to help accelerate our sales, onboarding, and ramp cycles.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">These efforts will require us to continue to invest in sales and marketing resources. Furthermore, we believe that there is significant competition for sales personnel with the skills and technical knowledge that we require. Our ability to achieve significant revenue growth will depend, in large part, on our success in recruiting, training, and retaining sufficient numbers of sales personnel to support our growth.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Continued Investment in Our Platform and Network Infrastructure</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">We must continue to invest in our platform and network infrastructure to maintain our position in the market. We expect our revenue growth to be dependent on an expanding customer base and continued adoption of our edge cloud delivery, security, and other products and services. In anticipation of winning new customers and staying ahead of our customers&#8217; needs, we plan to continue to invest in order to expand the scale and capacity of our software-defined modern network. This could result in increased network service provider fees, which could adversely affect our gross margins if we are unable to offset these costs with revenue from new customers and increase revenue from existing customers. Our customers require constant innovation within their own organizations and expect the same from us. Therefore, we will continue to invest in resources to enhance our development capabilities and introduce new products and features on our platform. We believe that investment in research and development will contribute to our long-term growth but may also negatively impact our short-term profitability. For the years ended December&#160;31, 2023 and 2022, our research and development expenses as a percentage of revenue were 30% and 36%, respectively. Our research and development expenses each period is impacted by the amount of software development costs that meet the criteria for capitalization. We may also seek to acquire or invest in businesses, products, or technologies that we believe could complement or expand our platform, enhance our technical capabilities, or otherwise offer growth opportunities. For example, in May 2022, we acquired Glitch, a software company specializing in developer project management tools to bolster our existing product offerings, by making it easier to innovate at a layer in the Fastly software stack. </span></div><div style="margin-bottom:12pt;text-indent:31.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Developers use our platform to build custom applications and require a state-of-the-art infrastructure to test and run these applications. We will continue to invest in our network infrastructure by strategically increasing our POPs. We also anticipate making investments in upgrading our technology and hardware to continue providing our customers a fast and secure platform. Our gross margins and operating results are impacted by these investments. As of December&#160;31, 2023, our global network is located in 79 markets across 35 countries. As we continue to experience growth, we may face challenges managing adequate server capacity in our POPs due to potential component delays, shortages, price increases, hardware efficiencies gained through internal development, or any potential changes in server architecture, including due to technological advances or obsolescence. We have in the past needed to, and may need to continue to, write-down or write-off server assets if we have server asset levels in excess of forecasted network capacity needs. For example, in the year ended December&#160;31, 2023, we recognized computer and networking equipment related write-off charges of $4.3&#160;million. Conversely, if we underestimate network capacity needs, we may in future periods be unable to meet demand and be required to incur higher costs to secure necessary parts and components of our servers.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">In the event that there are errors in software, failures of hardware, damages to a facility or misconfigurations of any of our services, whether caused by our own error, security breaches, third-party error, or natural disasters, we could experience lengthy interruptions in our platform availability as well as delays and additional expenses in arranging new facilities and services. In addition, there can be no assurance that we are adequately prepared for unexpected increases in bandwidth demands by our customers, particularly when we or our customers experience cyber-attacks. The bandwidth we have contracted to purchase may become unavailable for a variety of reasons, including service outages, payment disputes, network providers </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">72</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">going out of business, natural disasters, networks imposing traffic limits, or governments adopting regulations that impact network operations.</span></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_55"></div><div style="margin-bottom:12pt;margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Key Business Metrics</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"> </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We use the following key metrics presented in the table below to evaluate our business, measure our performance, identify trends affecting our business, prepare financial projections, and make strategic decisions. The calculation of these key metrics below may differ from other similarly titled metrics used by other companies, analysts, or investors.</span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">In the first quarter of 2023, we updated the methodology (&#8220;new methodology&#8221;) by which we calculate our customer count metrics, including Total Customer Count, Enterprise Customer Count and associated metrics. We believe that the new methodology more accurately reflects the trends in our business, gives management more insight into these trends, including customer usage of our platform and the seasonality we experience, and reduces lagging indicators inherent in our previous methodology (&#8220;prior methodology&#8221;). In conjunction with this update, for comparability purposes we will continue to report our customer count metrics using both the prior and new methodology, for the current and comparative periods presented in our Annual Reports on Form 10-K through the end of the fiscal year ended December&#160;31, 2023. We will no longer report our customer count metrics using the prior methodology beginning with our Quarterly Report on Form 10-Q for the quarter ended March 31, 2024.</span></div><div style="margin-bottom:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:75.361%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.864%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.015%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline">Customer metrics (prior methodology):</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total Customer Count (based on last month revenue)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,097&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,958&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Enterprise Customer Count (based on trailing 12-month revenue)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">532&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">493&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="margin-bottom:12pt;padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Average Enterprise Customer Spend (based on trailing 12-month revenue; in thousands)</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">859&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">782&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Annual Revenue Retention (&#8220;ARR&#8221;) Rate</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">99.1&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">99.2&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline">Customer metrics (new methodology):</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total Customer Count (based on current quarter revenue)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,243&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,062&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Enterprise Customer Count (based on annualized revenue)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">578&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">533&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="margin-bottom:12pt;padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Average Enterprise Customer Spend (based on annualized current quarter revenues; in thousands)</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">880&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">822&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Annual Revenue Retention Rate </span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">99.2&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">98.9&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline">Other key metrics:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Dollar-Based Net Expansion Rate (&#8220;DBNER&#8221;)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">119.0&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">122.7&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net Retention Rate (&#8220;NRR&#8221;)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">110.1&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">110.7&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Last-twelve Months Net Retention Rate (&#8220;LTM NRR&#8221;)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">113.4&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">119.1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">73</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due to the revisions reflected in the above methodology, the customer count metrics included above calculated using our new methodology are not comparable to the historical customer count metrics included in our previously filed Annual Reports on Form 10-K, Quarterly Reports on Form 10-Q and Form S-1 and Form S-3 Registration Statements, outside of the data included in the table above.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Total Customer Count</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">We believe that our total number of customers is an important indicator of the adoption of our platform. Our definition of a customer consists of identifiable operating entities with which we have a billing relationship in good standing and which we have recognized revenue from. An identifiable operating entity is defined as a company, a government entity, or a distinct business unit of a larger company that has a relationship with us through direct sales or through one of our reseller partners where charges are identified on an end-customer basis. We may treat separate subsidiaries, segments, divisions, or business units of a single organization that use our platform as unique customers where they have distinct account identifiers. In cases where charges are identified through a reseller partner rather than on an end-customer basis, we would count the reseller as a single customer in our customer count. Our customer groupings may be impacted by changes to our customers&#8217; business, including any impact from acquisition activities, internal business reorganizations leading to operational and decision-making changes, and corporate structure changes such as subsidiary consolidation and reorganization that may arise in the future.</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Our prior methodology by which we calculate total customer count, includes identifiable operating entities with which we have a billing relationship in good standing, from which we recognized revenue during the last month of the quarter. As of December&#160;31, 2023 and 2022, we had 3,097 and 2,958 customers, respectively. </span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Our new methodology by which we calculate total customer count, includes identifiable operating entities with which we have a billing relationship in good standing, from which we recognized revenue during the quarter. As of December&#160;31, 2023 and 2022, we had 3,243 and 3,062 customers, respectively.</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">In addition to our paying customers, we also have trial, developer, nonprofit and open source programs, and other non-paying accounts that are excluded from our customer count metric. We operate globally and as a result, the success of our ability to retain our customers is also affected by general economic and market conditions around the world. </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Enterprise Customer Count</span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Historically our revenue has been driven primarily by a subset of our customers, our enterprise customers, who have leveraged our platform substantially from a usage standpoint.&#160;We believe that the recruitment and cultivation of enterprise customers is critical to our long-term success. </span></div><div style="text-indent:36pt"><span><br/></span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Under our prior methodology, our enterprise customer count is defined as customers with revenue in excess of $100,000 over the trailing 12-month period. As of December&#160;31, 2023, we had 532 of such enterprise customers, which generated 90% of our revenue for the trailing 12 months ended December&#160;31, 2023. As of December&#160;31, 2022, we had 493 of such enterprise customers which generated 89% of our revenue for the trailing 12 months ended December&#160;31, 2022.</span></div><div style="padding-left:36pt;text-indent:27pt"><span><br/></span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under our new methodology, our enterprise customer count is defined as customers with annualized current quarter revenue in excess of $100,000. This is calculated by taking the revenue we recognized for each customer in the current quarter and multiplying it by four. As of December&#160;31, 2023, we had 578 of such enterprise customers which generated 92% of the total annualized current quarter revenue for our total customers for the period ended December&#160;31, 2023. As of December&#160;31, 2022, we had 533 of such enterprise customers which generated 92% of the total annualized current quarter revenue for our total customers for the period ended December&#160;31, 2022. </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Average Enterprise Customer Spend </span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Our enterprise customers continue to leverage our platform, increasing their spend on our platform and driving our revenue growth year over year. The continued retention and growth of our enterprise customer spend is key to our long-term growth strategy. </span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Under the prior methodology, our average enterprise customer spend is calculated by taking the sum of the trailing 12-month revenue contributed by enterprise customers, as defined under our prior methodology as customers with revenue in excess of $100,000 over the trailing 12-month period, existing as of December&#160;31, 2023, and dividing that by that same number </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">74</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">of enterprise customers as of December&#160;31, 2023. As of December&#160;31, 2023, our average enterprise customer spend under the prior methodology was $859&#160;thousand, as compared to $782&#160;thousand as of December&#160;31, 2022.</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Under the new methodology, our average enterprise customer spend is calculated by taking the annualized current quarter revenue contributed by enterprise customers, as defined under our new methodology as customers with annualized current quarter revenue in excess of $100,000, existing as of December&#160;31, 2023, and dividing that by that same number of enterprise customers as of December&#160;31, 2023. As of December&#160;31, 2023, our average enterprise customer spend under the new methodology was $880&#160;thousand, as compared to $822&#160;thousand as of December&#160;31, 2022. </span></div><div style="margin-bottom:12pt;margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Annual Revenue Retention Rate (&#8220;ARR&#8221;)</span></div><div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We separately monitor customer retention and churn on an annual basis by measuring our annual revenue retention rate, which we calculate by first multiplying the final full month of revenue from a customer that terminated its contract with us (a </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">&#8220;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Churned Customer</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">&#8221;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">) by the number of months remaining in the same calendar year to get our </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">&#8220;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Annual Revenue Churn</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">&#8221;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. The quotient of the Annual Revenue Churn from all of our Churned Customers divided by our annual revenue of the same calendar year is then subtracted from 100% to determine our annual revenue retention rate. We believe this calculation is helpful in that it is based on the amount of revenue that we would expect to have received in the remaining portion of a particular period had a customer not terminated its contract with us. It is not indicative of the actual revenue contribution from churned customers in past periods. By comparing this amount to actual revenue for the period, we are able to assess our ability to replace terminated revenue by generating revenue from new and continuing customers. </span></div><div style="margin-bottom:12pt;margin-top:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Under the prior methodology, our ARR rate is calculated by subtracting the quotient of the Annual Revenue Churn from all of our Churned Customers from which we recognized revenue during the last month of the prior year divided by our annual revenue of the same calendar year from 100%. For the years ended December&#160;31, 2023 and 2022 the ARR was 99.1% and 99.2%, respectively.</span></div><div style="margin-bottom:12pt;margin-top:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Under the new methodology, our ARR rate is calculated by subtracting the quotient of the Annual Revenue Churn from all of our Churned Customers from which we recognized revenue during the last quarter of the prior year divided by our annual revenue of the same calendar year from 100%. For the years ended December&#160;31, 2023 and 2022 the ARR was 99.2% and 98.9%, respectively.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Dollar-Based Net Expansion Rate (&#8220;DBNER&#8221;) </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our ability to generate and increase our revenue depends on our ability to increase the number of new customers and usage of our edge cloud delivery platform, security, and other products and services by our existing customers. We track our growth, in part, by measuring DBNER. Our DBNER increases when customers increase their usage of our platform or purchase additional products, and declines when they reduce their usage, benefit from lower pricing on their existing usage, or curtail their purchases of additional products. We believe that DBNER is a key metric in measuring the long-term value of our customer relationships and our ability to grow our revenue through increased usage of our edge cloud delivery platform, security, and purchase of additional products and services by our existing customers. However, our calculation of DBNER indicates only expansion among continuing customers and does not indicate any decrease in revenue attributable to former customers, which may differ from similar metrics of other companies. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We calculate DBNER by dividing the revenue for a given period from customers who remained customers as of the last day of the given period (&#8220;current period&#8221;) by the revenue from the same customers for the same period measured one year prior (&#8220;base period&#8221;). The revenue included in the current period excludes revenue from (i)&#160;customers that churned after the end of the base period and (ii)&#160;new customers that entered into a customer agreement after the end of the base period. For example, to calculate our DBNER for the trailing 12 months ended December&#160;31, 2023, we divide (i)&#160;revenue, for the trailing 12 months ended December&#160;31, 2023, from customers that entered into a customer agreement on or before December&#160;31, 2023, and that remained customers as of December&#160;31, 2023, by (ii)&#160;revenue for the trailing 12 months ended December&#160;31, 2022, from the same set of customers.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the trailing 12 months ended December&#160;31, 2023 and 2022 our DBNER was 119.0% and 122.7%, respectively. DBNER may fluctuate from quarter to quarter based on, among other things, the timing associated with new customer accounts. We expect our DBNER for individual cohorts to decrease once customers in that cohort have used our platform for more than two years and become a larger portion of both our overall customer base and the revenue that we use to calculate DBNER.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">75</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Net Retention Rate (&#8220;NRR&#8221;) and Last-Twelve Months Net Retention Rate (&#8220;LTM NRR&#8221;)</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our ability to generate and increase our revenue is also dependent upon our ability to retain our existing customers. In addition to measuring expansion using DBNER, NRR and LTM NRR also allow us to track customer retention which demonstrates the stickiness of our edge cloud platform. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Our NRR measures the net change in monthly revenue from existing customers in the last month of the period (the &#8220;current&#8221; period month) compared to the last month of the same period one year prior (the &#8220;prior&#8221; period month) and includes revenue contraction due to billing decreases or customer churn and revenue expansion due to billing increases, but excludes revenue from new customers. We calculate Net Retention Rate by dividing the revenue from the current period month by the revenue in the prior period month. For the last month of the years ended December&#160;31, 2023 and 2022 our NRR was 110.1% and 110.7%, respectively.</span></div><div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our LTM NRR removes some of the volatility that is inherent in a usage-based business model from the measurement of the NRR metric. We calculate LTM NRR by dividing the total customer revenue for the prior twelve-month period (&#8220;prior 12-month period&#8221;) ending at the beginning of the last twelve-month period (&#8220;LTM period&#8221;) minus revenue contraction due to billing decreases or customer churn, plus revenue expansion due to billing increases during the LTM period from the same customers by the total prior 12-month period revenue. For the trailing twelve months ended December&#160;31, 2023 and 2022 our LTM NRR was 113.4% and 119.1%, respectively.</span></div><div style="margin-bottom:12pt;margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Remaining Performance Obligations (&#8220;RPO&#8221;)</span></div><div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">RPO represent future committed revenue for periods within current contracts with customers, as well as deferred revenue arising from consideration invoiced for which the related performance obligations have not been satisfied. As of December&#160;31, 2023, the aggregate amount of the transaction price in our contracts allocated to RPO that were unsatisfied or partially unsatisfied was $<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-5" name="us-gaap:RevenueRemainingPerformanceObligation" format="ixt:num-dot-decimal" scale="6" id="f-36">235.7</ix:nonFraction> million. Subsequent to December 31, 2023, we entered into a modification of an existing contract with a total commitment of $9.5&#160;million, which contributed to additional RPO.  </span></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_58"></div><div style="margin-bottom:12pt;margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Key Components of Statement of Operations</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We derive our revenue primarily from usage-based fees earned from customers using our platform. We also earn fixed-rate recurring revenue from security and other products and services.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our usage-based fees earned from customers using our platform are generally billed in arrears. Our security products are primarily annual subscriptions that are billed in advance. Many customers have tiered usage pricing which reflects discounted rates as usage increases. For most contracts, usage charges are determined on a monthly basis based on actual usage within the month and do not impact usage charges within any other month. Our larger customers often enter into contracts that contain minimum billing commitments and reflect discounted pricing associated with such usage levels.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We define United States revenue as revenue from customers that have a billing address in the United States, and we define international revenue as revenue from customers that have a billing address outside of the United States. </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cost of Revenue and Gross Margin</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenue consists primarily of fees paid to network providers for bandwidth and to third-party network data centers for housing servers, also known as colocation costs. Cost of revenue also includes employee costs for network operation, build-out and support and services delivery, network storage costs, cost of managed services and software-as-a-service, depreciation of network equipment used to deliver services, and amortization of network-related internal-use software. Our arrangements with network service providers require us to pay fees based on bandwidth use, in some cases subject to minimum commitments, which may be underutilized. Over the long term we expect cost of revenue to decrease as a percentage of revenue as we continue to drive efficiencies in our operations. However, our cost of revenue may fluctuate as a percentage of our revenue from period to period due to the timing and extent of these expenses.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">76</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our gross margin has been and will continue to be affected by a number of factors, including utilization of our network, the timing of our investments in the expansion of our network, which can increase depreciation and colocation costs in advance of expected demand, our ability to manage our network service providers and cloud infrastructure-related fees, the timing of amortization of capitalized software development costs, changes in personnel costs to provide customer support and operate the network, and customer pricing. Over the long term we expect gross margin to increase as we continue to drive efficiencies in our operations and increase in revenue. However, our gross margin may fluctuate from period to period.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Research and Development</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development expenses consist primarily of personnel costs, including salaries, benefits, bonuses, and stock-based compensation. Research and development expenses also include cloud infrastructure fees for development and testing, and an allocation of our general overhead expenses. We capitalize the portion of our software development costs that meet the criteria for capitalization.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We continue to focus our research and development efforts on adding new features and products including new use cases, improving the efficiency and performance of our network, and increasing the functionality of our existing products. Over the long term we expect our research and development expenses to decrease as a percentage of our revenue. However, our research and development expenses may fluctuate as a percentage of our revenue from period to period due to the timing and extent of these expenses.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Sales and Marketing</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sales and marketing expenses consist primarily of personnel costs, including commissions for our sales employees, salaries, benefits, bonuses, and stock-based compensation. Sales and marketing expenses also include expenditures related to advertising, marketing, our brand awareness activities, bandwidth and co-location costs for free trial users, costs related to our customer conferences, including our Altitude conference, professional services fees, amortization of our intangible assets, and an allocation of our general overhead expenses.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We focus our sales and marketing efforts on generating awareness of our platform and products, creating sales leads, and establishing and promoting our brand, both domestically and internationally. Over the long term, we expect our sales and marketing expenses to decrease as a percentage of our revenue. However, our sales and marketing expenses may fluctuate as a percentage of our revenue from period to period due to the timing and extent of these expenses.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">General and Administrative</span></div><div style="margin-bottom:12pt;text-indent:31.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">General and administrative expenses consist primarily of personnel costs, including salaries, benefits, bonuses, and stock-based compensation for our administrative support personnel. General and administrative expenses also include costs related to legal and other professional services fees, SaaS costs, an allocation of our general overhead expenses, credit losses and acquisition-related costs.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our general and administrative expenses also include sales and other tax expenses to which we are subject to based on the manner in which we sell and deliver our products. Historically, we have not collected such taxes from our customers and have therefore recorded such taxes as general and administrative expenses. We expect that these expenses will decline in future years as we continue to implement our sales tax collection mechanisms and start collecting these taxes from our customers.</span></div><div style="margin-bottom:12pt;text-indent:31.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">In the near term, we expect to continue to incur costs associated with supporting the growth of our business, including international expansion, but expect these costs to decrease as a percentage of our revenue over the long term as we continue to drive efficiencies in our operations. However, our general and administrative expenses may fluctuate as a percentage of our revenue from period to period due to the timing and extent of these expenses. </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Impairment expense</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Our impairment expense relates to write-off of excess computer and networking equipment including software that we do not expect to use. </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">77</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Net Gain on Extinguishment of Debt</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Our net gain on extinguishment of debt relates to the partial repurchases of our outstanding senior convertible notes in May 2022, May 2023, November 2023, and December 2023.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Other Income and Expenses </span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Our interest income consists primarily of interest earned on our cash, cash equivalents and investments. Our interest expense consists primarily of the interest expense on our finance leases and amortization of discount and debt issuance costs associated with our debt obligations. Our other income (expense), net, consists primarily of foreign currency transaction gains and losses. </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Income Taxes</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Our income tax expense (benefit) consists primarily of income taxes in certain foreign jurisdictions where we conduct business. The Company currently maintains a full valuation allowance on the Company&#8217;s U.S. Federal and state net deferred tax assets. We expect to maintain this valuation allowance for the foreseeable future.</span></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_61"></div><div style="margin-bottom:12pt;margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Results of Operations</span></div><div style="margin-bottom:12pt;margin-top:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In this section, we discuss the results of our operations for the year ended December&#160;31, 2023 compared to the year ended December&#160;31, 2022. For a discussion of the year ended December&#160;31, 2022 compared to the year ended December&#160;31, 2021, please refer to Part II, Item 7, &#8220;Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations&#8221; in our Annual Report on Form 10-K for the year ended December&#160;31, 2022. </span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.976%"><tr><td style="width:1.0%"/><td style="width:67.880%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.538%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.671%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.538%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.673%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Consolidated Statement of Operations:</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">505,988&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">432,725&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of revenue</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">239,660&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">222,944&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross profit</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">266,328&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">209,781&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating expenses:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">152,190&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">155,308&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sales and marketing</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">191,773&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">179,869&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">General and administrative</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">116,077&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">120,803&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Impairment expense</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,316&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total operating expenses</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">464,356&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">455,980&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Loss from operations</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(198,028)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(246,199)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net gain on extinguishment of debt</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,416&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">54,391&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest income</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,186&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,044&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest expense</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,051)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,887)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other expense, net</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,832)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(29)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Loss before income tax expense</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(133,309)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(190,680)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income tax expense (benefit)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(221)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">94&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss attributable to common stockholders</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(133,088)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(190,774)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">78</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables set forth our results of operations for the period presented as a percentage of our revenue:</span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.976%"><tr><td style="width:1.0%"/><td style="width:67.880%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.538%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.671%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.538%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.673%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Consolidated Statements of Operations, as a percentage of revenue:*</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revenue</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross profit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">53&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating expenses:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">36&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sales and marketing</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">General and administrative</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Impairment expense</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total operating expenses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">92&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">105&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Loss from operations</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(39)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(57)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net gain on extinguishment of debt</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest income</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest expense</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other income (expense), net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Loss before income tax expense</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(26)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(43)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income tax expense (benefit)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss attributable to common stockholders</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(26)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(43)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">__________</span></div><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">*&#160;&#160;&#160;&#160;Columns may not add up to 100% due to rounding.</span></div><div style="margin-bottom:12pt"><span><br/></span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue</span></div><div style="margin-bottom:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:41.590%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.496%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.496%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.496%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.502%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">$ Change</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">% Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in&#160;thousands)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">505,988&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">432,725&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,263&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue was $506.0 million for the year ended December&#160;31, 2023 compared to $432.7 million for the year ended December&#160;31, 2022, an increase of $73.3 million, or 17%. Revenue growth was driven by a $58.1 million increase in revenue related to further adoption of our modern edge platform and products, as well as a $14.7 million increase in revenue related to products acquired from the acquisition of Signal Sciences.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the years ended December&#160;31, 2023 and 2022, approximately 95% and 94% of our revenue was driven by usage on our platform, respectively. Revenue was primarily from existing customers, as revenue from new customers contributed less than 10% of our revenue. The proportion of the revenue contribution between new and existing customers is consistent with prior periods and typical customer behavior as customers tend to contribute more revenue over time as their use of the platform increases. The remainder of our revenue was generated by our other products and services, including support and professional services.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under the prior methodology, as defined earlier in the &#8216;Key Business Metrics&#8217; section, we had 3,097 customers and 532 enterprise customers as of December&#160;31, 2023, compared to 2,958 customers and 493 enterprise customers as of December&#160;31, 2022. This represents an increase of 139, or 5%, in customers and 39, or 8%, in enterprise customers from December&#160;31, 2022.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">79</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under the new methodology, as defined earlier in the &#8216;Key Business Metrics&#8217; section, we had 3,243 customers and 578 enterprise customers as of December&#160;31, 2023, compared to 3,062 customers and 533 enterprise customers as of December&#160;31, 2022. This represents an increase of 181, or 6% in customers and 45, or 8%, in enterprise customers from December&#160;31, 2022. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> U.S. revenue was $370.4 million and 73% of revenue for the year ended December&#160;31, 2023, and $316.1 million and 73% of revenue for the year ended December&#160;31, 2022. This represents an increase of $54.3 million, or 17%. International revenue was $135.6&#160;million and 27% of revenue for the year ended December&#160;31, 2023, compared to $116.6 million and 27% of revenue for the year ended December&#160;31, 2022. This represents an increase of $19.0 million, or 16%. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under the prior methodology, we had 2,028 domestic customers and 1,069 international customers as of December&#160;31, 2023, and 2,074 domestic customers and 884 international customers as of December&#160;31, 2022. There was a decrease in domestic customers of 46, or 2%, and an increase in international customers of 185, or 21%, compared to December&#160;31, 2022.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under the new methodology, we had 2,117 domestic customers and 1,126 international customers as of December&#160;31, 2023, and 2,145 domestic customers and 917 international customers as of December&#160;31, 2022. There was a decrease in domestic customers of 28, or 1%, and an increase in international customers of 209, or 23%, compared to December&#160;31, 2022.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cost of Revenue</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:41.151%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.350%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.496%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.795%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">$ Change</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">% Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in&#160;thousands)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">239,660&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">222,944&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,716&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenue was $239.7 million for the year ended December&#160;31, 2023 compared to $222.9 million for the year ended December&#160;31, 2022, an increase of $16.7 million, or 7%. The increase in cost of revenue is a result of an increase in bandwidth costs of $10.1&#160;million, $7.9 million increase in depreciation expense as a result of increased investments in our platform as well as an increase in repair and maintenance cost of $1.2 million. There was also a $1.3 million increase in personnel-related costs due to an increase in headcount and equity awards granted to employees supporting the growth of our business. This increase was partially offset by a decrease of $2.0 million in software and network costs, a $1.1 million decrease in colocation costs as well as a $0.6 million decrease in loss on disposals of fixed assets.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Gross Profit and Gross Margin</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:42.174%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.350%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.350%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.350%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.356%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">$ Change</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">% Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in&#160;thousands)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross profit</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">266,328&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">209,781&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">56,547&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross margin</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">53&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gross profit was $266.3 million for the year ended December&#160;31, 2023 compared to $209.8 million for the year ended December&#160;31, 2022, an increase of $56.5 million, or 27%. Gross margin was 53% for the year ended December&#160;31, 2023 compared to 48% for the year ended December&#160;31, 2022, an increase of 5%. The increase in gross margin was driven by revenue related to further adoption of our modern edge platform and products, as well as an increase in revenue related to products acquired from the acquisition of Signal Sciences. Our revenue growth during the year ended December 31, 2023 outpaced the increases in the costs incurred to support the growth of our network. </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">80</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Operating Expenses</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:42.905%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.209%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">$ Change</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">% Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in&#160;thousands)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">152,190&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">155,308&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,118)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sales and marketing</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">191,773&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">179,869&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,904&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">General and administrative</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">116,077&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">120,803&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,726)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Impairment expense</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,316&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,316&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total operating expenses</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">464,356&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">455,980&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,376&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Percentage of revenue:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">36&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sales and marketing</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">General and administrative</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Impairment expense</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Research and development</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development expenses were $152.2 million for the year ended December&#160;31, 2023 compared to $155.3 million for the year ended December&#160;31, 2022, a decrease of $3.1 million, or 2%. This decrease was primarily due to a decrease of $12.9 million in stock-based compensation expense primarily related to restricted stock awards that fully vested in 2022. The decrease was also due to a $3.1 million increase in capitalized software from headcount growth as well as a $1.6 million decrease in professional fees related to temporary agency costs. This decrease was partially offset by an increase of $10.4 million of personnel-related costs, such as salaries and benefits due to an increase in headcount as well as a $2.8 million increase in costs associated with the transition and separation of a former executive.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Sales and marketing</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sales and marketing expenses were $191.8 million for the year ended December&#160;31, 2023 compared to $179.9 million for the year ended December&#160;31, 2022, an increase of $11.9 million, or 7%. This increase was primarily due to a $15.0 million increase in personnel related costs, such as salaries, sales commissions, and benefits. The increase was also due to a $4.4 million increase in marketing spend associated with brand campaign and advertising, as well as $1.0 million increase in travel and entertainment expenses. The increase was partially offset by a $5.4 million decrease in stock-based compensation expenses primarily due to restricted stock awards that fully vested in 2022. There was also a $1.0 million decrease in corporate expenses, $0.9 million decrease in professional fees, $0.9 million decrease in amortization expense as well as a $0.6 million decrease of capitalized software.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">General and administrative</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">General and administrative costs were $116.1 million for the year ended December&#160;31, 2023 compared to $120.8 million for the year ended December&#160;31, 2022, a decrease of $4.7 million, or 4%. The decrease was primarily due to a $6.7 million decrease in professional fees related to temporary agency costs, as well as a $4.1 million decrease due to sales tax refund and changes in sales tax reserve. The decrease was also due to a $1.9 million decrease in acquisition-related costs, a $1.4 million decrease in impairment of right of use assets, $1.1 million decrease in insurance. This decrease was partially offset by a $6.9 million increase in stock-based compensation expenses primarily due to new awards granted, a $3.1 million increase in personnel related costs, as well as a $1.1 million increase in travel and entertainment expenses.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Impairment expense</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the year ended December&#160;31, 2023, the Company recognized an impairment charge of $4.3&#160;million, of which $3.0&#160;million related to property and equipment, net and $1.3&#160;million related to advance payments for the purchase of property and equipment. The write-off was primarily related to excess computer and networking equipment including software we expect to not be used. There were no such impairment charges recognized during the year ended December&#160;31, 2022.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">81</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Net Gain on Extinguishment of Debt</span></div><div style="margin-bottom:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:42.467%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.350%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.350%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.355%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">$ Change</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">% Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in&#160;thousands)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net gain on extinguishment of debt</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,416&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">54,391&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,975)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Net gain on extinguishment of debt was $52.4 million for the year ended December&#160;31, 2023 compared to $54.4 million for the year ended December&#160;31, 2022, a decrease of $2.0 million, or 4%. The decrease was primarily due to a lower repurchase price we paid for the transaction during the year ended December&#160;31, 2022 as compared to the repurchase transactions during the year ended December&#160;31, 2023.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Other Income and Expense</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Interest income</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:42.905%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.209%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">$ Change</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">% Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in&#160;thousands)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest income</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,186&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,044&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,142&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">158&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Interest income was $18.2 million for the year ended December&#160;31, 2023 compared to $7.0 million for the year ended December&#160;31, 2022, an increase of $11.1 million, or 158%. This increase was due to an increase in interest rates on our cash balances and investments portfolio.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Interest expense</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:42.759%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.209%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">$ Change</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">% Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in&#160;thousands)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest expense</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,051)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,887)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,836&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(31)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Interest expense was $4.1 million for the year ended December&#160;31, 2023 compared to $5.9 million for the year ended December&#160;31, 2022, a decrease of $1.8 million, or 31%. This decrease was primarily due to the repurchases that occurred during the years ended December&#160;31, 2022 and December&#160;31, 2023 which reduced the principal amount of our notes. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Other income (expense), net</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:42.905%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.209%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">$ Change</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">% Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in&#160;thousands)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other expense, net</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,832)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(29)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,803)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,217&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other expense, net was $1.8 million for the year ended December&#160;31, 2023 compared to other expense, net, of less than $0.1 million for the year ended December&#160;31, 2022, a decrease of $1.8 million, or 6217%. The decrease was mainly driven by our foreign currency transaction gains between the periods.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Income Taxes</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:42.905%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.209%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">$ Change</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">% Change</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in&#160;thousands)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income tax expense (benefit)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(221)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">94&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(315)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(335)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Income tax benefit was $0.2 million for the year ended December&#160;31, 2023 and income tax expense of $0.1 million for the year ended December&#160;31, 2022. The Company continues to maintain a full valuation allowance in the U.S. and the tax expense (benefit) for the periods were primarily due to foreign tax expense.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">82</span></div></div></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_64"></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Liquidity and Capital Resources</span></div><div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of&#160;December&#160;31, 2023, we had cash, cash equivalents, and marketable securities totaling&#160;$328.8 million. Our cash, cash equivalents, and marketable securities primarily consisted of bank deposits, money market funds, investment-grade commercial paper, corporate notes and bonds, U.S. treasury securities, municipal securities, foreign government and supranational securities and asset-backed securities held at major financial institutions.&#160;As of December&#160;31, 2023, our marketable securities balance includes $6.1&#160;million of marketable securities that were classified as non-current.</span></div><div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">To date, we have financed our operations primarily through equity issuances, payments received from customers, the net proceeds we received through sales of our debt securities, and proceeds from our convertible notes. Our principal uses of cash in the near term have primarily been around funding our operations, our capital expenditures, business acquisitions, investments and fulfilling our debt and contractual commitments. We have also entered into longer term commitments to support our operations, including arrangements to directly lease and operate our infrastructure assets and colocation facilities. We have not entered into any off-balance sheet arrangements and do not have any holdings in variable interest entities.</span></div><div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We believe that our cash and cash equivalents balances, and available borrowing capacity under our credit facility, and the cash flows generated by our operations, net of the cash outflows used in our operations, will be sufficient to satisfy our anticipated cash needs for working capital and capital expenditures for at least the next 12 months. We have generated losses from operations in the past and expect to continue to incur operating losses for the foreseeable future due to the investments and strategic initiatives we intend to make to grow our business. Our uses of cash beyond the next 12 months will depend on many factors, including the general economic environment in which we operate and our ability to generate cash flow from operations, which are uncertain. We may also use our cash to buy back any outstanding debt on our convertible notes or on any future equity issuances.</span></div><div style="margin-bottom:12pt;margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Senior Secured Credit Facilities Agreement</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 16, 2021, we entered into a Senior Secured Credit Facilities Agreement (&#8220;Credit Agreement&#8221;) with the lenders from time to time party thereto (the &#8220;Lenders&#8221;) and Silicon Valley Bank, as a lender and as administrative agent and collateral agent for the Lenders for an aggregate commitment amount of $100.0 million, with a maturity date of February 16, 2024. The Credit Agreement originally bore interest at a rate per annum equal to the sum of LIBOR for the applicable interest period plus 1.75% to 2.00%, depending on the average daily outstanding balance of all loans and letters of credit under the Credit Agreement. On June 28, 2023, we entered into the First Amendment to Credit Agreement with the Lenders and First-Citizens Bank &amp; Trust Company (successor by purchase to the Federal Deposit Insurance Corporation as Receiver for Silicon Valley Bridge Bank, N.A. (as successor to Silicon Valley Bank)), as a lender and as administrative agent and collateral agent for the Lenders, which, among other things, amended the interest rate provisions of the Credit Agreement to replace LIBOR with the Secured Overnight Finance Rate (&#8220;SOFR&#8221;) as the interest rate benchmark. On February 16, 2024, we entered into the Second Amendment to Credit Agreement with the Lenders and Silicon Valley Bank, a division of First-Citizens Bank &amp; Trust Company, as a lender and as administrative agent and collateral agent for the Lenders, which, among other things, extended the maturity date of the loans under the Credit Agreement to June 14, 2024. As amended, the revolving loans bear interest, at the Company&#8217;s election, at an annual rate based on SOFR or a base rate. Loans based on SOFR bear interest at a rate per annum equal to SOFR, plus an adjustment of 0.10%, plus 1.75% to 2.00%, depending on the average daily outstanding balance of all loans and letters of credit under the Credit Agreement. Loans based on the base rate bear interest at a rate per annual equal to the base rate plus 0.75% to 1.00%, depending on the average daily outstanding balance of all loans and letters of credit under the Credit Agreement. </span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Interest payments on outstanding borrowings are due on the last day of each interest period. The Credit Agreement has a commitment fee on the unused portion of the borrowing commitment, which is payable on the last day of each calendar quarter at a rate per annum of 0.20% to 0.25% depending on the average daily outstanding balance of all loans and letters of credit under the Credit Agreement. The Credit Agreement contains a financial covenant that requires us to maintain a consolidated adjusted quick ratio of at least 1:25 to 1:00 tested on a quarterly basis as well as a springing revenue growth covenant for certain periods if our consolidated adjusted quick ratio falls below 1.75 to 1:00 on the last day of any fiscal quarter. As of December&#160;31, 2023, we were in compliance with these covenants and we expect to continue to be in compliance for at least the next 12 months. During the year ended December&#160;31, 2023 and 2022, no amounts were drawn down on the Credit Agreement. </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">83</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Convertible Senior Notes</span></div><div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In March 2021, we issued $948.8 million aggregate principal amount of 0% convertible senior unsecured notes due in 2026 (the &#8220;Notes&#8221;) in a private placement to qualified institutional buyers pursuant to Rule144A under the Securities Act. </span></div><div style="margin-bottom:12pt;margin-top:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">During the year ended December&#160;31, 2023, we entered into several separate, privately negotiated transactions with certain holders of the Notes to repurchase $367.3&#160;million aggregate principal amount of the Notes for an aggregate repurchase price of $309.1&#160;million and aggregate transaction costs of $2.0&#160;million. The Repurchases were accounted for as a debt extinguishment that resulted in a net gain of $52.4&#160;million, which was recorded as non-operating income on our consolidated statement of operations for the year ended December&#160;31, 2023.</span></div><div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The remaining Notes will mature on March 15, 2026, unless earlier converted, redeemed or repurchased. </span></div><div style="margin-bottom:12pt;margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash Flows</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes our cash flows for the period indicated:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:66.103%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.295%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.002%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.004%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net cash (used in) provided by operating activities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">362&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(69,632)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(38,482)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net cash (used in) provided by investing activities </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">294,940&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">235,751&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(794,511)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net cash (used in) provided by financing activities </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(331,380)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(189,149)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">936,551&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Cash Flows from Operating Activities</span></div><div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the year ended December&#160;31, 2023, cash provided by operating activities consisted primarily of our net loss of $133.1 million, adjusted for non-cash items of $203.3 million, and net cash flows used in operating assets and liabilities of $69.9 million. The main drivers of the changes in operating assets and liabilities were an increase in accounts receivable of $32.9 million, primarily due to an increase in revenue and the timing of cash receipts, an increase in other assets of $23.1 million related to deferred contract costs as well as $22.1 million of operating lease payments. This was partially offset by decreases of $8.7&#160;million in prepaid expenses.</span></div><div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the year ended December 31, 2022, cash used in operating activities consisted primarily of our net loss of $190.8 million, adjusted for non-cash items of $207.3 million, and net cash flows used in operating assets and liabilities of $86.2 million. The main drivers of the changes in operating assets and liabilities were an increase in other assets of $35.4 million related to deferred contract costs, an increase in accounts receivable of $27.4 million, primarily due to an increase in revenue and the timing of cash receipts from certain of our larger customers and an increase of $6.8&#160;million in prepaid expenses and other assets due to pre-payments for hosting services and software licenses. We also had $27.0 million of operating lease payments. There were also increases of $8.3&#160;million in accrued expenses and $2.1&#160;million in accounts payable and other liabilities due to timing of payments. </span></div><div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the year ended December 31, 2021, cash used in operating activities consisted primarily of our net loss of $222.7 million adjusted for non-cash items of $227.3 million. With respect to changes in operating assets and liabilities, there was an increase in accounts receivable of $14.6 million, primarily due to an increase in revenue and the timing of cash receipts from certain of our larger customers and an increase of $15.2&#160;million in prepaid expenses and other assets due to pre-payments for software licenses. We also had $26.4 million of operating lease payments. This was partially offset by increases of $4.3&#160;million in accrued expenses and $8.9&#160;million in other liabilities due to timing of payments. </span></div><div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:112%">Cash Flows from Investing Activities</span></div><div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the year ended December&#160;31, 2023, cash provided by investing activities was $294.9 million, primarily consisting of $459.4 million of maturities and sales of marketable securities. This was offset by $132.2 million in purchases of marketable securities, $21.3 million of additions to capitalized internal-use software, and $11.0 million of payments related to purchases of property and equipment to expand our network.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">84</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the year ended December 31, 2022, cash provided by investing activities was $235.8 million, primarily consisting of $697.0 million of maturities and sales of marketable securities. This was offset by $355.5 million in purchases of marketable securities, $42.2 million of advanced payments and $20.0 million of payments related to purchases of property and equipment to expand our network, $26.0 million related to business acquisitions and $18.1 million of additions to capitalized internal-use software. </span></div><div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the year ended December 31, 2021, cash used in investing activities was $794.5 million, primarily consisting of $928.2 million in purchases of marketable securities, $34.8 million of payments related to purchases of property and equipment to expand our network, and $13.5 million of additions to capitalized internal-use software. This was partially offset by $184.6 million of maturities and sales of marketable securities.</span></div><div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Cash Flows from Financing Activities</span></div><div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the year ended December&#160;31, 2023, cash used in financing activities was $331.4 million, primarily consisting of $310.5 million used for the partial repurchase of our convertible debt, $27.2 million of finance lease liabilities repayments and $4.4 million in payments for deferred consideration for business acquisitions. This was partially offset by $8.6 million in proceeds from the employee stock purchase plan (</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">&#8220;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ESPP&#8221;) and $2.2 million in proceeds from stock option exercises by our employees and directors.</span></div><div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the year ended December 31, 2022, cash used in financing activities was $189.1 million, primarily consisting of $177.1 million used for the partial repurchase of our convertible debt and $22.5 million of finance lease liabilities repayments. This was partially offset by $4.8 million in proceeds from the ESPP and $5.7 million in proceeds from stock option exercises by our employees and directors.</span></div><div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the year ended December 31, 2021, cash provided by financing activities was $936.6 million, primarily consisting of $930.8&#160;million of proceeds from the issuance of the Notes, net of issuance costs, $8.1 million in proceeds from the ESPP and $12.6 million in proceeds from stock option exercises by our employees and directors. This was partially offset by $13.6 million of finance lease liabilities repayments.</span></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_67"></div><div style="margin-bottom:12pt;margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Contractual Obligations and Other Commitments</span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes our&#160;non-cancelable&#160;contractual obligations as of December&#160;31, 2023: </span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:33.110%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.336%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Less than 1 Year</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">1-3 Years</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">3-5 Years</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">More than 5 Years</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="27" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Purchase obligations &#8211; non-equipment</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">54,638&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,990&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">151&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">62,779&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Purchase obligations &#8211; equipment </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,541&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,120&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,661&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease obligations</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(3)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,160&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39,764&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,948&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,838&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">82,710&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance lease obligations</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(4)</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,064&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,617&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,681&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Debt obligation</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(5)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">346,489&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">346,489&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">103,403&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">407,980&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,099&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,838&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">526,320&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">__________</span></div><div style="padding-left:27pt;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)&#160;&#160;&#160;&#160;Purchase obligations-non equipment represent total future minimum payments under contracts with our cloud infrastructure providers, network service providers, and other vendors. Purchase obligations exclude agreements that are cancellable without penalty. Our purchase obligations exclude our operating lease commitments associated with our colocation arrangements which have been separately disclosed under our operating lease obligations.</span></div><div style="padding-left:27pt;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2) &#160;&#160;&#160;&#160;Purchase obligations-equipment represent total future minimum payments under contracts for capital expenditures.</span></div><div style="padding-left:27pt;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3) &#160;&#160;&#160;&#160;Operating lease obligations represent total future minimum rent payments under&#160;non-cancelable&#160;operating lease agreements, such as our facilities and colocation (i.e. data center) leases.</span></div><div style="padding-left:27pt;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4)&#160;&#160;&#160;&#160;Finance lease obligations represents principal and interest payments under our networking equipment leases.</span></div><div style="padding-left:27pt;text-indent:-27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(5)&#160;&#160;&#160;&#160;Debt obligation aggregate principal amount of our 0% convertible senior notes due on March 15, 2026.</span></div><div style="padding-left:27pt;text-indent:-27pt"><span><br/></span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">These commitments will generally be settled with existing cash on hand, cash generated from operations and our current or any future financing arrangements. </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">85</span></div></div></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_70"></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Critical Accounting Estimates</span></div><div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We prepare our consolidated financial statements in accordance with U.S.&#160;GAAP. The preparation of our consolidated financial statements requires us to make estimates, judgments, and assumptions that affect the reported amounts of assets, liabilities, revenue, costs, expenses, and related disclosures. Actual results and outcomes could differ significantly from our estimates, judgments, and assumptions. To the extent that there are material differences between these estimates and actual results, our future financial statement presentation, financial condition, results of operations, and cash flows will be affected.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue recognition</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognize revenue in accordance with ASC 606, where revenue is recognized upon transfer of control of promised products or services to customers in an amount that reflects the consideration we expect to receive in exchange for those products or services. The processing and recording of certain revenue requires a manual process, which uses a complex set of procedures to generate complete and accurate data to record these revenue transactions. We enter into contracts that can include various combinations of products and services, each of which are distinct and accounted for as separate performance obligations.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our performance obligations generally represent stand-ready obligations that are satisfied over time as the customer simultaneously receives and consumes the benefits provided by us. These obligations can be network services, security, compute, professional services, support, and other edge cloud platform services. For contracts with multiple performance obligations that are delivered over different time periods, we allocate the contract transaction price to each performance obligation using the estimated standalone selling price (</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">&#8220;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">SSP&#8221;) of each distinct good or service in the contract. Judgment is required to determine the SSP for each distinct performance obligation. We analyze separate sales of our products and services or the discounted list price per our approved price list as a basis for estimating the SSP of these products and services. In instances where SSP is not directly observable, such as when we do not sell the product or service separately, we determine the SSP using information that may include market conditions and other observable inputs. We typically have more than one SSP for individual products and services due to the stratification of those products and services by customers and circumstances. In these instances, we may use information, such as geographic region and distribution channel, in determining the SSP.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock-based Compensation Fair Value determination </span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognize compensation expense related to stock options based on the fair value of stock-based awards on the date of grant. We determine the grant date fair value of the awards using the Black-Scholes option-pricing model. The related stock-based compensation expense is recognized on a straight-line basis over the period in which an employee is required to provide service in exchange for the stock-based award, which is generally four years. Our stock price volatility and expected option life involve management&#8217;s best estimates, both of which impact the fair value of the option calculated under the Black-Scholes option pricing model and, ultimately, the expense that will be recognized over the life of the option.</span></div><div><span><br/></span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognize stock-based compensation expense related to market-based performance stock awards based on the grant-date fair value of the awards. We determine the grant date fair value of the awards using the Monte Carlo simulation valuation model. The related stock-based compensation expense is recognized on an accelerated attribution method over the derived service period. The expected volatility was a blended volatility rate which incorporated both our observed equity volatility and our relevant guideline companies&#8217; volatilities. The derived service period and the expected volatility involve management&#8217;s best estimates, both of which impact the fair value of the option calculated under the Monte Carlo simulation valuation model and, ultimately, the expense that will be recognized over the life of the option.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Valuation of Goodwill and Other Acquired Intangible Assets in Business Combinations</span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We account for our acquisitions using the acquisition method of accounting, which requires, among other things, allocation of the fair value of purchase consideration to the tangible and intangible assets acquired and liabilities assumed at their estimated fair values on the acquisition date. The excess of the fair value of purchase consideration over the values of these identifiable assets and liabilities is recorded as goodwill. </span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Determining the fair value of assets acquired and liabilities assumed requires significant judgment and estimates including the selection of valuation methodologies, future expected cash flows, discount rates, and useful lives. Our estimates of fair value are based on assumptions believed to be reasonable, but which are inherently uncertain and, as a result, actual results may </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">86</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">differ from estimates. During the measurement period, not to exceed one year from the date of acquisition, we may record adjustments to the assets acquired and liabilities assumed with a corresponding offset to goodwill to reflect new information obtained about facts and circumstances that existed as of the acquisition date. At the conclusion of the measurement period, or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments are reflected in the consolidated statements of operations.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Long-lived Assets Impairment</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-lived assets, including property and equipment, are reviewed for impairment whenever events or changes in circumstances, such as service discontinuance, technological obsolescence, facility closures, planned use of the assets or work-force reductions indicate that the carrying amount of the long-lived asset or asset group may not be recoverable. When such events occur, we compare the carrying amount of the asset or asset group to the undiscounted expected future cash flows related to the asset or asset group. If this comparison indicates that an impairment is present, the amount of the impairment is calculated as the difference between the carrying amount and the fair value of the asset or asset group. The estimates required to apply this accounting policy include forecasted usage of the long-lived assets, the useful lives of these assets and expected future cash flows.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Goodwill Impairment</span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill represents the excess of the purchase price of an acquired business over the fair value of the net tangible and identifiable intangible assets acquired. The carrying amount of goodwill is reviewed for impairment at least annually, in the fourth quarter, or whenever events or changes in circumstances indicate that the carrying value may not be recoverable. We have a single operating segment and reporting unit structure for all of the periods presented.</span></div><div style="text-indent:27pt"><span><br/></span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">To test for goodwill impairment, we compare the carrying value of our reporting unit with its fair value. If the carrying value of the goodwill is considered impaired, a loss is measured as the excess of the reporting unit&#8217;s carrying value over the fair value. As of December 31, 2023, we believe the estimated fair value of our one single reporting unit has substantially exceeded its carrying value.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"> </span></div><div><span><br/></span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Recent Accounting Pronouncements</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Please refer to Note 2&#8212;Summary of Significant Accounting Policies included in the Notes to consolidated financial statements.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">87</span></div></div></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_73"></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 7A.&#160;&#160;&#160;&#160;&#160;Quantitative and Qualitative Disclosures about Market Risk</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are exposed to certain market risks in the ordinary course of our business. These risks primarily include interest rate and currency exchange risks as follows:</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Interest Rate Risk</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We had cash, cash equivalents, and marketable securities of $328.8 million, as of December&#160;31, 2023 which primarily consisted of bank deposits, money market funds, investment-grade commercial paper, corporate notes and bonds, U.S. treasury securities, agency bonds, foreign government and supranational securities and asset-backed securities held at major financial institutions.&#160;The cash and cash equivalents are held for working capital purposes. The restricted cash is held as cash collateral in connection with our existing lease arrangements. Our cash equivalents and our investment portfolio are subject to market risk due to fluctuations in interest rates. The primary objective of our investment activities is to preserve principal while generating income without significantly increasing risk. We do not enter into investments for trading or speculative purposes and have not used any derivative financial instruments to manage our interest rate risk exposure. Due to the short-term nature of our investments, we have not been exposed to, nor do we anticipate being exposed to, material risks due to changes in interest rates. A hypothetical 10% change in interest rates during the period presented would not have had a material impact on our consolidated financial statements.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Currency Exchange Risks</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The functional currency of our foreign subsidiaries is the U.S. dollar. Therefore, we are exposed to foreign exchange rate fluctuations as we convert the financial statements of our foreign subsidiaries into U.S. dollars. Our foreign subsidiaries remeasure monetary assets and liabilities at period-end exchange rates, while non-monetary items are remeasured at historical rates. Revenue and expense accounts are remeasured at the average exchange rate in effect during the period. If there is a change in foreign currency exchange rates, the conversion of our foreign subsidiaries&#8217; financial statements into U.S. dollars would result in a realized gain or loss which is recorded in our consolidated statements of operations. We do not currently engage in any hedging activity to reduce our potential exposure to currency fluctuations, although we may choose to do so in the future. A hypothetical 10% change in foreign exchange rates during the period presented would not have had a material impact on our consolidated financial statements.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">88</span></div></div></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_76"></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 8. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Financial Statements and Supplementary Data</span></div><div style="margin-bottom:12pt;text-align:center"><span><br/></span></div><div style="margin-bottom:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">FASTLY, INC.</span></div><div style="margin-bottom:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">INDEX TO CONSOLIDATED FINANCIAL STATEMENTS</span></div><div style="margin-bottom:12pt;text-align:center"><span><br/></span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following financial statements are filed as part of this Annual Report on form 10-K:</span></div><div style="margin-bottom:12pt"><span><br/></span></div><div style="margin-bottom:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_79">Report of Independent Registered Public Accounting Firm</a></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"> </span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">(PCAOB ID No. <ix:nonNumeric contextRef="c-1" name="dei:AuditorFirmId" id="f-37">34</ix:nonNumeric>)</span></div><div style="margin-bottom:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_82">Consolidated Balance Sheets</a></span></div><div style="margin-bottom:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_85">Consolidated Statements of Operations</a></span></div><div style="margin-bottom:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_88">Consolidated Statements of Comprehensive Loss</a></span></div><div style="margin-bottom:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_91">Consolidated Statements of Stockholders</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_91">&#8217;</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_91"> Equity</a></span></div><div style="margin-bottom:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_94">Consolidated Statements of Cash Flows</a></span></div><div style="margin-bottom:12pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#ifeb57f42291446d88b3e56f9c1e58c38_97">Notes to Consolidated Financial Statements</a></span></div><div style="margin-bottom:12pt"><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="margin-bottom:12pt"><span><br/></span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">89</span></div></div></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_79"></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">To the stockholders and the Board of Directors of Fastly, Inc.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Opinion on the Financial Statements</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have audited the accompanying consolidated balance sheets of Fastly, Inc. and subsidiaries (the </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">&#8220;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Company&#8221;) as of December&#160;31, 2023 and 2022, the related consolidated statements of operations, comprehensive loss, stockholders&#8217; equity, and cash flows, for each of the three years in the period ended December&#160;31, 2023, and the related notes (collectively referred to as the </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">&#8220;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">financial statements&#8221;). In our opinion, the financial statements present fairly, in all material respects, the financial position of the Company as of December&#160;31, 2023 and 2022, and the results of its operations and its cash flows for each of the three years in the period ended December&#160;31, 2023, in conformity with accounting principles generally accepted in the United States of America.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have also audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States) (PCAOB), the Company&#8217;s internal control over financial reporting as of December&#160;31, 2023, based on criteria established in </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Internal Control &#8212; Integrated Framework (2013)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> issued by the Committee of Sponsoring Organizations of the Treadway Commission and our report dated February&#160;21, 2024, expressed an unqualified opinion on the Company's internal control over financial reporting. </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Basis for Opinion</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">These financial statements are the responsibility of the Company&#8217;s management. Our responsibility is to express an opinion on the Company&#8217;s financial statements based on our audits. We are a public accounting firm registered with the PCAOB and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether the financial statements are free of material misstatement, whether due to error or fraud. Our audits included performing procedures to assess the risks of material misstatement of the financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the financial statements. We believe that our audits provide a reasonable basis for our opinion.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Critical Audit Matter</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The critical audit matter communicated below is a matter arising from the current-period audit of the financial statements that was communicated or required to be communicated to the audit committee and that (1) relates to accounts or disclosures that are material to the financial statements and (2) involved our especially challenging, subjective, or complex judgments. The communication of critical audit matters does not alter in any way our opinion on the financial statements, taken as a whole, and we are not, by communicating the critical audit matter below, providing a separate opinion on the critical audit matter or on the accounts or disclosures to which it relates.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Revenue &#8211; Refer to Notes 2 and 3 to the financial statements </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Critical Audit Matter Description</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue is recognized upon transfer of control of promised products or services to customers in an amount that reflects the consideration the Company expects to receive in exchange for those products or services. The processing and recording of certain revenue requires a manual process, and therefore the Company uses a complex set of procedures to generate complete and accurate data to record its revenue transactions. </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We identified manually processed revenue as a critical audit matter </span><span style="color:#212529;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">as the manually processed revenue requires a complex set of manual procedures to generate complete and accurate data to process and record revenue.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> This required an increased extent of effort to audit these manually processed revenue transactions.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">90</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">How the Critical Audit Matter Was Addressed in the Audit </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our audit procedures related to manually processed revenue included the following, among others: </span></div><div style="margin-bottom:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">We tested the effectiveness of controls over the recognition of manually processed revenue.</span></div><div style="margin-bottom:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">We obtained an understanding of the nature of the manually processed revenue through inquiry with the Company personnel responsible for the invoice as well as review of the contract with the customer. </span></div><div style="margin-bottom:12pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">For a sample of manually processed revenue transactions, we recalculated the manually processed revenue by comparing key attributes utilized in our recalculation to source information and documents, including usage, bandwidth, and other services provided. We compared our recalculation of manually processed revenue transactions to the Company&#8217;s recorded revenue and evaluated any differences.</span></div><div style="margin-bottom:0.5pt;padding-left:6.75pt"><span><br/></span></div><div style="margin-bottom:0.15pt;padding-left:4.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">/s/ <ix:nonNumeric contextRef="c-1" name="dei:AuditorName" id="f-38">Deloitte &amp; Touche LLP</ix:nonNumeric></span></div><div style="padding-left:4.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:AuditorLocation" id="f-39">San Francisco, California</ix:nonNumeric></span></div><div style="padding-left:4.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">February&#160;21, 2024</span></div><div style="padding-left:4.5pt"><span><br/></span></div><div style="padding-left:4.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have served as the Company&#8217;s auditor since 2014.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">91</span></div></div></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_82"></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">FASTLY, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONSOLIDATED BALANCE SHEETS</span></div><div style="margin-bottom:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands, except share amounts)</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:69.660%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.792%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">As of December 31, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">As of December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">ASSETS</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Current assets:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash and cash equivalents</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-40">107,921</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-41">143,391</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Marketable securities, current</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:MarketableSecuritiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-42">214,799</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:MarketableSecuritiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-43">374,581</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accounts receivable, net of allowance for credit losses of $<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-44">7,054</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-45">5,029</ix:nonFraction> as of December 31, 2023 and December&#160;31, 2022, respectively</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AccountsReceivableNetCurrent" format="ixt:num-dot-decimal" scale="3" id="f-46">120,498</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AccountsReceivableNetCurrent" format="ixt:num-dot-decimal" scale="3" id="f-47">89,578</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="f-48">20,455</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="f-49">28,933</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total current assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="f-50">463,673</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="f-51">636,483</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Property and equipment, net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-52">176,608</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-53">180,378</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating lease right-of-use assets, net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:OperatingLeaseRightOfUseAsset" format="ixt:num-dot-decimal" scale="3" id="f-54">55,212</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:OperatingLeaseRightOfUseAsset" format="ixt:num-dot-decimal" scale="3" id="f-55">68,440</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-56">670,356</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-57">670,185</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Intangible assets, net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" format="ixt:num-dot-decimal" scale="3" id="f-58">62,475</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" format="ixt:num-dot-decimal" scale="3" id="f-59">82,900</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Marketable securities, non-current</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:MarketableSecuritiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-60">6,088</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:MarketableSecuritiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-61">165,105</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:OtherAssetsNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-62">90,779</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:OtherAssetsNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-63">92,622</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-64">1,525,191</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-65">1,896,113</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">LIABILITIES AND STOCKHOLDERS&#8217; EQUITY</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Current liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accounts payable</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AccountsPayableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-66">5,611</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AccountsPayableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-67">4,786</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued expenses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AccruedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-68">61,818</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AccruedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-69">61,161</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Finance lease liabilities, current</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:FinanceLeaseLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="f-70">15,684</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:FinanceLeaseLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="f-71">28,954</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating lease liabilities, current</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:OperatingLeaseLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="f-72">24,042</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:OperatingLeaseLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="f-73">23,026</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other current liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:OtherLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-74">40,539</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:OtherLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-75">34,394</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total current liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-76">147,694</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:LiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-77">152,321</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Long-term debt</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LongTermDebtNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-78">343,507</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:LongTermDebtNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-79">704,710</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Finance lease liabilities, non-current</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:FinanceLeaseLiabilityNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-80">1,602</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:FinanceLeaseLiabilityNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-81">15,507</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating lease liabilities, non-current</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:OperatingLeaseLiabilityNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-82">48,484</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:OperatingLeaseLiabilityNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-83">61,341</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other long-term liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:OtherLiabilitiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-84">4,416</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:OtherLiabilitiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-85">7,076</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:Liabilities" format="ixt:num-dot-decimal" scale="3" id="f-86">545,703</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:Liabilities" format="ixt:num-dot-decimal" scale="3" id="f-87">940,955</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commitments and contingencies (Note&#160;10)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"><ix:nonFraction unitRef="usd" contextRef="c-4" xsi:nil="true" name="us-gaap:CommitmentsAndContingencies" id="f-88"></ix:nonFraction></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"><ix:nonFraction unitRef="usd" contextRef="c-5" xsi:nil="true" name="us-gaap:CommitmentsAndContingencies" id="f-89"></ix:nonFraction></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Stockholders&#8217; equity:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Class A Common stock, $<ix:nonFraction unitRef="usdPerShare" contextRef="c-4" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="f-90"><ix:nonFraction unitRef="usdPerShare" contextRef="c-5" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="f-91">0.00002</ix:nonFraction></ix:nonFraction> par value; <ix:nonFraction unitRef="shares" contextRef="c-5" decimals="INF" name="us-gaap:CommonStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="f-92"><ix:nonFraction unitRef="shares" contextRef="c-4" decimals="INF" name="us-gaap:CommonStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="f-93">1,000,000,000</ix:nonFraction></ix:nonFraction> shares authorized as of both December&#160;31, 2023 and 2022; <ix:nonFraction unitRef="shares" contextRef="c-4" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="f-94"><ix:nonFraction unitRef="shares" contextRef="c-4" decimals="INF" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="0" id="f-95">132,992,126</ix:nonFraction></ix:nonFraction> and <ix:nonFraction unitRef="shares" contextRef="c-5" decimals="INF" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="0" id="f-96"><ix:nonFraction unitRef="shares" contextRef="c-5" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="f-97">124,336,171</ix:nonFraction></ix:nonFraction> shares issued and outstanding at December&#160;31, 2023 and 2022, respectively</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:CommonStockValue" scale="3" id="f-98">3</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:CommonStockValue" scale="3" id="f-99">2</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Additional paid-in capital</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AdditionalPaidInCapital" format="ixt:num-dot-decimal" scale="3" id="f-100">1,815,245</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AdditionalPaidInCapital" format="ixt:num-dot-decimal" scale="3" id="f-101">1,666,106</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accumulated other comprehensive loss</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-102">1,008</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-103">9,286</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accumulated deficit</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" sign="-" name="us-gaap:RetainedEarningsAccumulatedDeficit" format="ixt:num-dot-decimal" scale="3" id="f-104">834,752</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" sign="-" name="us-gaap:RetainedEarningsAccumulatedDeficit" format="ixt:num-dot-decimal" scale="3" id="f-105">701,664</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total stockholders&#8217; equity</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-106">979,488</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-107">955,158</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total liabilities and stockholders&#8217; equity</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LiabilitiesAndStockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-108">1,525,191</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:LiabilitiesAndStockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-109">1,896,113</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div><span><br/></span></div><div><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of the consolidated financial statements.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">92</span></div></div></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_85"></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">FASTLY, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONSOLIDATED STATEMENTS OF OPERATIONS</span></div><div style="margin-bottom:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands, except per share data)</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"/><td style="width:61.070%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.776%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.776%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.779%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-110">505,988</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-111">432,725</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-112">354,330</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of revenue</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="f-113">239,660</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="f-114">222,944</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="f-115">167,002</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gross profit</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="f-116">266,328</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="f-117">209,781</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="f-118">187,328</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating expenses:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Research and development</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ResearchAndDevelopmentExpense" format="ixt:num-dot-decimal" scale="3" id="f-119">152,190</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:ResearchAndDevelopmentExpense" format="ixt:num-dot-decimal" scale="3" id="f-120">155,308</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:ResearchAndDevelopmentExpense" format="ixt:num-dot-decimal" scale="3" id="f-121">126,859</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sales and marketing</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:SellingAndMarketingExpense" format="ixt:num-dot-decimal" scale="3" id="f-122">191,773</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:SellingAndMarketingExpense" format="ixt:num-dot-decimal" scale="3" id="f-123">179,869</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:SellingAndMarketingExpense" format="ixt:num-dot-decimal" scale="3" id="f-124">152,645</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">General and administrative</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:GeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="f-125">116,077</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:GeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="f-126">120,803</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:GeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="f-127">126,845</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Impairment expense</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="fsly:AssetImpairmentChargesExcludingOperatingLeaseImpairment" format="ixt:num-dot-decimal" scale="3" id="f-128">4,316</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="fsly:AssetImpairmentChargesExcludingOperatingLeaseImpairment" format="ixt:fixed-zero" scale="3" id="f-129">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="fsly:AssetImpairmentChargesExcludingOperatingLeaseImpairment" format="ixt:fixed-zero" scale="3" id="f-130">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total operating expenses</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OperatingExpenses" format="ixt:num-dot-decimal" scale="3" id="f-131">464,356</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:OperatingExpenses" format="ixt:num-dot-decimal" scale="3" id="f-132">455,980</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:OperatingExpenses" format="ixt:num-dot-decimal" scale="3" id="f-133">406,349</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Loss from operations</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-134">198,028</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-135">246,199</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-136">219,021</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net gain on extinguishment of debt</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" format="ixt:num-dot-decimal" scale="3" id="f-137">52,416</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" format="ixt:num-dot-decimal" scale="3" id="f-138">54,391</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" format="ixt:fixed-zero" scale="3" id="f-139">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Interest income</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:InvestmentIncomeInterest" format="ixt:num-dot-decimal" scale="3" id="f-140">18,186</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:InvestmentIncomeInterest" format="ixt:num-dot-decimal" scale="3" id="f-141">7,044</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:InvestmentIncomeInterest" format="ixt:num-dot-decimal" scale="3" id="f-142">1,282</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Interest expense</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:InterestExpense" format="ixt:num-dot-decimal" scale="3" id="f-143">4,051</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:InterestExpense" format="ixt:num-dot-decimal" scale="3" id="f-144">5,887</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:InterestExpense" format="ixt:num-dot-decimal" scale="3" id="f-145">5,245</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other income (expense), net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:OtherNonoperatingIncomeExpense" format="ixt:num-dot-decimal" scale="3" id="f-146">1,832</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="f-147">29</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="f-148">356</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Loss before income tax expense</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-149">133,309</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-150">190,680</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-151">222,628</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Income tax expense (benefit)</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="f-152">221</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="f-153">94</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="f-154">69</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net loss</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-155">133,088</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-156">190,774</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-157">222,697</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net loss per share attributable to common stockholders, basic and diluted </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usdPerShare" contextRef="c-1" decimals="2" sign="-" name="us-gaap:EarningsPerShareDiluted" scale="0" id="f-158"><ix:nonFraction unitRef="usdPerShare" contextRef="c-1" decimals="2" sign="-" name="us-gaap:EarningsPerShareBasic" scale="0" id="f-159">1.03</ix:nonFraction></ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usdPerShare" contextRef="c-6" decimals="2" sign="-" name="us-gaap:EarningsPerShareDiluted" scale="0" id="f-160"><ix:nonFraction unitRef="usdPerShare" contextRef="c-6" decimals="2" sign="-" name="us-gaap:EarningsPerShareBasic" scale="0" id="f-161">1.57</ix:nonFraction></ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usdPerShare" contextRef="c-7" decimals="2" sign="-" name="us-gaap:EarningsPerShareDiluted" scale="0" id="f-162"><ix:nonFraction unitRef="usdPerShare" contextRef="c-7" decimals="2" sign="-" name="us-gaap:EarningsPerShareBasic" scale="0" id="f-163">1.92</ix:nonFraction></ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted-average shares used in computing net loss per share attributable to common stockholders, basic and diluted</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-1" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-164"><ix:nonFraction unitRef="shares" contextRef="c-1" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-165">128,770</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-6" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-166"><ix:nonFraction unitRef="shares" contextRef="c-6" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-167">121,723</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-7" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-168"><ix:nonFraction unitRef="shares" contextRef="c-7" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-169">116,053</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:12pt;text-align:center"><span><br/></span></div><div style="margin-bottom:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of the consolidated financial statements.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">93</span></div></div></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_88"></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">FASTLY, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS</span></div><div style="margin-bottom:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"><tr><td style="width:1.0%"/><td style="width:60.902%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.829%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.829%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.832%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net loss</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-170">133,088</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-171">190,774</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-172">222,697</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other comprehensive loss:</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;Foreign currency translation adjustment</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" id="f-173">565</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" id="f-174">255</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" id="f-175">286</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-indent:20.25pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gain (loss) on investments in available-for-sale-securities</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-176">7,713</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-177">6,404</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-178">2,347</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total other comprehensive gain (loss)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-179">8,278</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-180">6,659</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-181">2,633</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Comprehensive loss</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:ComprehensiveIncomeNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-182">124,810</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:ComprehensiveIncomeNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-183">197,433</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:ComprehensiveIncomeNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-184">225,330</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:12pt;text-align:center"><span><br/></span></div><div style="margin-bottom:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of the consolidated financial statements.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">94</span></div></div></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_91"></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">FASTLY, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">CONSOLIDATED STATEMENTS OF STOCKHOLDERS&#8217; EQUITY</span></div><div style="margin-bottom:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">(in thousands)</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:29.744%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.232%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:6.800%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.341%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:6.151%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.341%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:6.800%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.341%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:6.151%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.341%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.558%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.341%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.558%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.341%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.558%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.341%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.561%"/><td style="width:0.1%"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Common Stock&#8212;Class A</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Common Stock&#8212;Class B</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Additional<br/>Paid-in<br/>Capital</span></td><td colspan="3" rowspan="2" style="padding:0 1pt"/><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Accumulated<br/>Other<br/>Comprehensive<br/>Income (Loss)</span></td><td colspan="3" rowspan="2" style="padding:0 1pt"/><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Accumulated<br/>Deficit</span></td><td colspan="3" rowspan="2" style="padding:0 1pt"/><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Total<br/>Stockholders&#8217;<br/>Equity </span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Shares</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Amount</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Shares</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Amount</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Balance as of December 31, 2020</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-8" decimals="-3" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-185">103,394</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="f-186">1</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-9" decimals="-3" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-187">10,229</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-9" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="f-188">1</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-10" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-189">1,350,050</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-11" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="f-190">6</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-12" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-191">288,193</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-192">1,061,865</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Exercise of vested stock options</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-14" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" format="ixt:num-dot-decimal" scale="3" id="f-193">2,188</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" format="ixt:num-dot-decimal" scale="3" id="f-194">12,626</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" format="ixt:num-dot-decimal" scale="3" id="f-195">12,626</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Vesting of early exercised stock options</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-14" decimals="-3" name="fsly:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestingOfEarlyExercisedStockOptionsNumberOfShares" scale="3" id="f-196">48</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-16" decimals="-3" name="fsly:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestingOfEarlyExercisedStockOptionsNumberOfShares" scale="3" id="f-197">43</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="fsly:StockIssuedDuringPeriodValueVestingOfEarlyExercisedStockOptions" scale="3" id="f-198">405</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="fsly:StockIssuedDuringPeriodValueVestingOfEarlyExercisedStockOptions" scale="3" id="f-199">405</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Vesting of restricted stock units</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-17" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" format="ixt:num-dot-decimal" scale="3" id="f-200">2,000</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Proceeds from sale of restricted shares</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-14" decimals="-3" name="fsly:StockSoldDuringPeriodSharesRestrictedStockAward" scale="3" id="f-201">224</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="fsly:StockSoldDuringPeriodValueRestrictedStockAward" format="ixt:num-dot-decimal" scale="3" id="f-202">10,655</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="fsly:StockSoldDuringPeriodValueRestrictedStockAward" format="ixt:num-dot-decimal" scale="3" id="f-203">10,655</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Issuance of restricted stock awards</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-18" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" scale="3" id="f-204">448</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Shares issued under employee stock purchase program </span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-14" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" scale="3" id="f-205">236</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" format="ixt:num-dot-decimal" scale="3" id="f-206">8,798</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" format="ixt:num-dot-decimal" scale="3" id="f-207">8,798</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="f-208">144,934</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="f-209">144,934</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Conversion of Class B common stock to Class A common stock</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-14" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" format="ixt:num-dot-decimal" scale="3" id="f-210">10,272</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" scale="3" id="f-211">1</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="c-16" decimals="-3" sign="-" name="us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" format="ixt:num-dot-decimal" scale="3" id="f-212">10,272</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-16" decimals="-3" sign="-" name="us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" scale="3" id="f-213">1</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" format="ixt:fixed-zero" scale="3" id="f-214">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Net loss</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-19" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-215">222,697</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-216">222,697</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Other comprehensive loss</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-20" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-217">2,633</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-218">2,633</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Balance as of December 31, 2021</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-21" decimals="-3" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-219">118,811</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-21" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="f-220">2</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-22" decimals="-3" name="us-gaap:CommonStockSharesOutstanding" format="ixt:fixed-zero" scale="3" id="f-221">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-22" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:fixed-zero" scale="3" id="f-222">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-23" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-223">1,527,468</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-24" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-224">2,627</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-25" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-225">510,890</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-26" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-226">1,013,953</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Exercise of vested stock options</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-27" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" format="ixt:num-dot-decimal" scale="3" id="f-227">1,778</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-28" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" format="ixt:num-dot-decimal" scale="3" id="f-228">5,688</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" format="ixt:num-dot-decimal" scale="3" id="f-229">5,688</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Vesting of restricted stock units</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-29" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" format="ixt:num-dot-decimal" scale="3" id="f-230">3,119</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Issuance of restricted stock awards</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-30" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" scale="3" id="f-231">112</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Shares issued under employee stock purchase program </span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-27" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" scale="3" id="f-232">516</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-28" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" format="ixt:num-dot-decimal" scale="3" id="f-233">4,665</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" format="ixt:num-dot-decimal" scale="3" id="f-234">4,665</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-28" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="f-235">128,285</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="f-236">128,285</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Net loss</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-31" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-237">190,774</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-238">190,774</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Other comprehensive loss</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-32" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-239">6,659</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-240">6,659</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Balance at December 31, 2022</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-33" decimals="-3" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-241">124,336</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-33" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="f-242">2</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-34" decimals="-3" name="us-gaap:CommonStockSharesOutstanding" format="ixt:fixed-zero" scale="3" id="f-243">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-34" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:fixed-zero" scale="3" id="f-244">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-35" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-245">1,666,106</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-36" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-246">9,286</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-37" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-247">701,664</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-248">955,158</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Exercise of vested stock options</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-38" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="3" id="f-249">291</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-39" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" format="ixt:num-dot-decimal" scale="3" id="f-250">2,169</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" format="ixt:num-dot-decimal" scale="3" id="f-251">2,169</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Vesting of restricted stock units</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-40" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" format="ixt:num-dot-decimal" scale="3" id="f-252">6,150</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-40" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" scale="3" id="f-253">1</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" scale="3" id="f-254">1</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Shares issued under bonus program</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-38" decimals="-3" name="fsly:StockIssuedDuringPeriodSharesBonusProgram" format="ixt:num-dot-decimal" scale="3" id="f-255">1,193</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-39" decimals="-3" name="fsly:StockIssuedDuringPeriodValueBonusProgram" format="ixt:num-dot-decimal" scale="3" id="f-256">16,599</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="fsly:StockIssuedDuringPeriodValueBonusProgram" format="ixt:num-dot-decimal" scale="3" id="f-257">16,599</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Shares issued under employee stock purchase program</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-38" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" format="ixt:num-dot-decimal" scale="3" id="f-258">1,022</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-39" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" format="ixt:num-dot-decimal" scale="3" id="f-259">8,692</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" format="ixt:num-dot-decimal" scale="3" id="f-260">8,692</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-39" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="f-261">121,679</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="f-262">121,679</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Net loss</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-41" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-263">133,088</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-264">133,088</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Other comprehensive income</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-42" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-265">8,278</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-266">8,278</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">Balance as of December 31, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-43" decimals="-3" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-267">132,992</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-43" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="f-268">3</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-44" decimals="-3" name="us-gaap:CommonStockSharesOutstanding" format="ixt:fixed-zero" scale="3" id="f-269">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-44" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:fixed-zero" scale="3" id="f-270">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-45" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-271">1,815,245</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-46" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-272">1,008</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-47" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-273">834,752</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-274">979,488</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="text-align:center"><span><br/></span></div><div><span><br/></span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">95</span></div></div></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_94"></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">FASTLY, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONSOLIDATED STATEMENTS OF CASH FLOWS </span></div><div style="margin-bottom:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:58.050%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.784%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.933%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Cash flows from operating activities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Net loss</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-275">133,088</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-276">190,774</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-277">222,697</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Adjustments to reconcile net loss to net cash used in operating activities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Depreciation expense</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:DepreciationNonproduction" format="ixt:num-dot-decimal" scale="3" id="f-278">51,602</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:DepreciationNonproduction" format="ixt:num-dot-decimal" scale="3" id="f-279">42,619</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:DepreciationNonproduction" format="ixt:num-dot-decimal" scale="3" id="f-280">28,799</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Amortization of intangible assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:AmortizationOfIntangibleAssets" format="ixt:num-dot-decimal" scale="3" id="f-281">20,424</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:AmortizationOfIntangibleAssets" format="ixt:num-dot-decimal" scale="3" id="f-282">21,696</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:AmortizationOfIntangibleAssets" format="ixt:num-dot-decimal" scale="3" id="f-283">21,238</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Non-cash lease expense</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense" format="ixt:num-dot-decimal" scale="3" id="f-284">22,678</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense" format="ixt:num-dot-decimal" scale="3" id="f-285">25,448</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense" format="ixt:num-dot-decimal" scale="3" id="f-286">23,065</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Amortization of debt discount and issuance costs</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:AmortizationOfFinancingCostsAndDiscounts" format="ixt:num-dot-decimal" scale="3" id="f-287">2,476</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:AmortizationOfFinancingCostsAndDiscounts" format="ixt:num-dot-decimal" scale="3" id="f-288">3,169</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:AmortizationOfFinancingCostsAndDiscounts" format="ixt:num-dot-decimal" scale="3" id="f-289">3,185</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Amortization of deferred contract costs</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:CapitalizedContractCostAmortization" format="ixt:num-dot-decimal" scale="3" id="f-290">15,548</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:CapitalizedContractCostAmortization" format="ixt:num-dot-decimal" scale="3" id="f-291">8,916</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:CapitalizedContractCostAmortization" format="ixt:num-dot-decimal" scale="3" id="f-292">6,294</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ShareBasedCompensation" format="ixt:num-dot-decimal" scale="3" id="f-293">136,303</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:ShareBasedCompensation" format="ixt:num-dot-decimal" scale="3" id="f-294">145,796</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:ShareBasedCompensation" format="ixt:num-dot-decimal" scale="3" id="f-295">140,488</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:11.25pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Deferred income taxes</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="f-296">900</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:DeferredIncomeTaxExpenseBenefit" format="ixt:fixed-zero" scale="3" id="f-297">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:DeferredIncomeTaxExpenseBenefit" format="ixt:fixed-zero" scale="3" id="f-298">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Provision for credit losses</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ProvisionForDoubtfulAccounts" format="ixt:num-dot-decimal" scale="3" id="f-299">2,025</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:ProvisionForDoubtfulAccounts" format="ixt:num-dot-decimal" scale="3" id="f-300">2,406</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="f-301">196</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(Gain) loss on disposals of property and equipment</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" scale="3" id="f-302">505</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" scale="3" id="f-303">854</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" scale="3" id="f-304">300</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Amortization and accretion of discounts and premiums on investments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments" scale="3" id="f-305">646</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments" format="ixt:num-dot-decimal" scale="3" id="f-306">3,137</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments" format="ixt:num-dot-decimal" scale="3" id="f-307">2,221</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Impairment of operating lease right-of-use assets </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OperatingLeaseImpairmentLoss" scale="3" id="f-308">744</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:OperatingLeaseImpairmentLoss" format="ixt:num-dot-decimal" scale="3" id="f-309">2,083</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:OperatingLeaseImpairmentLoss" format="ixt:fixed-zero" scale="3" id="f-310">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Impairment expense</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="fsly:AssetImpairmentChargesExcludingOperatingLeaseImpairment" format="ixt:num-dot-decimal" scale="3" id="f-311">4,316</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="fsly:AssetImpairmentChargesExcludingOperatingLeaseImpairment" format="ixt:fixed-zero" scale="3" id="f-312">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="fsly:AssetImpairmentChargesExcludingOperatingLeaseImpairment" format="ixt:fixed-zero" scale="3" id="f-313">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Net gain on extinguishment of debt</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" format="ixt:num-dot-decimal" scale="3" id="f-314">52,416</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" format="ixt:num-dot-decimal" scale="3" id="f-315">54,391</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" format="ixt:fixed-zero" scale="3" id="f-316">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Other adjustments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:OtherNoncashIncomeExpense" scale="3" id="f-317">648</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:OtherNoncashIncomeExpense" format="ixt:num-dot-decimal" scale="3" id="f-318">3,688</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:OtherNoncashIncomeExpense" scale="3" id="f-319">4</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Changes in operating assets and liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 30.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Accounts receivable</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsReceivable" format="ixt:num-dot-decimal" scale="3" id="f-320">32,945</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsReceivable" format="ixt:num-dot-decimal" scale="3" id="f-321">27,359</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsReceivable" format="ixt:num-dot-decimal" scale="3" id="f-322">14,563</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 30.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" format="ixt:num-dot-decimal" scale="3" id="f-323">8,709</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" format="ixt:num-dot-decimal" scale="3" id="f-324">6,758</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" format="ixt:num-dot-decimal" scale="3" id="f-325">4,777</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 30.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Other assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" format="ixt:num-dot-decimal" scale="3" id="f-326">23,137</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" format="ixt:num-dot-decimal" scale="3" id="f-327">35,396</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" format="ixt:num-dot-decimal" scale="3" id="f-328">10,423</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 30.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Accounts payable</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsPayable" scale="3" id="f-329">382</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInAccountsPayable" format="ixt:num-dot-decimal" scale="3" id="f-330">4,724</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsPayable" scale="3" id="f-331">146</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 30.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Accrued expenses</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-332">7,856</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-333">8,289</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-334">4,261</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 30.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Operating lease liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="fsly:IncreaseDecreaseInOperatingLeaseLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-335">22,074</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="fsly:IncreaseDecreaseInOperatingLeaseLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-336">22,778</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="fsly:IncreaseDecreaseInOperatingLeaseLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-337">22,629</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 30.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Other liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncreaseDecreaseInOtherOperatingLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-338">7,064</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:IncreaseDecreaseInOtherOperatingLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-339">4,447</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:IncreaseDecreaseInOtherOperatingLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-340">7,010</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Net cash (used in) provided by operating activities</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" id="f-341">362</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" format="ixt:num-dot-decimal" scale="3" id="f-342">69,632</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" format="ixt:num-dot-decimal" scale="3" id="f-343">38,482</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Cash flows from investing activities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Purchases of marketable securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:PaymentsToAcquireShortTermInvestments" format="ixt:num-dot-decimal" scale="3" id="f-344">132,233</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:PaymentsToAcquireShortTermInvestments" format="ixt:num-dot-decimal" scale="3" id="f-345">355,479</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:PaymentsToAcquireShortTermInvestments" format="ixt:num-dot-decimal" scale="3" id="f-346">928,155</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Sales of marketable securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities" format="ixt:num-dot-decimal" scale="3" id="f-347">25,625</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities" format="ixt:num-dot-decimal" scale="3" id="f-348">161,918</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities" format="ixt:num-dot-decimal" scale="3" id="f-349">66,527</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Maturities of marketable securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-350">433,767</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-351">535,040</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-352">118,085</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Business acquisitions, net of cash acquired </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" format="ixt:fixed-zero" scale="3" id="f-353">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" format="ixt:num-dot-decimal" scale="3" id="f-354">25,902</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" format="ixt:num-dot-decimal" scale="3" id="f-355">1,169</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Advance payment for purchase of property and equipment</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="fsly:AdvancesForPaymentsOfPropertyPlantAndEquipment" format="ixt:fixed-zero" scale="3" id="f-356">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="fsly:AdvancesForPaymentsOfPropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-357">42,197</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="fsly:AdvancesForPaymentsOfPropertyPlantAndEquipment" format="ixt:fixed-zero" scale="3" id="f-358">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Purchases of property and equipment </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-359">10,976</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-360">19,975</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-361">34,816</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Proceeds from sale of property and equipment</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" scale="3" id="f-362">49</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" scale="3" id="f-363">492</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" scale="3" id="f-364">588</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Capitalized internal-use software</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:PaymentsForSoftware" format="ixt:num-dot-decimal" scale="3" id="f-365">21,292</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:PaymentsForSoftware" format="ixt:num-dot-decimal" scale="3" id="f-366">18,146</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:PaymentsForSoftware" format="ixt:num-dot-decimal" scale="3" id="f-367">13,479</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Purchases of intangible assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:PaymentsToAcquireIntangibleAssets" format="ixt:fixed-zero" scale="3" id="f-368">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:PaymentsToAcquireIntangibleAssets" format="ixt:fixed-zero" scale="3" id="f-369">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:PaymentsToAcquireIntangibleAssets" format="ixt:num-dot-decimal" scale="3" id="f-370">2,092</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Net cash (used in) provided by investing activities </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" format="ixt:num-dot-decimal" scale="3" id="f-371">294,940</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" format="ixt:num-dot-decimal" scale="3" id="f-372">235,751</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" format="ixt:num-dot-decimal" scale="3" id="f-373">794,511</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Cash flows from financing activities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Issuance of convertible note, net of issuance costs</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ProceedsFromConvertibleDebt" format="ixt:fixed-zero" scale="3" id="f-374">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:ProceedsFromConvertibleDebt" format="ixt:fixed-zero" scale="3" id="f-375">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:ProceedsFromConvertibleDebt" format="ixt:num-dot-decimal" scale="3" id="f-376">930,775</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Payments of debt issuance costs</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:PaymentsOfDebtIssuanceCosts" format="ixt:fixed-zero" scale="3" id="f-377">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:PaymentsOfDebtIssuanceCosts" format="ixt:fixed-zero" scale="3" id="f-378">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:PaymentsOfDebtIssuanceCosts" format="ixt:num-dot-decimal" scale="3" id="f-379">1,351</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:11.25pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Cash paid for debt extinguishment</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:PaymentsOfDebtExtinguishmentCosts" format="ixt:num-dot-decimal" scale="3" id="f-380">310,540</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:PaymentsOfDebtExtinguishmentCosts" format="ixt:num-dot-decimal" scale="3" id="f-381">177,082</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:PaymentsOfDebtExtinguishmentCosts" format="ixt:fixed-zero" scale="3" id="f-382">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Repayments of finance lease liabilities </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:FinanceLeasePrincipalPayments" format="ixt:num-dot-decimal" scale="3" id="f-383">27,175</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:FinanceLeasePrincipalPayments" format="ixt:num-dot-decimal" scale="3" id="f-384">22,532</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:FinanceLeasePrincipalPayments" format="ixt:num-dot-decimal" scale="3" id="f-385">13,568</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Cash received for restricted stock sold in advance of vesting conditions</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="fsly:ProceedsFromEarlySaleOfRestrictedShares" format="ixt:fixed-zero" scale="3" id="f-386">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="fsly:ProceedsFromEarlySaleOfRestrictedShares" format="ixt:num-dot-decimal" scale="3" id="f-387">10,655</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="fsly:ProceedsFromEarlySaleOfRestrictedShares" format="ixt:fixed-zero" scale="3" id="f-388">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Cash paid for early sale of restricted shares</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="fsly:PaymentsForEarlySaleOfRestrictedShares" format="ixt:fixed-zero" scale="3" id="f-389">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="fsly:PaymentsForEarlySaleOfRestrictedShares" format="ixt:num-dot-decimal" scale="3" id="f-390">10,655</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="fsly:PaymentsForEarlySaleOfRestrictedShares" format="ixt:fixed-zero" scale="3" id="f-391">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Payment of deferred consideration for business acquisitions</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="fsly:DeferredPaymentForBusinessCombinations" format="ixt:num-dot-decimal" scale="3" id="f-392">4,393</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="fsly:DeferredPaymentForBusinessCombinations" format="ixt:fixed-zero" scale="3" id="f-393">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="fsly:DeferredPaymentForBusinessCombinations" format="ixt:fixed-zero" scale="3" id="f-394">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Proceeds from exercise of vested stock options</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ProceedsFromStockOptionsExercised" format="ixt:num-dot-decimal" scale="3" id="f-395">2,169</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:ProceedsFromStockOptionsExercised" format="ixt:num-dot-decimal" scale="3" id="f-396">5,688</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:ProceedsFromStockOptionsExercised" format="ixt:num-dot-decimal" scale="3" id="f-397">12,626</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Proceeds from employee stock purchase plan</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ProceedsFromStockPlans" format="ixt:num-dot-decimal" scale="3" id="f-398">8,559</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:ProceedsFromStockPlans" format="ixt:num-dot-decimal" scale="3" id="f-399">4,777</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:ProceedsFromStockPlans" format="ixt:num-dot-decimal" scale="3" id="f-400">8,069</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Net cash (used in) provided by financing activities </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" format="ixt:num-dot-decimal" scale="3" id="f-401">331,380</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" format="ixt:num-dot-decimal" scale="3" id="f-402">189,149</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" format="ixt:num-dot-decimal" scale="3" id="f-403">936,551</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Effects of exchange rate changes on cash, cash equivalents, and restricted cash</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="f-404">608</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="f-405">390</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="f-406">477</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Net increase (decrease) in cash, cash equivalents, and restricted cash</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" format="ixt:num-dot-decimal" scale="3" id="f-407">35,470</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" format="ixt:num-dot-decimal" scale="3" id="f-408">23,420</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" format="ixt:num-dot-decimal" scale="3" id="f-409">103,081</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Cash, cash equivalents, and restricted cash at beginning of period</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="f-410">143,541</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-26" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="f-411">166,961</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="f-412">63,880</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">Cash, cash equivalents, and restricted cash at end of period</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="f-413">108,071</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="f-414">143,541</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-26" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="f-415">166,961</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:12pt;text-align:center"><span><br/></span></div><div style="margin-bottom:12pt;text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">96</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">FASTLY, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONSOLIDATED STATEMENTS OF CASH FLOWS&#8212;Continued</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:57.904%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.784%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.784%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.932%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Supplemental disclosure of cash flow information:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Cash paid for interest</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:InterestPaidNet" format="ixt:num-dot-decimal" scale="3" id="f-416">1,574</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:InterestPaidNet" format="ixt:num-dot-decimal" scale="3" id="f-417">2,656</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:InterestPaidNet" format="ixt:num-dot-decimal" scale="3" id="f-418">1,938</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Cash paid for income taxes, net of refunds received</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncomeTaxesPaidNet" scale="3" id="f-419">331</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:IncomeTaxesPaidNet" scale="3" id="f-420">250</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:IncomeTaxesPaidNet" scale="3" id="f-421">267</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:11.25pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Noncash investing and financing activities:</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 18.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Property&#160;and&#160;equipment&#160;additions&#160;not&#160;yet&#160;paid&#160;in&#160;cash or financed</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" scale="3" id="f-422">640</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" format="ixt:num-dot-decimal" scale="3" id="f-423">1,492</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" format="ixt:num-dot-decimal" scale="3" id="f-424">18,275</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 18.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Vesting of early-exercised stock options</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="fsly:VestingOfEarlyExercisedStockOptions" format="ixt:fixed-zero" scale="3" id="f-425">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="fsly:VestingOfEarlyExercisedStockOptions" format="ixt:fixed-zero" scale="3" id="f-426">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="fsly:VestingOfEarlyExercisedStockOptions" scale="3" id="f-427">405</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 18.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Stock-based compensation capitalized to internal-use software</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="fsly:ShareBasedPaymentArrangementNoncashAmountCapitalizedIntoInternalUseSoftware" format="ixt:num-dot-decimal" scale="3" id="f-428">9,975</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="fsly:ShareBasedPaymentArrangementNoncashAmountCapitalizedIntoInternalUseSoftware" format="ixt:num-dot-decimal" scale="3" id="f-429">7,997</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="fsly:ShareBasedPaymentArrangementNoncashAmountCapitalizedIntoInternalUseSoftware" format="ixt:num-dot-decimal" scale="3" id="f-430">4,446</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 18.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Assets obtained in exchange for operating lease obligations</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" format="ixt:num-dot-decimal" scale="3" id="f-431">5,769</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" format="ixt:num-dot-decimal" scale="3" id="f-432">29,606</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" format="ixt:num-dot-decimal" scale="3" id="f-433">32,458</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 18.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Assets obtained in exchange for finance lease obligations</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" format="ixt:fixed-zero" scale="3" id="f-434">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" format="ixt:num-dot-decimal" scale="3" id="f-435">23,575</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" format="ixt:num-dot-decimal" scale="3" id="f-436">31,529</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 18.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Net non-cash change in operating lease assets and liabilities associated with modifications and terminations</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="fsly:NoncashChangeInOperatingLeaseAssetsAndLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-437">4,425</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="fsly:NoncashChangeInOperatingLeaseAssetsAndLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-438">3,126</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="fsly:NoncashChangeInOperatingLeaseAssetsAndLiabilities" format="ixt:fixed-zero" scale="3" id="f-439">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 18.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Interest paid for finance leases</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:InterestPaidCapitalized" format="ixt:num-dot-decimal" scale="3" id="f-440">1,329</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:InterestPaidCapitalized" format="ixt:num-dot-decimal" scale="3" id="f-441">2,381</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:InterestPaidCapitalized" format="ixt:num-dot-decimal" scale="3" id="f-442">1,754</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 18.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Purchase consideration associated with business combination, accrued but not paid</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="fsly:PaymentForBusinessIncurredButNotYetPaid" format="ixt:fixed-zero" scale="3" id="f-443">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="fsly:PaymentForBusinessIncurredButNotYetPaid" format="ixt:num-dot-decimal" scale="3" id="f-444">8,000</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="fsly:PaymentForBusinessIncurredButNotYetPaid" format="ixt:fixed-zero" scale="3" id="f-445">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 18.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Deployments of prepaid capital equipment</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="fsly:DeploymentsOfPrepaidCapitalEquipment" format="ixt:num-dot-decimal" scale="3" id="f-446">8,665</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="fsly:DeploymentsOfPrepaidCapitalEquipment" format="ixt:num-dot-decimal" scale="3" id="f-447">5,184</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="fsly:DeploymentsOfPrepaidCapitalEquipment" format="ixt:fixed-zero" scale="3" id="f-448">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;&#160;&#160;&#160;&#160;&#160;Receivable related to shares of restricted stock</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="fsly:ReceivableRelatedToSharesOfRestrictedStock" format="ixt:fixed-zero" scale="3" id="f-449">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="fsly:ReceivableRelatedToSharesOfRestrictedStock" format="ixt:fixed-zero" scale="3" id="f-450">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="fsly:ReceivableRelatedToSharesOfRestrictedStock" format="ixt:num-dot-decimal" scale="3" id="f-451">10,655</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:12pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Reconciliation of cash, cash equivalents, and restricted cash as shown in the statements of cash flows</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Cash and cash equivalents</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-452">107,921</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-453">143,391</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-26" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-454">166,068</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Restricted cash </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:RestrictedCashCurrent" scale="3" id="f-455">150</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:RestrictedCashCurrent" scale="3" id="f-456">150</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-26" decimals="-3" name="us-gaap:RestrictedCashCurrent" format="ixt:fixed-zero" scale="3" id="f-457">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Restricted cash included in other assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:RestrictedCashEquivalents" format="ixt:fixed-zero" scale="3" id="f-458">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:RestrictedCashEquivalents" format="ixt:fixed-zero" scale="3" id="f-459">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-26" decimals="-3" name="us-gaap:RestrictedCashEquivalents" scale="3" id="f-460">893</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Total cash, cash equivalents, and restricted cash</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="f-461">108,071</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="f-462">143,541</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-26" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="f-463">166,961</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="margin-bottom:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of the consolidated financial statements.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">97</span></div></div></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_97"></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">FASTLY, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</span></div></div><div style="text-align:center"><span><br/></span></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_100"></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">1. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:NatureOfOperations" id="f-464" continuedAt="f-464-1" escape="true">Nature of Business</ix:nonNumeric></span></div><ix:continuation id="f-464-1" continuedAt="f-464-2"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fastly, Inc. has built an edge cloud platform that can process, serve, and secure its customer&#8217;s applications as close to their end users as possible. As of December&#160;31, 2023, the Company&#8217;s edge network spans across <ix:nonFraction unitRef="operating_market" contextRef="c-4" decimals="INF" name="fsly:OperatingMarkets" scale="0" id="f-465">79</ix:nonFraction> markets around the world. The Company was incorporated in Delaware in 2011 and is headquartered in San Francisco, California.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As used herein,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> &#8220;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fastly,&#8221; &#8220;the Company,&#8221;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8220;its&#8221; and similar terms include Fastly, Inc. and its subsidiaries, unless the context indicates otherwise.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Conversion of Dual Class Common Stock Structure</span></div></ix:continuation><div style="margin-bottom:12pt;text-indent:27pt"><ix:continuation id="f-464-2"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On July 12, 2021, all outstanding shares of Class B common stock automatically converted into the same number of shares of Class A common stock (the &#8220;Conversion&#8221;) pursuant to the terms of the Company&#8217;s amended and restated certificate of incorporation (the &#8220;Certificate&#8221;). Upon the Conversion, outstanding options denominated in shares of Class B common stock issued under any of the Company&#8217;s equity incentive plans remained unchanged, except that such options now represent the right to receive shares of Class A common stock on exercise. In accordance with the Certificate, the shares of Class B common stock that converted to Class A common stock were retired and will not be reissued by the Company.</span></ix:continuation><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"> </span></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_103"></div><div style="margin-bottom:12pt;margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:SignificantAccountingPoliciesTextBlock" id="f-466" continuedAt="f-466-1" escape="true">Summary of Significant Accounting Policies</ix:nonNumeric></span></div><ix:continuation id="f-466-1" continuedAt="f-466-2"><ix:nonNumeric contextRef="c-1" name="us-gaap:BasisOfAccountingPolicyPolicyTextBlock" id="f-467" continuedAt="f-467-1" escape="true"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Basis of Presentation and Consolidation</span></div></ix:nonNumeric><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="f-467-1">The accompanying consolidated financial statements and footnotes have been prepared in accordance with accounting principles generally accepted in the United States of America (&#8220;GAAP&#8221;).</ix:continuation> <ix:nonNumeric contextRef="c-1" name="us-gaap:ConsolidationPolicyTextBlock" id="f-468" escape="true">The accompanying consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries. All intercompany transactions and balances have been eliminated in consolidation.</ix:nonNumeric></span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-1" name="us-gaap:PriorPeriodReclassificationAdjustmentDescription" id="f-469" escape="true">Certain changes to presentation have been made to conform the prior period presentation to the current period reporting. The Company has made certain presentation changes to consolidate the interest paid on finance lease line into other liabilities working capital changes and components of the non-cash lease expense related to operating lease liability changes into operating lease liability working capital changes within operating cash flows in the consolidated statements of cash flows. Such reclassifications did not affect the consolidated balance sheets, total revenues, operating income, net income, or cash flows from operating, investing or financing activities.</ix:nonNumeric> </span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:UseOfEstimates" id="f-470" escape="true"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Use of Estimates</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of consolidated financial statements in conformity with GAAP requires management to make estimates, judgments, and assumptions that affect the reported amounts of assets, liabilities, revenue, costs and expenses, and related disclosures. Actual results and outcomes could differ significantly from the Company&#8217;s estimates, judgments, and assumptions. Significant estimates, judgments, and assumptions used in these financial statements include, but are not limited to, those related to revenue, accounts receivable and related reserves, internal-use software development costs, the incremental borrowing rate related to the Company&#8217;s lease liabilities,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">fair value of assets acquired and liabilities assumed during business combinations, useful lives of acquired intangible assets and property and equipment, fair value of the Company&#8217;s long-lived assets as well as reporting unit, income tax reserves, and accounting for stock-based compensation. Estimates are periodically reviewed in light of changes in circumstances, facts, and experience. The effects of material revisions in estimates are reflected in the consolidated financial statements in the period of change and prospectively from the date of the change in estimate.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:ConcentrationRiskCreditRisk" id="f-471" continuedAt="f-471-1" escape="true"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Concentrations of Credit Risk</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Financial instruments that potentially subject the Company to significant concentrations of credit risk consist primarily of cash, cash equivalents, marketable securities and accounts receivable. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s cash, cash equivalents, and marketable securities primarily consisted of bank deposits, money market funds, investment-grade commercial paper, corporate notes and bonds, U.S. treasury securities, agency bonds, municipal securities, foreign government and supranational securities and asset-backed securities held at major financial institutions that </span></div></ix:nonNumeric></ix:continuation><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">98</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><ix:continuation id="f-466-2" continuedAt="f-466-3"><ix:continuation id="f-471-1" continuedAt="f-471-2"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">the Company believes to be of high credit standing. The primary focus of its investment strategy is to preserve capital and meet liquidity requirements. The Company&#8217;s investment policy limits the amount of credit exposure with any one financial institution or commercial issuer. The Company maintains deposits in federally insured financial institutions in excess of federally insured limits. The Company is exposed to credit risk in the event of default by the financial institutions holding its cash and cash equivalents to the extent recorded in the balance sheets. While the Company has not experienced any losses in such accounts and the Company has historically maintained its cash in multiple financial institutions, the failure of Silicon Valley Bank (&#8220;SVB&#8221;) in March 2023, at which the Company held cash and cash equivalents in multiple accounts, exposed the Company to limited credit risk prior to the completion by the Federal Deposit Insurance Corporation (&#8220;FDIC&#8221;) of the resolution of SVB in a manner that fully protected all depositors.</span></div></ix:continuation><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="f-471-2">Concentrations of credit risk with respect to accounts receivable are primarily limited to certain customers to which the Company makes substantial sales. The Company&#8217;s customer base consists of a large number of geographically dispersed customers diversified across several industries</ix:continuation>. No customer accounted for more than 10% of revenue for both the years ended December&#160;31, 2023, 2022 and 2021. One customer accounted for more than 10% of the total accounts receivable balance as of December&#160;31, 2023, whereas no customers accounted for more than 10% of the total accounts receivable balance as of December&#160;31, 2022. Affiliated customers that are business units of a single company in the streaming entertainment space generated an aggregate of <ix:nonFraction unitRef="number" contextRef="c-48" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="f-472">12</ix:nonFraction>%, <ix:nonFraction unitRef="number" contextRef="c-49" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="f-473">11</ix:nonFraction>% and <ix:nonFraction unitRef="number" contextRef="c-50" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="f-474">11</ix:nonFraction>% of the Company&#8217;s revenue for the years ended December&#160;31, 2023, 2022 and 2021, respectively. The same affiliated customers accounted for an aggregate of <ix:nonFraction unitRef="number" contextRef="c-51" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="f-475">23</ix:nonFraction>% and <ix:nonFraction unitRef="number" contextRef="c-52" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="f-476">15</ix:nonFraction>% of the Company&#8217;s accounts receivable balance as of December&#160;31, 2023 and 2022, respectively.</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:CashAndCashEquivalentsUnrestrictedCashAndCashEquivalentsPolicy" id="f-478" escape="true"><ix:nonNumeric contextRef="c-1" name="us-gaap:MarketableSecuritiesPolicy" id="f-477" escape="true"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash, Cash Equivalents and Marketable Securities</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash and cash equivalents include cash held in banks, highly liquid money market funds, U.S. treasury securities and commercial paper, all with original maturities of three months or less when acquired. The Company&#8217;s short-term and long-term marketable securities consists of fixed income U.S. and foreign government agency securities, corporate bonds, agency bonds, asset-backed securities and commercial paper. Management determines the appropriate classification of the Company&#8217;s investments at the time of purchase and reevaluates such designation at each balance sheet date. The Company classifies its marketable securities as either short-term or long-term based on each instrument&#8217;s underlying remaining contractual maturity date.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company classifies its marketable securities as available-for-sale as it has the ability to sell the marketable securities prior to its maturity. The Company&#8217;s marketable securities are reported at fair value with unrealized gains and losses reported, net of tax, as a separate component of accumulated other comprehensive income (loss) in stockholders&#8217; equity. Cash and cash equivalents are stated at cost, which approximate fair market value. Short-term and long-term marketable securities are classified as available-for-sale debt securities and are also carried at fair market value. When the available-for-sale debt securities are sold, cost is based on the specific identification method, and the realized gains and losses are included in other income (expense), net in the consolidated statements of operations.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company evaluates its investments periodically for possible other-than-temporary impairment. A decline in fair value below the amortized costs of its available-for-sale debt securities is considered an other-than-temporary impairment if the Company has the intent to sell the security or it is more likely than not that the Company will be required to sell the security before recovery of the entire amortized cost basis. Otherwise, the credit loss component of the impairment is recorded as allowance for credit losses with an offsetting entry charged to other income (expense), net, while the remaining loss is recognized in other comprehensive income (loss).</span></div></ix:nonNumeric></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" id="f-479" continuedAt="f-479-1" escape="true"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Restricted Cash</span></div></ix:nonNumeric><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="f-479-1">As of both December&#160;31, 2023 and 2022, the Company had a restricted cash balance of $<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-5" name="us-gaap:RestrictedCash" format="ixt:num-dot-decimal" scale="6" id="f-480"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-5" name="us-gaap:RestrictedCash" format="ixt:num-dot-decimal" scale="6" id="f-481">0.2</ix:nonFraction></ix:nonFraction> million, which consists of a letter of credit related to a lease arrangement that is collateralized by restricted cash. As of December&#160;31, 2023 and 2022, these amounts are included in prepaid expenses and other current assets on the consolidated balance sheets.</ix:continuation> </span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:TradeAndOtherAccountsReceivablePolicy" id="f-482" continuedAt="f-482-1" escape="true"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Accounts Receivable, net</span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts receivable are recorded and carried at the original invoiced amount, net of an allowance for any potential credit losses. The allowance for credit losses is determined based upon the assessment of various factors, such as historical experience, credit quality of its customers, age of the accounts receivable balances, geographic related risks, economic </span></div></ix:nonNumeric></ix:continuation><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">99</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><ix:continuation id="f-466-3" continuedAt="f-466-4"><ix:continuation id="f-482-1"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">conditions, and other factors that may affect a customer&#8217;s ability to pay. The Company records these charges as a component of general and administrative expenses in the consolidated statements of operations in the period in which the change occurs. The Company does not have any&#160;off-balance&#160;sheet credit exposure related to its customers.</span></div></ix:continuation><ix:nonNumeric contextRef="c-1" name="us-gaap:RevenueFromContractWithCustomerPolicyTextBlock" id="f-483" continuedAt="f-483-1" escape="true"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Incremental Costs to Obtain a Contract with a Customer</span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company capitalizes incremental costs associated with obtaining customer contracts, specifically certain commission payments. The Company pays commissions based on contract value upon signing a new arrangement with a customer and upon renewal and upgrades of existing contracts with customers only if the renewal and upgrades result in an incremental increase in contract value. These costs are deferred on the consolidated balance sheets and amortized over the expected period of benefit on a straight-line basis. The Company also pays commissions on an ongoing basis based upon revenue recognized. In these cases, no incremental costs are deferred, as the commissions are earned and expensed in the same period for which the associated revenue is recognized. Based on the nature of the Company&#8217;s technology and services, and the duration of its relationships with its customers, the expected period of benefit is determined to be <ix:nonNumeric contextRef="c-53" name="us-gaap:CapitalizedContractCostAmortizationPeriod" format="ixt-sec:durwordsen" id="f-484">five years</ix:nonNumeric>. Amortization is primarily included in sales and marketing expense in the consolidated statements of operations. Deferred commission and incentive payments are included in other assets on the consolidated balance sheets.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:FairValueOfFinancialInstrumentsPolicy" id="f-485" escape="true"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Fair Value of Financial Instruments</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s available-for-sale securities are recorded at fair value. The Company&#8217;s cash and cash equivalents and restricted cash are recorded at cost, which approximates fair value. Additionally, accounts receivable, accounts payable, and accrued expenses approximate fair value due to their short-term nature. For disclosure purposes, the Company measures the fair value of its outstanding senior convertible notes using a market approach based on actual bids and offers in an over-the-counter market, or Level 2 inputs, on the last trading day of the period.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock" id="f-486" escape="true"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Property and Equipment</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment are stated at cost less accumulated depreciation and amortization. Depreciation and amortization are computed on a straight-line basis over the estimated useful lives of the assets. <ix:nonNumeric contextRef="c-1" name="us-gaap:PropertyPlantAndEquipmentTextBlock" id="f-487" continuedAt="f-487-1" escape="true">The estimated useful life of each asset category is as follows:</ix:nonNumeric></span></div><ix:continuation id="f-487-1" continuedAt="f-487-2"><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.444%"><tr><td style="width:1.0%"/><td style="width:68.404%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:29.396%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Computer and networking equipment</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-54" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:duryear" id="f-488">3</ix:nonNumeric> to <ix:nonNumeric contextRef="c-55" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:duryear" id="f-489">5</ix:nonNumeric> years</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Leasehold improvements</span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Shorter of lease term or <ix:nonNumeric contextRef="c-56" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:duryear" id="f-490">5</ix:nonNumeric> years</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Furniture and fixtures</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-57" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:duryear" id="f-491">3</ix:nonNumeric> years</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Office equipment</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-58" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:duryear" id="f-492">3</ix:nonNumeric> years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Internal-use software</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-59" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:duryear" id="f-493">3</ix:nonNumeric> to <ix:nonNumeric contextRef="c-60" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:duryear" id="f-494">5</ix:nonNumeric> years</span></div></td></tr></table></div></ix:continuation><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company periodically reviews the estimated useful lives of property and equipment and any changes to the estimated useful lives are recorded prospectively from the date of the change. </span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Upon retirement or sale, the cost of the assets disposed of and the related accumulated depreciation are removed from the accounts, and any resulting gain or loss is included in the consolidated statements of operations. Repairs and maintenance costs are expensed as incurred.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:InternalUseSoftwarePolicy" id="f-495" continuedAt="f-495-1" escape="true"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Internal-Use Software Development Costs</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Labor and related costs associated with&#160;internal-use&#160;software incurred during the application development stage are capitalized.&#160;Capitalization of costs begins when the preliminary project stage is completed, management has committed to funding the project, and it is probable that the project will be completed and the software will be used to perform the function intended. Capitalization ceases at the point when the project is fully tested, is substantially completed and is ready for its intended purpose. The capitalized amounts are included in property and equipment, net on the consolidated balance sheets. The Company amortizes such costs on a straight-line basis over the estimated useful life of the software, which is generally <span style="-sec-ix-hidden:f-496">three</span> to <ix:nonNumeric contextRef="c-60" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:durwordsen" id="f-497">five years</ix:nonNumeric>. Completed&#160;internal-use&#160;software that is related to the Company&#8217;s network is amortized to cost of revenue over its </span></div></ix:nonNumeric></ix:continuation><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><ix:continuation id="f-466-4" continuedAt="f-466-5"><ix:continuation id="f-495-1"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">estimated useful life. Costs incurred during the planning, training, and post-implementation stages of the software development life-cycle are expensed as incurred.</span></div></ix:continuation><ix:nonNumeric contextRef="c-1" name="us-gaap:BusinessCombinationsPolicy" id="f-498" escape="true"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Business Combinations</span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company accounts for its acquisitions using the acquisition method of accounting, which requires, among other things, allocation of the fair value of purchase consideration to the tangible and intangible assets acquired and liabilities assumed at their estimated fair values on the acquisition date. The excess of the fair value of purchase consideration over the values of these identifiable assets and liabilities is recorded as goodwill. </span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Determining the fair value of assets acquired and liabilities assumed requires significant judgment and estimates including the selection of valuation methodologies, future expected cash flows, discount rates, and useful lives. The Company&#8217;s estimates of fair value are based on assumptions believed to be reasonable, but which are inherently uncertain and, as a result, actual results may differ from estimates. During the measurement period, not to exceed one year from the date of acquisition, the Company may record adjustments to the assets acquired and liabilities assumed with a corresponding offset to goodwill to reflect new information obtained about facts and circumstances that existed as of the acquisition date. At the conclusion of the measurement period, or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments are reflected in the consolidated statements of operations.</span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Transaction costs associated with business combinations are expensed as incurred, and are included in general and administrative expense in the consolidated statements of operations.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:SegmentReportingPolicyPolicyTextBlock" id="f-499" escape="true"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Segments</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company considers operating segments to be components of the Company in which separate financial information is available and is evaluated regularly by the Company&#8217;s Chief Operating Decision Maker (&#8220;CODM&#8221;) in deciding how to allocate resources and in assessing performance. The CODM is the Chief Executive Officer (&#8220;CEO&#8221;). The CEO reviews financial information presented on a consolidated basis, accompanied by information about revenue, customer size, and industry vertical for purposes of allocating resources and evaluating financial performance.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">The Company has determined that it is organized as a single operating segment with no segment managers who are held accountable for operations, operating results, or plans for levels or components below the consolidated unit level. Accordingly, the Company has determined that it has a single reportable segment and operating segment.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="fsly:GoodwillIntangibleAssetsAndLongLivedAssetsPolicyPolicyTextBlock" id="f-500" continuedAt="f-500-1" escape="true"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Goodwill, Intangible Assets and Other Long-Lived Assets</span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill represents the excess of the purchase price of an acquired business over the fair value of the net tangible and identifiable intangible assets acquired. The carrying amount of goodwill is reviewed for impairment at least annually, in the fourth quarter, or whenever events or changes in circumstances indicate that the carrying value may not be recoverable. The Company has a single operating segment and reporting unit structure for all of the periods presented.</span></div><div style="text-indent:27pt"><span><br/></span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As part of the annual goodwill impairment test, the Company first performs a qualitative assessment to determine whether further impairment testing is necessary. If, as a result of the qualitative assessment, it is more likely than not that the fair value of the reporting unit is less than its carrying amount, the quantitative impairment test will be required. If the Company has determined it necessary to perform a quantitative impairment assessment, the Company will compare the fair value of the reporting unit with its carrying amount and recognize an impairment charge for the amount by which the carrying amount exceeds the reporting unit&#8217;s fair value, limited to the total amount of goodwill of the reporting unit. The Company did not recognize any goodwill impairment charges for any of the periods presented.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s definite lived intangible assets are carried at cost, net of accumulated amortization. Intangible assets are amortized on a straight-line basis over their estimated useful lives. The Company estimates the useful life by estimating the expected period of economic benefit. </span></div></ix:nonNumeric></ix:continuation><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">101</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><ix:continuation id="f-500-1"><ix:continuation id="f-466-5" continuedAt="f-466-6"><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" id="f-501" continuedAt="f-501-1" escape="true"><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The useful lives of the intangible assets are as follows:</span></div><div><span><br/></span></div><div style="margin-bottom:12pt;padding-left:36pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:90.789%"><tr><td style="width:1.0%"/><td style="width:76.999%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:20.801%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-61" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="f-502">3</ix:nonNumeric> to <ix:nonNumeric contextRef="c-62" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="f-503">8</ix:nonNumeric> years</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Developed technology</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-63" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="f-504">4</ix:nonNumeric> to <ix:nonNumeric contextRef="c-64" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="f-505">5</ix:nonNumeric> years</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trade names</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-65" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="f-506">3</ix:nonNumeric> to <ix:nonNumeric contextRef="c-66" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="f-507">4</ix:nonNumeric> years</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Backlog</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-67" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="f-508">2</ix:nonNumeric> years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Internet protocol addresses</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-68" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear" id="f-509">10</ix:nonNumeric> years</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">In-process research and development (&#8220;IPR&amp;D&#8221;)</span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Indefinite</span></td></tr></table></div></ix:nonNumeric><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-lived assets, including property and equipment, definite lived intangible assets, and operating lease right-of-use assets, are reviewed for impairment whenever events or changes in circumstances, such as service discontinuance, technological obsolescence, significant decreases in market capitalization, facility closures, or work-force reductions indicate that the carrying amount of the long-lived asset or asset group may not be recoverable. When such events occur, the Company compares the carrying amount of the asset or asset group to the undiscounted expected future cash flows related to the asset or asset group. If this comparison indicates that an impairment is present, the amount of impairment is calculate as the difference between the carrying amount and the fair value of the asset or asset group. The Company&#8217;s indefinite lived intangibles are assessed annually for impairment. In addition to the recoverability assessment, the Company periodically reviews the remaining estimated useful lives of long-lived assets. If the estimated useful life assumption for any asset is changed due to new information, the remaining unamortized balance would be depreciated or amortized over the revised estimated useful life, on a prospective basis. Refer to Note 6 &#8212; Balance Sheet Information and Note 7 &#8212; Leases for discussion of impairment of property and equipment and impairment of operating lease right-of-use asset, respectively.</span></div></ix:continuation></ix:continuation><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">102</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><ix:continuation id="f-466-6" continuedAt="f-466-7"><ix:nonNumeric contextRef="c-1" name="us-gaap:LesseeLeasesPolicyTextBlock" id="f-510" escape="true"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Leases </span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leases office space and data centers (&#8220;colocation leases&#8221;) under non-cancelable operating leases with various expiration dates. The Company also leases server equipment under non-cancelable finance leases with various expiration dates. The Company determines if an arrangement contains a lease at inception.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating lease right-of-use assets and lease liabilities are recognized at the present value of the future lease payments at commencement date. The interest rate implicit in the Company&#8217;s operating leases is not readily determinable, and therefore an incremental borrowing rate is estimated to determine the present value of future payments. The estimated incremental borrowing rate factors in a hypothetical interest rate on a collateralized basis with similar terms, payments, and economic environments. Operating lease right-of-use assets also include any prepaid lease payments and exclude lease incentives.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating lease expense is recognized on a straight-line basis over the lease term commencing on the date the Company has the right to use the leased property. The lease terms may include options to extend or terminate the lease. The Company generally uses the base, non-cancelable, lease term when recognizing the lease assets and liabilities, unless it is reasonably certain that the option will be exercised. The lease agreements may contain variable costs such as common area maintenance, operating expenses or other costs. Variable lease costs are expensed as incurred on the consolidated statements of operations. The Company&#8217;s lease agreements generally do not contain any residual value guarantees or restrictive covenants.</span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certain of our operating leases contain both lease and non-lease components. Non-lease components for our office spaces include fixed payments for maintenance, utilities, real estate taxes, and management fees. Non-lease components for colocation leases include fixed payments for utilities and other operating costs. For both office spaces and colocation leases, the Company combines fixed lease and non-lease components and account for them as a single lease component.</span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leases networking equipment from a third party, through equipment finance leases. These leases include a bargain purchase option, resulting in a full transfer of ownership at the completion of the lease term. </span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating leases are reflected in operating lease right-of-use assets, operating lease liabilities, and operating lease liabilities, non-current on the consolidated balance sheets. Finance leases are included in property and equipment, net, finance lease liabilities, and finance lease liabilities, non-current on the consolidated balance sheets.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:DebtPolicyTextBlock" id="f-511" escape="true"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Convertible Debt</span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company evaluated the terms of its debt in line with Accounting Standards Update (&#8220;ASU&#8221;) 2020-06 and concluded that the instrument does not require separation and that there were no other derivatives that required separation. The Company has combined these features with the host contract and accounted for the convertible debt as a single liability in long-term debt on the consolidated balance sheets. The carrying amount of the liability is based on the gross proceeds, net of the unamortized transaction costs incurred related to the issuance of the convertible debt instrument, and the partial repurchases made in 2022 and 2023. The debt discount from the net unamortized transaction cost is amortized to interest expense over the term of the convertible debt instrument using the effective interest rate method.</span></div></ix:nonNumeric><ix:continuation id="f-483-1" continuedAt="f-483-2"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue recognition</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company primarily derives revenue from the sale of services to customers executing contracts in which the standard contract term is one year, although terms may vary by contract. Most of the Company&#8217;s contracts are non-cancelable over the contractual term. The majority of the Company&#8217;s usage-based contracts commit the customer to a minimum monthly level of usage and specify the rate at which the customer must pay for actual usage above the monthly minimum. The Company also offers subscriptions to access a unified security web application and application programming interface at a fixed rate.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recognizes revenue in accordance with Accounting Standards Codification (&#8220;ASC&#8221;) 606, where revenue is recognized upon transfer of control of promised products or services to customers in an amount that reflects the consideration the Company expects to receive in exchange for those products or services. The processing and recording of certain revenue requires a manual process, which uses a complex set of procedures to generate complete and accurate data to record these revenue transactions. The Company enters into contracts that can include various combinations of products and services, each of which are distinct and accounted for as separate performance obligations. Revenue is recognized net of any taxes collected from customers, which are subsequently remitted to governmental authorities.</span></div></ix:continuation></ix:continuation><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">103</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><ix:continuation id="f-466-7" continuedAt="f-466-8"><ix:continuation id="f-483-2"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s contracts with customers often include promises to transfer multiple products and services to a customer. Determining whether products and services are considered distinct performance obligations that should be accounted for separately versus together may require significant judgment. Performance obligations generally represent stand-ready obligations that are satisfied over time as the customer simultaneously receives and consumes the benefits provided by the Company. These obligations can be network services, security, compute, professional services, support, and other edge cloud platform services.  Accordingly, the Company&#8217;s revenue is recognized over time, consistent with the pattern of benefit provided to the customer over the term of the agreement. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For contracts with multiple performance obligations that are delivered over different time periods, the Company allocates the contract transaction price to each performance obligation using the estimated standalone selling price (</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#8220;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">SSP&#8221;) of each distinct good or service in the contract. Judgment is required to determine the SSP for each distinct performance obligation. The Company analyzes separate sales of its products and services or the discounted list price per management&#8217;s approved price list as a basis for estimating the SSP of these products and services. In instances where SSP is not directly observable, such as when the Company does not sell the product or service separately, the Company determines the SSP using information that may include market conditions and other observable inputs. The Company typically has more than one SSP for individual products and services due to the stratification of those products and services by customers and circumstances. In these instances, the Company may use information, such as geographic region and distribution channel, in determining the SSP.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The transaction price in a contract for usage-based services is typically equal to the minimum commit price in the contract plus any variable amounts of usage above the minimum commitment, less any discounts provided. The transaction price in a contract that does not contain usage-based services is equal to the total contract value. Because the Company&#8217;s typical contracts represent distinct services delivered over time with the same pattern of transfer to the customer, usage-based consideration primarily related to actual consumption over the minimum commit levels is allocated to the period to which it relates. The amount of consideration recognized for usage above the minimum commit price is limited to the amount the Company expects to be entitled to receive in exchange for providing services. The Company has elected to apply the practical expedient for estimating and disclosing the variable consideration when variable consideration is allocated entirely to a wholly unsatisfied performance obligation or to a wholly unsatisfied promise to transfer a distinct good or service that forms part of a single performance obligation from its remaining performance obligations under these contracts. For contracts to which such practical expedient cannot be applied, consideration is estimated. For custom arrangements, other methods may be used as a measure of progress towards satisfying the performance obligations. Revenue on the Company&#8217;s subscription services are recognized ratably over their respective contractual term.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At times, customers may request changes that either amend, replace, or cancel existing contracts. Judgment is required to determine whether the specific facts and circumstances within the contracts should be accounted for as a separate contract or as a prospective modification.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In contracts where there are timing differences between when the Company transfers a promised good or service to the customer and when the customer pays for that good or service, the Company has determined its contracts do not include a significant financing component. The Company has also elected the practical expedient to not measure financing components for any contract where the timing difference is less than one year.</span></div></ix:continuation><ix:nonNumeric contextRef="c-1" name="us-gaap:CostOfSalesPolicyTextBlock" id="f-512" escape="true"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cost of Revenue</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenue consists primarily of fees paid to network providers for bandwidth and to third-party network data centers for housing servers, also known as colocation costs. Cost of revenue also includes employee costs for network operation, build-out and support and services delivery, network storage costs, cost of managed services and software-as-a-service, depreciation of network equipment used to deliver services, and amortization of network-related internal-use software. The Company enters into contracts for bandwidth with third-party network providers with terms of typically <ix:nonNumeric contextRef="c-69" name="fsly:RevenueWithCustomerDurationOfContracts" format="ixt-sec:durwordsen" id="f-513">one year</ix:nonNumeric>. These contracts generally commit the Company to pay minimum monthly fees plus additional fees for bandwidth usage above the committed level. The Company enters into contracts for colocation services with third-party providers with terms typically ranging from <span style="-sec-ix-hidden:f-514">one</span> to <ix:nonNumeric contextRef="c-71" name="fsly:RevenueWithCustomerDurationOfContracts" format="ixt-sec:durwordsen" id="f-515">six years</ix:nonNumeric>.</span></div></ix:nonNumeric></ix:continuation><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">104</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><ix:continuation id="f-466-8" continuedAt="f-466-9"><ix:nonNumeric contextRef="c-1" name="us-gaap:ResearchAndDevelopmentExpensePolicy" id="f-516" escape="true"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Research and Development Costs</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development costs consist of primarily payroll and related personnel costs for the design, development, testing, and enhancement of the Company&#8217;s edge cloud platform. Research and development expenses also include cloud infrastructure fees for development and testing. Costs incurred in the development of the Company&#8217;s edge cloud platform are expensed as incurred, excluding those expenses which meet the criteria for the capitalization of internal-use software.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:AdvertisingCostsPolicyTextBlock" id="f-517" continuedAt="f-517-1" escape="true"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Advertising Expense</span></div></ix:nonNumeric><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="f-517-1">The Company recognizes advertising expense as incurred.</ix:continuation> The Company recognized total advertising expense of approximately $<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-5" name="us-gaap:AdvertisingExpense" format="ixt:num-dot-decimal" scale="6" id="f-518">4.6</ix:nonFraction>&#160;million, $<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-5" name="us-gaap:AdvertisingExpense" format="ixt:num-dot-decimal" scale="6" id="f-519">2.5</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-5" name="us-gaap:AdvertisingExpense" format="ixt:num-dot-decimal" scale="6" id="f-520">2.3</ix:nonFraction>&#160;million for the years ended December&#160;31, 2023, 2022, and 2021, respectively.</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy" id="f-521" continuedAt="f-521-1" escape="true"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Accounting for Stock-Based Compensation</span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recognizes stock-based compensation expense based on the grant-date fair value of the awards. The fair values of the restricted stock units (&#8220;RSUs&#8221;), restricted stock awards (&#8220;RSAs&#8221;) and performance stock awards (&#8220;PSUs&#8221;) are based on the fair value of the Company&#8217;s stock price on the grant date. The fair values of stock options and ESPP are based on the Black-Scholes option-pricing model. The fair value of the market-based performance stock awards (&#8220;MPSUs&#8221;) is measured using a Monte Carlo simulation valuation model. </span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The determination of the fair value of a stock-based award is affected by the deemed fair value of the underlying stock price on the grant date, as well as assumptions regarding a number of other complex and subjective variables, including expected term and stock price volatility of the awards. </span></div></ix:nonNumeric><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="f-521-1">Stock-based compensation expense for awards with service-based vesting only is recognized on a straight-line basis over the requisite service period of the awards, which is generally <span style="-sec-ix-hidden:f-522">three</span> or <ix:nonNumeric contextRef="c-73" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1" format="ixt-sec:durwordsen" id="f-523">four years</ix:nonNumeric>. In addition to service-based conditions, stock-based compensation expense for awards that have performance-based or market-based conditions are recognized over the requisite service period for each separately-vesting tranche as though each tranche of the award is its own separate grant, which results in an accelerated recognition of compensation cost. The Company accounts for forfeitures as they occur.</ix:continuation> </span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" id="f-524" continuedAt="f-524-1" escape="true"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Foreign Currency </span></div></ix:nonNumeric><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="f-524-1">The functional currency of the Company&#8217;s foreign subsidiaries is the U.S. dollar. The monetary assets and liabilities that are denominated in a currency other than the U.S. dollar of the Company&#8217;s foreign subsidiaries are remeasured into U.S. dollars at the exchange rate on the balance sheet date, while non-monetary items are remeasured at historical rates. Revenue and expenses are remeasured at average exchange rates during the period. Transaction gains and losses that arise from exchange rate fluctuations on transactions denominated in a currency other than the functional currency are included in other income (expense), net in the consolidated statements of operations.</ix:continuation> The aggregate transaction gain or loss for the years ended December&#160;31, 2023, 2022 and 2021 is included in the determination of net income for the period and was not material to the respective periods.</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:IncomeTaxPolicyTextBlock" id="f-525" continuedAt="f-525-1" escape="true"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Income Taxes</span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company accounts for income taxes under the asset and liability method, which requires the recognition of deferred tax assets and liabilities for the expected future tax consequences of events that have been included in the financial statements. Under this method, the Company determines deferred tax assets and liabilities on the basis of the differences between the financial statement and tax bases of assets and liabilities by using enacted tax rates for the year in which the differences are expected to reverse. The effect of a change in tax rates on deferred tax assets and liabilities is recognized in income in the period that includes the enactment date. </span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recognizes deferred tax assets to the extent that it believes that these assets are more likely than not to be realized. In making such a determination, the Company considers all available positive and negative evidence, including future reversals of existing taxable temporary differences, projected future taxable income,&#160;tax-planning&#160;strategies, and results of recent operations. If the Company determines that it would be able to realize its deferred tax assets in the future in excess of </span></div></ix:nonNumeric></ix:continuation><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">105</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><ix:continuation id="f-466-9" continuedAt="f-466-10"><ix:continuation id="f-525-1"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">their net recorded amount, the Company would make an adjustment to the deferred tax asset valuation allowance, which would reduce the provision for income taxes.</span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company records uncertain tax positions in accordance with ASC 740 on the basis of a&#160;two-step&#160;process in which (1)&#160;it determines whether it is more likely than not that the tax positions will be sustained on the basis of the technical merits of the position and (2)&#160;for those tax positions that meet the&#160;more-likely-than-not&#160;recognition threshold, the Company recognizes the largest amount of tax benefit that is more than 50&#160;percent likely to be realized upon ultimate settlement with the related tax authority.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recognizes interest and penalties related to unrecognized tax benefits on the income tax expense line in the accompanying consolidated statement of operations and consolidated statement of comprehensive loss. Accrued interest and penalties are included in accrued expenses on the consolidated balance sheet.</span></div></ix:continuation><ix:nonNumeric contextRef="c-1" name="us-gaap:EarningsPerSharePolicyTextBlock" id="f-526" escape="true"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Net Loss Per Share Attributable to Common Stockholders</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic and diluted net loss per share is computed by dividing net loss by the weighted-average number of shares of common stock outstanding during the period. Diluted earnings per share attributable to common stockholders adjusts basic earnings per share for the potentially dilutive impact of stock options, restricted stock units, restricted stock awards, shares issuable under its employee stock purchase place and performance stock awards. The Company also applies the if-converted method for calculation of diluted per share for its convertible debt instruments. As the Company has reported losses for all periods presented, all potentially dilutive securities are antidilutive and accordingly, basic net loss per share equals diluted net loss per share. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Prior to the Conversion, the Company&#8217;s basic and diluted net loss per share attributable to common stockholders was presented in conformity with the two-class method required for multiple classes of common stock and participating securities. Under the&#160;two-class&#160;method, net income is attributed to common stockholders and participating securities based on their participation rights. Under the&#160;two-class&#160;method, basic net loss per share attributable to common stockholders is computed by dividing the net loss attributable to common stockholders by the weighted-average number of shares of common stock outstanding during the period. Diluted earnings per share attributable to common stockholders adjusts basic earnings per share for the potentially dilutive impact of stock options, restricted stock units, restricted stock awards, shares issuable under our employee stock purchase place and performance stock awards.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" id="f-527" continuedAt="f-527-1" escape="true"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Recently Issued and Adopted Accounting Pronouncements</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In November 2023, the FASB issued ASU 2023-07 &#8220;Segment Reporting - Improvements to Reportable Segment Disclosures&#8221;, which updates reportable segment disclosure requirements, primarily through enhanced disclosures about significant segment expenses and information used to assess segment performance. The guidance is effective for the Company's annual periods beginning in 2024 and interim periods beginning in the first quarter of fiscal year 2025. The Company is currently evaluating the impact of the new guidance and intends to adopt the guidance retrospectively when it becomes effective in 2024.</span></div></ix:nonNumeric></ix:continuation><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="f-527-1"><ix:continuation id="f-466-10">In December, 2023, the FASB issued ASU 2023-09 &#8220;Income Taxes (Topic 740): Improvements to Income Tax Disclosures&#8221;, which expands disclosures in an entity&#8217;s income tax rate reconciliation table and regarding cash taxes paid both in the U.S. and foreign jurisdictions. The guidance is effective for the Company's annual periods beginning in 2025. The Company is currently evaluating the impact of the new guidance and intends to adopt the guidance prospectively when it becomes effective in 2025</ix:continuation>.</ix:continuation> </span></div><div style="margin-bottom:12pt"><span><br/></span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">106</span></div></div></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_109"></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">3. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:RevenueFromContractWithCustomerTextBlock" id="f-530" continuedAt="f-530-1" escape="true">Revenue</ix:nonNumeric></span></div><ix:continuation id="f-530-1" continuedAt="f-530-2"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Disaggregation of revenue</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue by geography is based on the billing address of the customer. Aside from the United States, no other single country accounted for more than 10% of revenue for the years ended December&#160;31, 2023, 2022 and 2021. <ix:nonNumeric contextRef="c-1" name="us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock" id="f-531" continuedAt="f-531-1" escape="true">The following table presents the Company&#8217;s net revenue by geographic region:</ix:nonNumeric></span></div><ix:continuation id="f-531-1"><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.099%"><tr><td style="width:1.0%"/><td style="width:64.026%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.545%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.779%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.545%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.779%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.545%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.781%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">United States</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-74" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-532">370,424</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-75" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-533">316,149</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-76" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-534">260,399</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asia Pacific</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-77" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-535">72,873</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-78" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-536">58,073</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-79" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-537">39,496</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Europe</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-80" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-538">42,770</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-81" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-539">38,469</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-82" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-540">35,177</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">All other </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-83" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-541">19,921</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-84" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-542">20,034</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-85" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-543">19,258</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-544">505,988</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-545">432,725</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-546">354,330</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:continuation><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The majority of the Company&#8217;s revenue is derived from enterprise customers. In the first quarter of 2023, the Company updated its methodology (&#8220;new methodology&#8221;) by which it calculates its customer count metrics, including Total Customer Count, Enterprise Customer Count and associated metrics. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under the prior methodology, enterprise customers is defined as customers with revenue in excess of&#160;$<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="INF" name="fsly:EnterpriseCustomerThreshold" format="ixt:num-dot-decimal" scale="0" id="f-547">100,000</ix:nonFraction> over the trailing 12-month period. <ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" id="f-548" continuedAt="f-548-1" escape="true">The following table presents the Company&#8217;s net revenue for enterprise and non-enterprise customers based on the prior methodology:</ix:nonNumeric></span></div><ix:continuation id="f-548-1" continuedAt="f-548-2"><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.099%"><tr><td style="width:1.0%"/><td style="width:64.026%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.545%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.779%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.545%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.779%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.545%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.781%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Enterprise customers</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-86" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-549">458,472</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-87" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-550">386,853</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-88" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-551">313,360</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-enterprise customers</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-89" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-552">47,516</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-90" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-553">45,872</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-91" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-554">40,970</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-92" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-555">505,988</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-93" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-556">432,725</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-94" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-557">354,330</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:continuation><div style="margin-bottom:12pt;margin-top:5pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under the new methodology, enterprise customers is defined as customers with annualized current quarter revenue in excess of $<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="INF" name="fsly:EnterpriseCustomerThreshold" format="ixt:num-dot-decimal" scale="0" id="f-558">100,000</ix:nonFraction>. This is calculated by taking the sum of revenue for each customer within the quarter and multiplying it by four. <ix:continuation id="f-548-2" continuedAt="f-548-3">The following table presents the Company&#8217;s net revenue for enterprise and non-enterprise customers based on the new methodology:</ix:continuation></span></div><ix:continuation id="f-548-3"><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.099%"><tr><td style="width:1.0%"/><td style="width:64.026%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.545%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.779%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.545%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.779%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.545%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.781%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Enterprise customers</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-95" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-559">464,452</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-96" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-560">393,152</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-97" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-561">315,918</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-enterprise customers</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-98" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-562">41,536</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-99" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-563">39,573</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-100" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-564">38,412</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-101" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-565">505,988</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-102" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-566">432,725</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-103" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="f-567">354,330</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:continuation></ix:continuation><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">107</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><ix:continuation id="f-530-2"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Contract balances</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The timing of revenue recognition may differ from the timing of invoicing to customers. The Company has an unconditional right to consideration when it invoices its customers and records a receivable. The Company records a contract asset, or a receivable, when revenue is recognized prior to invoicing. The Company records a contract liability, or deferred revenue, when revenue is recognized subsequent to invoicing.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred revenue includes amounts billed to customers for which revenue has not been recognized and consists of the unearned portions of edge cloud platform usage and billings to customers for the Company&#8217;s security subscription services. Amounts that have been invoiced for annual subscriptions, but not collected, are recorded in accounts receivable and in unearned revenue or in revenue depending on whether services have been delivered to the customer. <ix:nonNumeric contextRef="c-1" name="us-gaap:RevenuePerformanceObligationDescriptionOfPaymentTerms" id="f-568">The Company&#8217;s payment terms and conditions vary by contract type, and generally range from 30 to 90 days.</ix:nonNumeric> </span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock" id="f-569" escape="true"><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the Company&#8217;s contract assets and contract liabilities as of December&#160;31, 2023 and 2022:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:60.742%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.613%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.615%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contract assets</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:ContractWithCustomerAssetNet" scale="3" id="f-570">621</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:ContractWithCustomerAssetNet" scale="3" id="f-571">19</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contract liabilities</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:ContractWithCustomerLiability" format="ixt:num-dot-decimal" scale="3" id="f-572">38,150</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:ContractWithCustomerLiability" format="ixt:num-dot-decimal" scale="3" id="f-573">30,544</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents revenue recognized during the years ended December&#160;31, 2023 and 2022 from amounts included in the contract liability at the beginning of the period:</span></div><div style="margin-bottom:7pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:67.759%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.104%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.107%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revenue recognized in the period from amounts included in contract liability at the beginning of the period</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" format="ixt:num-dot-decimal" scale="3" id="f-574">28,616</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" format="ixt:num-dot-decimal" scale="3" id="f-575">26,274</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Remaining performance obligations</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023, the aggregate amount of the transaction price in the Company's contracts allocated to remaining performance obligations that were unsatisfied or partially unsatisfied was $<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-5" name="us-gaap:RevenueRemainingPerformanceObligation" format="ixt:num-dot-decimal" scale="6" id="f-576">235.7</ix:nonFraction> million. This amount includes future committed revenue for periods within current contracts with customers, as well as deferred revenue arising from consideration invoiced for which the related performance obligations have not been satisfied. The Company has elected to not provide certain information about its remaining performance obligations for service contracts with an original contract duration of one year or less. As of December&#160;31, 2023, the Company expects to recognize approximately <ix:nonFraction unitRef="number" contextRef="c-104" decimals="2" name="us-gaap:RevenueRemainingPerformanceObligationPercentage" scale="-2" id="f-577">80</ix:nonFraction>% of its remaining performance obligations over the next <ix:nonNumeric contextRef="c-104" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" format="ixt-sec:durmonth" id="f-578">12</ix:nonNumeric> months. The Company&#8217;s typical contractual term with its customers is one year, although terms may vary by contract. </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Costs to obtain a contract</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:CapitalizedContractCostTableTextBlock" id="f-579" escape="true"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023 and December&#160;31, 2022, the Company&#8217;s costs to obtain contracts were as follows:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.911%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.174%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.885%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred contract costs, net</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:CapitalizedContractCostNetNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-580">61,981</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:CapitalizedContractCostNetNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-581">50,523</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="margin-bottom:12pt;text-indent:27pt"><span><br/></span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the years ended December&#160;31, 2023, 2022 and 2021, the Company recognized $<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-5" name="us-gaap:CapitalizedContractCostAmortization" format="ixt:num-dot-decimal" scale="6" id="f-582">15.5</ix:nonFraction>&#160;million, $<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-5" name="us-gaap:CapitalizedContractCostAmortization" format="ixt:num-dot-decimal" scale="6" id="f-583">8.9</ix:nonFraction>&#160;million and $<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-5" name="us-gaap:CapitalizedContractCostAmortization" format="ixt:num-dot-decimal" scale="6" id="f-584">6.3</ix:nonFraction>&#160;million of amortization related to deferred contract costs, respectively. These costs are recorded within sales and marketing expenses on the accompanying consolidated statements of operations.</span></div></ix:continuation><div style="margin-bottom:12pt;text-indent:27pt"><span><br/></span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">108</span></div></div></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_112"></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">4. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:FairValueDisclosuresTextBlock" id="f-585" continuedAt="f-585-1" escape="true">Investments and Fair Value Measurements</ix:nonNumeric></span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock" id="f-586" escape="true"><ix:continuation id="f-585-1" continuedAt="f-585-2"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s total cash, cash equivalents and marketable securities consisted of the following:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"/><td style="width:63.070%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.080%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.082%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash and cash equivalents:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-105" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-587">21,269</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-106" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-588">46,516</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. Treasury securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-107" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-589">52,830</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-108" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:fixed-zero" scale="3" id="f-590">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-109" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-591">21,166</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-110" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-592">96,875</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-111" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-593">12,656</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-112" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:fixed-zero" scale="3" id="f-594">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total cash and cash equivalents</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"> </span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-595">107,921</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-596">143,391</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Marketable securities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. Treasury securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-113" decimals="-3" name="us-gaap:MarketableSecuritiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-597">73,448</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-114" decimals="-3" name="us-gaap:MarketableSecuritiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-598">287,988</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate notes and bonds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-115" decimals="-3" name="us-gaap:MarketableSecuritiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-599">105,566</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-116" decimals="-3" name="us-gaap:MarketableSecuritiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-600">71,744</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-117" decimals="-3" name="us-gaap:MarketableSecuritiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-601">25,934</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-118" decimals="-3" name="us-gaap:MarketableSecuritiesCurrent" format="ixt:fixed-zero" scale="3" id="f-602">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-119" decimals="-3" name="us-gaap:MarketableSecuritiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-603">9,851</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-120" decimals="-3" name="us-gaap:MarketableSecuritiesCurrent" format="ixt:fixed-zero" scale="3" id="f-604">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-121" decimals="-3" name="us-gaap:MarketableSecuritiesCurrent" format="ixt:fixed-zero" scale="3" id="f-605">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-122" decimals="-3" name="us-gaap:MarketableSecuritiesCurrent" scale="3" id="f-606">175</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-123" decimals="-3" name="us-gaap:MarketableSecuritiesCurrent" format="ixt:fixed-zero" scale="3" id="f-607">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-124" decimals="-3" name="us-gaap:MarketableSecuritiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-608">2,221</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign government and supranational securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-125" decimals="-3" name="us-gaap:MarketableSecuritiesCurrent" format="ixt:fixed-zero" scale="3" id="f-609">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-126" decimals="-3" name="us-gaap:MarketableSecuritiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-610">12,453</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total marketable securities, current </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:MarketableSecuritiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-611">214,799</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:MarketableSecuritiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-612">374,581</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate notes and bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-115" decimals="-3" name="us-gaap:MarketableSecuritiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-613">5,999</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-116" decimals="-3" name="us-gaap:MarketableSecuritiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-614">140,949</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-121" decimals="-3" name="us-gaap:MarketableSecuritiesNoncurrent" scale="3" id="f-615">89</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-122" decimals="-3" name="us-gaap:MarketableSecuritiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-616">24,156</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total marketable securities, non-current </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:MarketableSecuritiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-617">6,088</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:MarketableSecuritiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-618">165,105</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total marketable securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-619">220,887</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-620">539,686</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total cash, cash equivalents and marketable securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="fsly:CashCashEquivalentsAndMarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-621">328,808</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="fsly:CashCashEquivalentsAndMarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-622">683,077</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:continuation></ix:nonNumeric><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">109</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><ix:continuation id="f-585-2" continuedAt="f-585-3"><ix:nonNumeric contextRef="c-1" name="us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock" id="f-623" escape="true"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes adjusted cost, gross unrealized gains and losses, and fair value related to cash and cash equivalents and available-for-sale securities on the accompanying consolidated balance sheets as of December&#160;31, 2023 and December&#160;31, 2022:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:45.020%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.641%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amortized<br/>Cost</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross<br/>Unrealized<br/>Gain</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross<br/>Unrealized<br/>Loss</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Fair<br/>Value</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash and cash equivalents:</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. Treasury securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-107" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-624">52,824</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-107" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="f-625">6</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-107" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" format="ixt:fixed-zero" scale="3" id="f-626">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-107" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-627">52,830</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-111" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-628">12,663</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-111" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" format="ixt:fixed-zero" scale="3" id="f-629">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-111" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="f-630">7</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-111" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-631">12,656</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Marketable securities:</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. Treasury securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-113" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-632">73,444</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-113" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="f-633">8</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-113" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="f-634">4</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-113" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-635">73,448</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate notes and bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-115" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-636">112,487</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-115" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="f-637">9</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-115" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="f-638">931</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-115" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-639">111,565</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-117" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-640">25,946</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-117" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" format="ixt:fixed-zero" scale="3" id="f-641">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-117" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="f-642">12</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-117" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-643">25,934</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-121" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" scale="3" id="f-644">89</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-121" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" format="ixt:fixed-zero" scale="3" id="f-645">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-121" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" format="ixt:fixed-zero" scale="3" id="f-646">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-121" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="f-647">89</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-119" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-648">9,854</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-119" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" format="ixt:fixed-zero" scale="3" id="f-649">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-119" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="f-650">3</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-119" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-651">9,851</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total available-for-sale investments</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-652">287,307</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="f-653">23</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="f-654">957</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-655">286,373</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amortized<br/>Cost</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Unrealized Gain</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross<br/>Unrealized Loss</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Fair<br/>Value</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Marketable securities:</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. Treasury securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-114" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-656">291,685</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-114" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" format="ixt:fixed-zero" scale="3" id="f-657">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-114" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" format="ixt:num-dot-decimal" scale="3" id="f-658">3,697</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-114" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-659">287,988</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate notes and bonds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-116" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-660">217,187</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-116" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" format="ixt:fixed-zero" scale="3" id="f-661">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-116" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" format="ixt:num-dot-decimal" scale="3" id="f-662">4,494</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-116" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-663">212,693</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-122" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-664">24,617</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-122" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" format="ixt:fixed-zero" scale="3" id="f-665">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-122" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="f-666">286</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-122" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-667">24,331</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-124" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-668">2,322</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-124" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" format="ixt:fixed-zero" scale="3" id="f-669">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-124" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="f-670">101</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-124" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-671">2,221</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign government and supranational securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-126" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-672">12,522</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-126" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" format="ixt:fixed-zero" scale="3" id="f-673">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-126" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="f-674">69</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-126" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-675">12,453</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total available-for-sale investments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="f-676">548,333</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" format="ixt:fixed-zero" scale="3" id="f-677">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" format="ixt:num-dot-decimal" scale="3" id="f-678">8,647</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="f-679">539,686</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There were no material realized gains or losses from sales of marketable securities that were reclassified out of accumulated other comprehensive income (loss) into other income (expense), net as of December&#160;31, 2023 and December&#160;31, 2022. There were <ix:nonFraction unitRef="security" contextRef="c-4" decimals="INF" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerNumberOfPositions" scale="0" id="f-680">28</ix:nonFraction> and <ix:nonFraction unitRef="security" contextRef="c-5" decimals="INF" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerNumberOfPositions" scale="0" id="f-681">76</ix:nonFraction> securities in a continuous loss position for 12 months or longer as of December&#160;31, 2023, and 2022, respectively.  Investments are reviewed periodically to identify possible other-than-temporary impairments. For the years ended December&#160;31, 2023 and 2022, the Company did not record any impairment charges for its marketable debt securities in its consolidated statements of operations. No impairment loss has been recorded on the securities as the Company does not intend to sell any impaired securities, nor is it more likely than not that the Company would be required to sell impaired securities before recovery of amortized cost basis. Furthermore, the Company has determined that the decline in fair value of the investment is not due to credit related factors. </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">Fair Value of Financial Instruments</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For certain of the Company&#8217;s financial instruments, including cash held in banks, accounts receivable, and accounts payable, the carrying amounts approximate fair value due to their short maturities, and are therefore excluded from the fair value tables below.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fair value is defined as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date. There is a three-tier fair value hierarchy, which prioritizes the inputs used in measuring fair value as follows:</span></div></ix:continuation><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">110</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><ix:continuation id="f-585-3" continuedAt="f-585-4"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 1&#8212;Observable inputs such as quoted prices in active markets for identical assets or liabilities;</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 2&#8212;Inputs other than Level&#160;1 that are observable, either directly or indirectly, such as quoted prices for similar assets or liabilities, quoted prices in markets that are not active, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities; and</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 3&#8212;Unobservable inputs that are supported by little or no market activity, which require management judgment or estimation.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company measures its cash equivalents, marketable securities, and restricted cash at fair value. The Company classifies its cash equivalents, marketable securities and restricted cash within Level&#160;1 or Level&#160;2 because the Company values these investments using quoted market prices or alternative pricing sources and models utilizing market observable inputs.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company classifies its investments, which are comprised of corporate notes and bonds, commercial paper, U.S. treasury securities, agency bonds, foreign government and supranational securities and asset-backed securities within Level 2 of the fair value hierarchy because the fair value of these securities is priced by using inputs based on non-binding market consensus prices that are primarily corroborated by observable market data or quoted market prices for similar instruments. </span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" id="f-682" continuedAt="f-682-1" escape="true"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Financial assets and liabilities measured and recorded at fair value on a recurring basis consisted of the following types of instruments:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"><tr><td style="width:1.0%"/><td style="width:44.997%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.418%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.712%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.712%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.717%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-127" decimals="-3" name="us-gaap:CashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-683">21,166</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-128" decimals="-3" name="us-gaap:CashEquivalentsAtCarryingValue" format="ixt:fixed-zero" scale="3" id="f-684">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-129" decimals="-3" name="us-gaap:CashEquivalentsAtCarryingValue" format="ixt:fixed-zero" scale="3" id="f-685">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-109" decimals="-3" name="us-gaap:CashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-686">21,166</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. Treasury securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-130" decimals="-3" name="us-gaap:CashEquivalentsAtCarryingValue" format="ixt:fixed-zero" scale="3" id="f-687">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-131" decimals="-3" name="us-gaap:CashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-688">52,830</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-132" decimals="-3" name="us-gaap:CashEquivalentsAtCarryingValue" format="ixt:fixed-zero" scale="3" id="f-689">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-107" decimals="-3" name="us-gaap:CashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-690">52,830</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-133" decimals="-3" name="us-gaap:CashEquivalentsAtCarryingValue" format="ixt:fixed-zero" scale="3" id="f-691">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-134" decimals="-3" name="us-gaap:CashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-692">12,656</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-135" decimals="-3" name="us-gaap:CashEquivalentsAtCarryingValue" format="ixt:fixed-zero" scale="3" id="f-693">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-111" decimals="-3" name="us-gaap:CashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-694">12,656</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total cash equivalents</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-136" decimals="-3" name="us-gaap:CashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-695">21,166</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-137" decimals="-3" name="us-gaap:CashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-696">65,486</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-138" decimals="-3" name="us-gaap:CashEquivalentsAtCarryingValue" format="ixt:fixed-zero" scale="3" id="f-697">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:CashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-698">86,652</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Marketable securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. Treasury securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-139" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="f-699">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-140" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-700">73,448</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-141" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="f-701">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-113" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-702">73,448</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate notes and bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-142" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="f-703">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-143" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-704">111,565</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-144" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="f-705">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-115" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-706">111,565</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Commercial paper</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-145" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="f-707">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-146" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-708">25,934</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-147" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="f-709">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-117" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-710">25,934</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-148" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="f-711">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-149" decimals="-3" name="us-gaap:MarketableSecurities" scale="3" id="f-712">89</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-150" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="f-713">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-121" decimals="-3" name="us-gaap:MarketableSecurities" scale="3" id="f-714">89</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-151" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="f-715">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-152" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-716">9,851</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-153" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="f-717">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-119" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-718">9,851</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total marketable securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-136" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="f-719">&#8212;</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-137" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-720">220,887</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-138" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="f-721">&#8212;</ix:nonFraction></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-722">220,887</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restricted cash:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restricted cash, current</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-127" decimals="-3" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" scale="3" id="f-723">150</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-128" decimals="-3" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" format="ixt:fixed-zero" scale="3" id="f-724">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-129" decimals="-3" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" format="ixt:fixed-zero" scale="3" id="f-725">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-109" decimals="-3" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" scale="3" id="f-726">150</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total restricted cash</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-136" decimals="-3" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" scale="3" id="f-727">150</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-137" decimals="-3" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" format="ixt:fixed-zero" scale="3" id="f-728">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-138" decimals="-3" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" format="ixt:fixed-zero" scale="3" id="f-729">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" scale="3" id="f-730">150</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total financial assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-136" decimals="-3" name="us-gaap:AssetsFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="f-731">21,316</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-137" decimals="-3" name="us-gaap:AssetsFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="f-732">286,373</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-138" decimals="-3" name="us-gaap:AssetsFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="f-733">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AssetsFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="f-734">307,689</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric></ix:continuation><div><span><br/></span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">111</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><ix:continuation id="f-585-4" continuedAt="f-585-5"><ix:continuation id="f-682-1"><div style="margin-bottom:7pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:45.020%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.641%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level&#160;1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level&#160;2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level&#160;3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-154" decimals="-3" name="us-gaap:CashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-735">96,875</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-155" decimals="-3" name="us-gaap:CashEquivalentsAtCarryingValue" format="ixt:fixed-zero" scale="3" id="f-736">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-156" decimals="-3" name="us-gaap:CashEquivalentsAtCarryingValue" format="ixt:fixed-zero" scale="3" id="f-737">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-110" decimals="-3" name="us-gaap:CashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-738">96,875</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total cash equivalents</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-157" decimals="-3" name="us-gaap:CashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-739">96,875</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-158" decimals="-3" name="us-gaap:CashEquivalentsAtCarryingValue" format="ixt:fixed-zero" scale="3" id="f-740">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-159" decimals="-3" name="us-gaap:CashEquivalentsAtCarryingValue" format="ixt:fixed-zero" scale="3" id="f-741">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:CashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-742">96,875</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Marketable securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. Treasury securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-160" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="f-743">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-161" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-744">287,988</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-162" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="f-745">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-114" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-746">287,988</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate notes and bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-163" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="f-747">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-164" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-748">212,693</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-165" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="f-749">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-116" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-750">212,693</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-166" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="f-751">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-167" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-752">24,331</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-168" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="f-753">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-122" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-754">24,331</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-169" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="f-755">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-170" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-756">2,221</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-171" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="f-757">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-124" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-758">2,221</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign government and supranational securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-172" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="f-759">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-173" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-760">12,453</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-174" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="f-761">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-126" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-762">12,453</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total marketable securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-157" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="f-763">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-158" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-764">539,686</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-159" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="f-765">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="f-766">539,686</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restricted cash:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restricted cash, current</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-154" decimals="-3" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" scale="3" id="f-767">150</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-155" decimals="-3" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" format="ixt:fixed-zero" scale="3" id="f-768">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-156" decimals="-3" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" format="ixt:fixed-zero" scale="3" id="f-769">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-110" decimals="-3" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" scale="3" id="f-770">150</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total restricted cash</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-157" decimals="-3" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" scale="3" id="f-771">150</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-158" decimals="-3" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" format="ixt:fixed-zero" scale="3" id="f-772">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-159" decimals="-3" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" format="ixt:fixed-zero" scale="3" id="f-773">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" scale="3" id="f-774">150</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total financial assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-157" decimals="-3" name="us-gaap:AssetsFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="f-775">97,025</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-158" decimals="-3" name="us-gaap:AssetsFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="f-776">539,686</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-159" decimals="-3" name="us-gaap:AssetsFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="f-777">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AssetsFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="f-778">636,711</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:continuation><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restricted cash was $<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-5" name="us-gaap:RestrictedCash" format="ixt:num-dot-decimal" scale="6" id="f-779"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-5" name="us-gaap:RestrictedCash" format="ixt:num-dot-decimal" scale="6" id="f-780">0.2</ix:nonFraction></ix:nonFraction> million as of both December&#160;31, 2023 and 2022. The restricted cash balance consisted of letters of credit related to lease arrangements that were collateralized by the Company&#8217;s cash. The amounts as of December&#160;31, 2023 and 2022, were both classified as current on the Company&#8217;s consolidated balance sheets.</span></div></ix:continuation><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="f-585-5">There were no transfers of assets and liabilities measured at fair value between Level&#160;1 and Level&#160;2, or between Level&#160;2 and Level&#160;3, during the years ended December&#160;31, 2023 and 2022.</ix:continuation> </span></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_115"></div><div style="margin-bottom:12pt;margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">5. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:BusinessCombinationDisclosureTextBlock" id="f-781" continuedAt="f-781-1" escape="true">Business Combinations </ix:nonNumeric></span></div><ix:continuation id="f-781-1" continuedAt="f-781-2"><div style="margin-bottom:12pt;margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Glitch, Inc.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On May 18, 2022, the Company acquired <ix:nonFraction unitRef="number" contextRef="c-175" decimals="INF" name="us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired" scale="-2" id="f-782">100</ix:nonFraction>% of the voting equity interest of Glitch, Inc. (&#8220;Glitch&#8221;), a software company specializing in developer project management tools, for $<ix:nonFraction unitRef="usd" contextRef="c-176" decimals="-5" name="us-gaap:BusinessCombinationConsiderationTransferred1" format="ixt:num-dot-decimal" scale="6" id="f-783">34.9</ix:nonFraction>&#160;million in cash, of which $<ix:nonFraction unitRef="usd" contextRef="c-175" decimals="-5" name="fsly:BusinessCombinationConsiderationTransferredHoldback" format="ixt:num-dot-decimal" scale="6" id="f-784">8.0</ix:nonFraction>&#160;million was held back as security for indemnification claims under the terms of the merger agreement (&#8220;Holdback&#8221;). During the year ended December&#160;31, 2023, $<ix:nonFraction unitRef="usd" contextRef="c-177" decimals="-5" name="fsly:BusinessCombinationConsiderationTransferredHoldbackDistributions" format="ixt:num-dot-decimal" scale="6" id="f-785">4.1</ix:nonFraction>&#160;million of the Holdback was distributed to certain shareholders of Glitch and the remaining Holdback will be distributed <ix:nonNumeric contextRef="c-176" name="fsly:BusinessCombinationConsiderationTransferredHoldbackPeriodForDistribution" format="ixt-sec:durmonth" id="f-786">24</ix:nonNumeric> months following the acquisition closing date. The acquisition expands the Company&#8217;s brand awareness within the developer community and bolsters the Company&#8217;s existing product offerings by making it easier to innovate at a layer in the Company&#8217;s software stack. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company accounted for the transaction as a business combination. The purchase price was preliminarily allocated based on the estimated fair value of the identified intangible assets of $<ix:nonFraction unitRef="usd" contextRef="c-175" decimals="-5" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" format="ixt:num-dot-decimal" scale="6" id="f-787">2.0</ix:nonFraction>&#160;million, cash of $<ix:nonFraction unitRef="usd" contextRef="c-175" decimals="-5" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" format="ixt:num-dot-decimal" scale="6" id="f-788">1.6</ix:nonFraction>&#160;million and other net assets of $<ix:nonFraction unitRef="usd" contextRef="c-175" decimals="-5" name="fsly:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherAssetsNet" format="ixt:num-dot-decimal" scale="6" id="f-789">0.6</ix:nonFraction>&#160;million, and goodwill of $<ix:nonFraction unitRef="usd" contextRef="c-175" decimals="-5" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="6" id="f-790">32.5</ix:nonFraction>&#160;million.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The goodwill was primarily attributed to the value of synergies created with the acquisition of Glitch&#8217;s technology offering. Goodwill is not deductible for income tax purposes.</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock" id="f-791" escape="true"><div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Identifiable finite-lived intangible assets were comprised of the following (in thousands): </span></div><div style="margin-bottom:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:55.771%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.115%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:25.071%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Estimated useful life (in years)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Developed technology</span></div></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-178" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" scale="3" id="f-792">630</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-179" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:duryear" id="f-793">4</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-180" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" scale="3" id="f-794">760</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-181" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:duryear" id="f-795">3</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trade name</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-182" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" scale="3" id="f-796">610</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-183" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:duryear" id="f-797">4</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total intangible assets acquired</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-175" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" format="ixt:num-dot-decimal" scale="3" id="f-798">2,000</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr></table></div></ix:nonNumeric></ix:continuation><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">112</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><ix:continuation id="f-781-2"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the year ended December&#160;31, 2022, we incurred $<ix:nonFraction unitRef="usd" contextRef="c-184" decimals="-5" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" format="ixt:num-dot-decimal" scale="6" id="f-799">2.0</ix:nonFraction>&#160;million in acquisition-related expenses. The acquired intangible assets have a total weighted average amortization period of <ix:nonNumeric contextRef="c-177" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:duryear" id="f-800">3.6</ix:nonNumeric> years.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From the date of the acquisition, the financial results of Glitch have been included in and are not material to the Company&#8217;s consolidated financial statements. Pro forma revenue and results of operations have not been presented because the historical results are not material to the consolidated financial statements in any period presented.</span></div></ix:continuation><div id="ifeb57f42291446d88b3e56f9c1e58c38_118"></div><div style="margin-bottom:12pt;margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">6. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:SupplementalBalanceSheetDisclosuresTextBlock" id="f-801" continuedAt="f-801-1" escape="true">Balance Sheet Information</ix:nonNumeric></span></div><ix:continuation id="f-801-1" continuedAt="f-801-2"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Allowance for Credit Losses</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock" id="f-802" escape="true"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The activity in the accounts receivable reserves is as follows:</span></div><div style="margin-bottom:12pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:49.742%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.502%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.630%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.502%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.630%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.361%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.633%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Beginning balance</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-803">5,029</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-26" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-804">3,311</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-805">3,248</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Additions to the reserves</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ProvisionForDoubtfulAccounts" format="ixt:num-dot-decimal" scale="3" id="f-806">2,025</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:ProvisionForDoubtfulAccounts" format="ixt:num-dot-decimal" scale="3" id="f-807">2,406</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="f-808">196</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Write-offs and adjustments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs" format="ixt:fixed-zero" scale="3" id="f-809">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs" scale="3" id="f-810">688</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs" scale="3" id="f-811">133</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ending balance</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-812">7,054</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-813">5,029</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-26" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-814">3,311</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Property and Equipment, Net</span></div><ix:continuation id="f-487-2"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net consisted of the following:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"/><td style="width:63.070%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.080%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.082%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Computer and networking equipment</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-185" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-815">224,313</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-186" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-816">225,009</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Leasehold improvements</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-187" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-817">8,605</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-188" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-818">8,374</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Furniture and fixtures</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-57" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-819">2,142</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-189" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-820">1,792</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Office equipment</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-58" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-821">1,228</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-190" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-822">1,176</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Internal-use software</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-191" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-823">97,623</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-192" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-824">66,488</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment, gross</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-825">333,911</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-826">302,839</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accumulated depreciation and amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-827">157,303</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-828">122,461</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment, net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-829">176,608</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-830">180,378</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:continuation><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the year ended December&#160;31, 2023, the Company recognized an impairment charge of $<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-5" name="fsly:AssetImpairmentChargesExcludingOperatingLeaseImpairment" format="ixt:num-dot-decimal" scale="6" id="f-831">4.3</ix:nonFraction>&#160;million, of which $<ix:nonFraction unitRef="usd" contextRef="c-193" decimals="-5" name="fsly:AssetImpairmentChargesExcludingOperatingLeaseImpairment" format="ixt:num-dot-decimal" scale="6" id="f-832">3.0</ix:nonFraction>&#160;million related to property and equipment, net and $<ix:nonFraction unitRef="usd" contextRef="c-194" decimals="-5" name="fsly:AssetImpairmentChargesExcludingOperatingLeaseImpairment" format="ixt:num-dot-decimal" scale="6" id="f-833">1.3</ix:nonFraction>&#160;million related to advance payments for the purchase of property and equipment. The write-off was primarily related to excess computer and networking equipment including software the Company does not expect to use and therefore abandoned. Impairment charges are included within impairment expense in the consolidated statements of operations. There were <ix:nonFraction unitRef="usd" contextRef="c-7" decimals="INF" name="fsly:AssetImpairmentChargesExcludingOperatingLeaseImpairment" format="ixt:fixed-zero" scale="0" id="f-834"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="INF" name="fsly:AssetImpairmentChargesExcludingOperatingLeaseImpairment" format="ixt:fixed-zero" scale="0" id="f-835">no</ix:nonFraction></ix:nonFraction> impairments during the years ended December&#160;31, 2022 and 2021.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Depreciation on property and equipment for the years ended December&#160;31, 2023, 2022 and 2021 was approximately $<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-5" name="us-gaap:Depreciation" format="ixt:num-dot-decimal" scale="6" id="f-836">51.6</ix:nonFraction>&#160;million, $<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-5" name="us-gaap:Depreciation" format="ixt:num-dot-decimal" scale="6" id="f-837">42.6</ix:nonFraction>&#160;million, and $<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-5" name="us-gaap:Depreciation" format="ixt:num-dot-decimal" scale="6" id="f-838">28.8</ix:nonFraction>&#160;million, respectively. Included in these amounts was amortization expense for capitalized internal-use software costs of approximately $<ix:nonFraction unitRef="usd" contextRef="c-195" decimals="-5" name="us-gaap:Depreciation" format="ixt:num-dot-decimal" scale="6" id="f-839">14.0</ix:nonFraction> million, $<ix:nonFraction unitRef="usd" contextRef="c-196" decimals="-5" name="us-gaap:Depreciation" format="ixt:num-dot-decimal" scale="6" id="f-840">8.6</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="c-197" decimals="-5" name="us-gaap:Depreciation" format="ixt:num-dot-decimal" scale="6" id="f-841">4.6</ix:nonFraction>&#160;million for the years ended December&#160;31, 2023, 2022 and 2021, respectively. As of December&#160;31, 2023 and 2022, the unamortized balance of capitalized internal-use software costs on the Company&#8217;s consolidated balance sheets was approximately $<ix:nonFraction unitRef="usd" contextRef="c-191" decimals="-5" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="6" id="f-842">62.6</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="c-192" decimals="-5" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="6" id="f-843">45.5</ix:nonFraction> million, respectively. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leases certain networking equipment from various third parties through equipment finance leases. The Company&#8217;s networking equipment assets as </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">of </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2022</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, included a total of $<ix:nonFraction unitRef="usd" contextRef="c-185" decimals="-5" name="us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization" format="ixt:num-dot-decimal" scale="6" id="f-844">74.7</ix:nonFraction>&#160;million and $<ix:nonFraction unitRef="usd" contextRef="c-186" decimals="-5" name="us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization" format="ixt:num-dot-decimal" scale="6" id="f-845">77.3</ix:nonFraction>&#160;million acquired under finance lease agreements, respectively. These leases are capitalized in property and equipment, </span></div></ix:continuation><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">113</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><ix:continuation id="f-801-2" continuedAt="f-801-3"><div style="margin-bottom:12pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">and the related amortization of assets under finance leases is included in depreciation and amortization expense. The accumulated depreciation of the associated networking equipment assets under finance leases totaled $<ix:nonFraction unitRef="usd" contextRef="c-185" decimals="-5" name="us-gaap:FinanceLeaseRightOfUseAssetAccumulatedAmortization" format="ixt:num-dot-decimal" scale="6" id="f-846">40.1</ix:nonFraction>&#160;million and $<ix:nonFraction unitRef="usd" contextRef="c-186" decimals="-5" name="us-gaap:FinanceLeaseRightOfUseAssetAccumulatedAmortization" format="ixt:num-dot-decimal" scale="6" id="f-847">28.1</ix:nonFraction>&#160;million as of </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2022</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, respectively. </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Other Assets</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfOtherAssetsNoncurrentTextBlock" id="f-848" escape="true"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other assets consisted of the following:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:64.689%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.274%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.277%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred contract costs, net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:CapitalizedContractCostNetNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-849">61,981</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:CapitalizedContractCostNetNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-850">50,523</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Advance payment for purchase of property and equipment</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="fsly:AdvancesOnPropertyAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-851">24,509</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="fsly:AdvancesOnPropertyAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-852">37,013</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:OtherAssetsMiscellaneousNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-853">4,289</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:OtherAssetsMiscellaneousNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-854">5,086</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total other assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:OtherAssetsNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-855">90,779</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:OtherAssetsNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-856">92,622</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="margin-bottom:12pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Accrued Expenses</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock" id="f-857" escape="true"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued expenses consisted of the following:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"/><td style="width:63.070%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.080%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.082%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued compensation and related benefits</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-858">14,918</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-859">20,204</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued bonus</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AccruedBonusesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-860">24,614</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AccruedBonusesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-861">15,818</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued colocation and bandwidth costs</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="fsly:AccruedColocationAndBandwidthCosts" format="ixt:num-dot-decimal" scale="3" id="f-862">14,362</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="fsly:AccruedColocationAndBandwidthCosts" format="ixt:num-dot-decimal" scale="3" id="f-863">10,448</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other tax liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:TaxesPayableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-864">4,344</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:TaxesPayableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-865">8,698</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other accrued expenses</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:OtherAccruedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-866">3,580</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:OtherAccruedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-867">5,993</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total accrued expenses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AccruedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-868">61,818</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AccruedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-869">61,161</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Other Current Liabilities</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:OtherCurrentLiabilitiesTableTextBlock" id="f-870" escape="true"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other current liabilities consisted of the following:</span></div><div style="margin-bottom:12pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:64.639%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.298%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.299%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:ContractWithCustomerLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="f-871">33,824</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:ContractWithCustomerLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="f-872">28,047</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued computer and networking equipment</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="fsly:AccruedComputerAndNetworkingEquipment" format="ixt:num-dot-decimal" scale="3" id="f-873">1,673</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="fsly:AccruedComputerAndNetworkingEquipment" format="ixt:num-dot-decimal" scale="3" id="f-874">1,467</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Holdback payable</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="fsly:BusinessCombinationConsiderationTransferredHoldbackCurrent" format="ixt:num-dot-decimal" scale="3" id="f-875">3,771</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="fsly:BusinessCombinationConsiderationTransferredHoldbackCurrent" format="ixt:num-dot-decimal" scale="3" id="f-876">4,013</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other current liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:OtherSundryLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-877">1,271</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:OtherSundryLiabilitiesCurrent" scale="3" id="f-878">867</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total other current liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:OtherLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-879">40,539</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:OtherLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-880">34,394</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric></ix:continuation><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">114</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><ix:continuation id="f-801-3" continuedAt="f-801-4"><div style="margin-bottom:12pt;margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Accumulated Other Comprehensive Loss</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" id="f-881" escape="true"><div style="margin-bottom:12pt;margin-top:5pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the changes in accumulated other comprehensive loss, which is reported as a component of stockholders&#8217; equity:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:37.642%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.666%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:20.537%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:21.565%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Foreign Currency Translation</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Unrealized gain/(loss) for available-for-sale investments</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Accumulated Other Comprehensive Income (Loss)</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2020</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-198" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" scale="3" id="f-882">36</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-199" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="f-883">42</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-11" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="f-884">6</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other comprehensive loss</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-200" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" scale="3" id="f-885">286</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-201" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-886">2,347</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-887">2,633</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2021</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-202" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" scale="3" id="f-888">322</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-203" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-889">2,305</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-24" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-890">2,627</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other comprehensive loss</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-204" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" scale="3" id="f-891">255</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-205" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-892">6,404</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-893">6,659</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2022</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-206" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" scale="3" id="f-894">577</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-207" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-895">8,709</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-36" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-896">9,286</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other comprehensive income </span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-208" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" scale="3" id="f-897">565</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-209" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-898">7,713</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="f-899">8,278</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2023</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-210" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" scale="3" id="f-900">12</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-211" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" scale="3" id="f-901">996</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-46" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-902">1,008</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric></ix:continuation><div style="margin-bottom:12pt;margin-top:5pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="f-801-4">There were no material reclassifications out of accumulated other comprehensive loss for the years ended December&#160;31, 2023 and 2022. Additionally, there was no material tax impact on the amounts presented.</ix:continuation> </span></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_121"></div><div style="margin-bottom:12pt;margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> 7. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:LesseeOperatingLeasesTextBlock" id="f-904" continuedAt="f-904-1" escape="true"><ix:nonNumeric contextRef="c-1" name="us-gaap:LesseeFinanceLeasesTextBlock" id="f-903" continuedAt="f-903-1" escape="true">Leases</ix:nonNumeric></ix:nonNumeric></span></div><ix:continuation id="f-904-1" continuedAt="f-904-2"><ix:continuation id="f-903-1" continuedAt="f-903-2"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has operating leases for corporate offices and data centers (&#8220;colocation&#8221; leases), and finance leases for networking equipment. The Company&#8217;s operating leases have remaining lease terms ranging from less than <ix:nonNumeric contextRef="c-212" name="us-gaap:LesseeOperatingLeaseRemainingLeaseTerm" format="ixt-sec:duryear" id="f-905">1</ix:nonNumeric> year to <ix:nonNumeric contextRef="c-213" name="us-gaap:LesseeOperatingLeaseRemainingLeaseTerm" format="ixt-sec:duryear" id="f-906">7</ix:nonNumeric> years, some of which include options to extend the leases. The Company&#8217;s finance leases have remaining lease terms up to <ix:nonNumeric contextRef="c-213" name="us-gaap:LesseeFinanceLeaseRemainingLeaseTerm" format="ixt-sec:duryear" id="f-907">1</ix:nonNumeric> year. The Company also subleases a portion of its corporate office spaces. The Company&#8217;s subleases have remaining lease terms ranging from <ix:nonNumeric contextRef="c-72" name="fsly:SubleasesRemainingLeaseTerms" format="ixt-sec:duryear" id="f-908">1</ix:nonNumeric> year to <ix:nonNumeric contextRef="c-73" name="fsly:SubleasesRemainingLeaseTerms" format="ixt-sec:duryear" id="f-909">7</ix:nonNumeric> years. Sublease income was $<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-5" name="us-gaap:SubleaseIncome" format="ixt:num-dot-decimal" scale="6" id="f-910">1.2</ix:nonFraction>&#160;million, $<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-5" name="us-gaap:SubleaseIncome" format="ixt:num-dot-decimal" scale="6" id="f-911">0.9</ix:nonFraction>&#160;million, and $<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-5" name="us-gaap:SubleaseIncome" format="ixt:num-dot-decimal" scale="6" id="f-912">1.0</ix:nonFraction>&#160;million for the years ended December&#160;31, 2023, 2022 and 2021, respectively. </span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:LeaseCostTableTextBlock" id="f-913" continuedAt="f-913-1" escape="true"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components of lease cost were as follows:</span></div><div style="margin-bottom:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:54.309%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.104%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.666%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.353%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="15" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease cost:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease cost</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OperatingLeaseCost" format="ixt:num-dot-decimal" scale="3" id="f-914">26,996</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:OperatingLeaseCost" format="ixt:num-dot-decimal" scale="3" id="f-915">30,976</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:OperatingLeaseCost" format="ixt:num-dot-decimal" scale="3" id="f-916">26,716</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Variable lease cost</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:VariableLeaseCost" format="ixt:num-dot-decimal" scale="3" id="f-917">15,112</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:VariableLeaseCost" format="ixt:num-dot-decimal" scale="3" id="f-918">11,736</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:VariableLeaseCost" format="ixt:num-dot-decimal" scale="3" id="f-919">6,820</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total operating lease cost</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="fsly:OperatingVariableAndShortTermLeaseCosts" format="ixt:num-dot-decimal" scale="3" id="f-920">42,108</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="fsly:OperatingVariableAndShortTermLeaseCosts" format="ixt:num-dot-decimal" scale="3" id="f-921">42,712</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="fsly:OperatingVariableAndShortTermLeaseCosts" format="ixt:num-dot-decimal" scale="3" id="f-922">33,536</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance lease cost:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amortization of assets under finance lease</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" format="ixt:num-dot-decimal" scale="3" id="f-923">14,391</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" format="ixt:num-dot-decimal" scale="3" id="f-924">14,539</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" format="ixt:num-dot-decimal" scale="3" id="f-925">6,834</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:FinanceLeaseInterestExpense" format="ixt:num-dot-decimal" scale="3" id="f-926">1,328</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:FinanceLeaseInterestExpense" format="ixt:num-dot-decimal" scale="3" id="f-927">2,381</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:FinanceLeaseInterestExpense" format="ixt:num-dot-decimal" scale="3" id="f-928">1,754</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total finance lease cost</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="fsly:FinanceLeaseCost" format="ixt:num-dot-decimal" scale="3" id="f-929">15,719</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="fsly:FinanceLeaseCost" format="ixt:num-dot-decimal" scale="3" id="f-930">16,920</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="fsly:FinanceLeaseCost" format="ixt:num-dot-decimal" scale="3" id="f-931">8,588</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The short-term lease costs were not material for the years ended December&#160;31, 2023, 2022 and 2021. During the years ended December&#160;31, 2023 and 2022, the Company recognized impairment on its operating lease right-of-use assets of $<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-5" name="us-gaap:OperatingLeaseImpairmentLoss" format="ixt:num-dot-decimal" scale="6" id="f-932">0.7</ix:nonFraction>&#160;million and $<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-5" name="us-gaap:OperatingLeaseImpairmentLoss" format="ixt:num-dot-decimal" scale="6" id="f-933">2.1</ix:nonFraction>&#160;million, respectively. The Company did <ix:nonFraction unitRef="usd" contextRef="c-7" decimals="INF" name="us-gaap:OperatingLeaseImpairmentLoss" format="ixt:fixed-zero" scale="0" id="f-934">no</ix:nonFraction>t recognize any material impairment on its operating lease right-of-use assets for the year ended December&#160;31, 2021. </span></div></ix:continuation></ix:continuation><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">115</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><ix:continuation id="f-904-2"><ix:continuation id="f-903-2"><ix:continuation id="f-913-1"><div style="margin-bottom:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:54.016%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.666%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.546%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31,</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="15" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted Average Remaining Lease term (in years):</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating leases</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-4" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" format="ixt-sec:duryear" id="f-935">3.48</ix:nonNumeric></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-5" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" format="ixt-sec:duryear" id="f-936">4.09</ix:nonNumeric></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-26" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" format="ixt-sec:duryear" id="f-937">4.41</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance leases</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-4" name="us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1" format="ixt-sec:duryear" id="f-938">1.00</ix:nonNumeric></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-5" name="us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1" format="ixt-sec:duryear" id="f-939">1.74</ix:nonNumeric></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-26" name="us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1" format="ixt-sec:duryear" id="f-940">2.23</ix:nonNumeric></span></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted Average Discount Rate:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating leases</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-4" decimals="4" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" id="f-941">6.03</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-5" decimals="4" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" id="f-942">5.36</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-26" decimals="4" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" id="f-943">5.20</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance leases</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-4" decimals="4" name="us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent" scale="-2" id="f-944">4.67</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-5" decimals="4" name="us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent" scale="-2" id="f-945">4.73</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-26" decimals="4" name="us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent" scale="-2" id="f-946">4.86</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div></ix:continuation><ix:nonNumeric contextRef="c-1" name="us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock" id="f-948" escape="true"><ix:nonNumeric contextRef="c-1" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" id="f-947" escape="true"><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future minimum lease payments under non-cancellable leases as of December&#160;31, 2023 were as follows:</span></div><div style="margin-bottom:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:58.110%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.783%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:19.223%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Operating Leases</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Finance Leases</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Year ending December 31, </span></td><td colspan="9" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" format="ixt:num-dot-decimal" scale="3" id="f-949">28,160</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" format="ixt:num-dot-decimal" scale="3" id="f-950">16,064</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" format="ixt:num-dot-decimal" scale="3" id="f-951">20,868</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo" format="ixt:num-dot-decimal" scale="3" id="f-952">1,617</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" format="ixt:num-dot-decimal" scale="3" id="f-953">18,896</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree" format="ixt:fixed-zero" scale="3" id="f-954">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" format="ixt:num-dot-decimal" scale="3" id="f-955">10,502</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour" format="ixt:fixed-zero" scale="3" id="f-956">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2028</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive" format="ixt:num-dot-decimal" scale="3" id="f-957">2,446</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearFive" format="ixt:fixed-zero" scale="3" id="f-958">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" format="ixt:num-dot-decimal" scale="3" id="f-959">1,838</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:FinanceLeaseLiabilityPaymentsDueAfterYearFive" format="ixt:fixed-zero" scale="3" id="f-960">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total future minimum lease payments</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" format="ixt:num-dot-decimal" scale="3" id="f-961">82,710</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:FinanceLeaseLiabilityPaymentsDue" format="ixt:num-dot-decimal" scale="3" id="f-962">17,681</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: imputed interest</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" format="ixt:num-dot-decimal" scale="3" id="f-963">7,905</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount" scale="3" id="f-964">395</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total liability</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:OperatingLeaseLiability" format="ixt:num-dot-decimal" scale="3" id="f-965">74,805</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:FinanceLeaseLiability" format="ixt:num-dot-decimal" scale="3" id="f-966">17,286</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric></ix:nonNumeric><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023, the Company has undiscounted commitments of $<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-5" name="fsly:LesseeOperatingLeaseLeaseNotYetCommencedCommitmentAmount" format="ixt:num-dot-decimal" scale="6" id="f-967">2.3</ix:nonFraction>&#160;million for operating leases that have not yet commenced, and therefore are not included in the right-of-use asset or operating lease liability. These operating leases will commence in 2024 with lease terms of <ix:nonNumeric contextRef="c-212" name="us-gaap:LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1" format="ixt-sec:duryear" id="f-968">3</ix:nonNumeric> years.</span></div></ix:continuation></ix:continuation><div style="margin-bottom:12pt;text-indent:27pt"><span><br/></span></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_124"></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">8. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock" id="f-969" continuedAt="f-969-1" escape="true">Goodwill and Intangible Assets</ix:nonNumeric></span></div><ix:continuation id="f-969-1" continuedAt="f-969-2"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Goodwill</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfGoodwillTextBlock" id="f-970" escape="true"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The changes in the carrying amount of goodwill for th</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">e years ended </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2022</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> are as follows</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">:</span></div><div style="margin-bottom:7pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:58.549%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.344%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.347%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Beginning balance</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-971">670,185</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-26" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-972">636,805</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill acquired from business combinations</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:GoodwillAcquiredDuringPeriod" format="ixt:fixed-zero" scale="3" id="f-973">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:GoodwillAcquiredDuringPeriod" format="ixt:num-dot-decimal" scale="3" id="f-974">33,419</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency translation and other adjustments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" scale="3" id="f-975">171</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" scale="3" id="f-976">39</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ending balance</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-977">670,356</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-978">670,185</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The goodwill acquired from business combinations are from the Company&#8217;s acquisition described in Note 5 &#8212; Business Combinations. The Company did <ix:nonFraction unitRef="usd" contextRef="c-6" decimals="INF" name="us-gaap:GoodwillImpairmentLoss" format="ixt:fixed-zero" scale="0" id="f-979"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="INF" name="us-gaap:GoodwillImpairmentLoss" format="ixt:fixed-zero" scale="0" id="f-980"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="INF" name="us-gaap:GoodwillImpairmentLoss" format="ixt:fixed-zero" scale="0" id="f-981">not</ix:nonFraction></ix:nonFraction></ix:nonFraction> record an impairment charge on goodwill for the fiscal years ended December&#160;31, 2023, 2022 and 2021.</span></div></ix:continuation><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">116</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div><span><br/></span></div></div><ix:continuation id="f-969-2"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Intangible Assets, net</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><ix:continuation id="f-501-1"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023 and December&#160;31, 2022, the Company&#8217;s intangible assets consisted of the following:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:23.461%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.742%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.742%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.742%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.742%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.742%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.749%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2023</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross carrying value</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Accumulated amortization</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Net carrying value</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross carrying value</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Accumulated amortization</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Net carrying value</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="33" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Intangible assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-214" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-982">69,860</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-214" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-983">28,473</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-214" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-984">41,387</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-215" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-985">69,860</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-215" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-986">19,582</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-215" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-987">50,278</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Developed technology</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-216" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-988">50,130</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-216" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-989">32,424</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-216" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-990">17,706</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-217" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-991">50,130</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-217" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-992">22,367</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-217" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-993">27,763</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trade names</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-218" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-994">3,910</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-218" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-995">3,542</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-218" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="f-996">368</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-219" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-997">3,910</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-219" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-998">2,564</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-219" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-999">1,346</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Internet protocol addresses</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-68" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-1000">4,984</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-68" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-1001">1,970</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-68" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-1002">3,014</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-220" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-1003">4,984</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-220" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-1004">1,471</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-220" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-1005">3,513</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Backlog</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-67" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:fixed-zero" scale="3" id="f-1006">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-67" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:fixed-zero" scale="3" id="f-1007">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-67" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:fixed-zero" scale="3" id="f-1008">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-221" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-1009">2,200</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-221" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-1010">2,200</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-221" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:fixed-zero" scale="3" id="f-1011">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total intangible assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-1012">128,884</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-1013">66,409</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-1014">62,475</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-1015">131,084</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-1016">48,184</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-1017">82,900</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:continuation><div style="margin-bottom:12pt;margin-top:5pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s customer relationships, developed technology, trade names, backlog and Internet protocol addresses represent intangible assets subject to amortization. Amortization expense was $<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-5" name="us-gaap:AmortizationOfIntangibleAssets" format="ixt:num-dot-decimal" scale="6" id="f-1018">20.4</ix:nonFraction>&#160;million, $<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-5" name="us-gaap:AmortizationOfIntangibleAssets" format="ixt:num-dot-decimal" scale="6" id="f-1019">21.7</ix:nonFraction>&#160;million and $<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-5" name="us-gaap:AmortizationOfIntangibleAssets" format="ixt:num-dot-decimal" scale="6" id="f-1020">21.2</ix:nonFraction> million, for the years ended December&#160;31, 2023, 2022 and 2021, respectively. </span></div><div style="margin-bottom:12pt;margin-top:5pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company did <ix:nonFraction unitRef="usd" contextRef="c-1" decimals="INF" name="us-gaap:PaymentsToAcquireIntangibleAssets" format="ixt:fixed-zero" scale="3" id="f-1021">not</ix:nonFraction> purchase any intangible assets during the year ended December&#160;31, 2023. During the year ended December&#160;31, 2022, the Company added $<ix:nonFraction unitRef="usd" contextRef="c-184" decimals="-5" name="us-gaap:PaymentsToAcquireIntangibleAssets" format="ixt:num-dot-decimal" scale="6" id="f-1022">2.0</ix:nonFraction>&#160;million of intangible assets from the acquisition of Glitch, which are subject to amortization. During the year ended December&#160;31, 2021, the Company purchased $<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-5" name="us-gaap:PaymentsToAcquireIntangibleAssets" format="ixt:num-dot-decimal" scale="6" id="f-1023">2.1</ix:nonFraction>&#160;million of intangible assets. The Company did not record any impairments during the years ended December&#160;31, 2023, 2022 and 2021.</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" id="f-1024" escape="true"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The expected amortization expense of intangible assets subject to amortization as of December&#160;31, 2023&#160;is as follows:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:78.578%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:19.222%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" format="ixt:num-dot-decimal" scale="3" id="f-1025">19,599</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" format="ixt:num-dot-decimal" scale="3" id="f-1026">16,976</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" format="ixt:num-dot-decimal" scale="3" id="f-1027">9,193</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" format="ixt:num-dot-decimal" scale="3" id="f-1028">9,051</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2028</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" format="ixt:num-dot-decimal" scale="3" id="f-1029">6,891</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" scale="3" id="f-1030">765</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-1031">62,475</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric></ix:continuation><div style="margin-bottom:12pt;text-indent:27pt"><span><br/></span></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_127"></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">9. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:DebtDisclosureTextBlock" id="f-1032" continuedAt="f-1032-1" escape="true">Debt Instruments</ix:nonNumeric></span></div><ix:continuation id="f-1032-1" continuedAt="f-1032-2"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Senior Secured Credit Facilities Agreement</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 16, 2021, the Company entered into a Senior Secured Credit Facilities Agreement (&#8220;Credit Agreement&#8221;) with the lenders from time to time party thereto (the &#8220;Lenders&#8221;) and Silicon Valley Bank, as a lender and as administrative agent and collateral agent for the Lenders, for an aggregate commitment amount of $<ix:nonFraction unitRef="usd" contextRef="c-222" decimals="INF" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" format="ixt:num-dot-decimal" scale="6" id="f-1033">100.0</ix:nonFraction>&#160;million with a maturity date of February 16, 2024. The Company recorded $<ix:nonFraction unitRef="usd" contextRef="c-222" decimals="-5" name="us-gaap:DeferredFinanceCostsGross" format="ixt:num-dot-decimal" scale="6" id="f-1034">0.6</ix:nonFraction>&#160;million of debt issuance costs associated with the Credit Agreement in other assets on the Company&#8217;s consolidated balance sheet. </span></div></ix:continuation><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">117</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><ix:continuation id="f-1032-2" continuedAt="f-1032-3"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Credit Agreement originally bore interest at a rate per annum equal to the sum of LIBOR for the applicable interest period plus <ix:nonFraction unitRef="number" contextRef="c-223" decimals="INF" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="f-1035">1.75</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="c-224" decimals="INF" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="f-1036">2.00</ix:nonFraction>%, depending on the average daily outstanding balance of all loans and letters of credit under the Credit Agreement. On June 28, 2023, the Company entered into the First Amendment to Credit Agreement with the Lenders and First-Citizens Bank &amp; Trust Company (successor by purchase to the Federal Deposit Insurance Corporation as Receiver for Silicon Valley Bridge Bank, N.A. (as successor to Silicon Valley Bank)), as a lender and as administrative agent and collateral agent for the Lenders, which, among other things, amended the interest rate provisions of the Credit Agreement to replace LIBOR with the Secured Overnight Finance Rate (&#8220;SOFR&#8221;) as the interest rate benchmark. On February 16, 2024, the Company entered into the Second Amendment to Credit Agreement with the Lenders and Silicon Valley Bank, a division of First-Citizens Bank &amp; Trust Company, as a lender and as administrative agent and collateral agent for the Lenders, which, among other things, extended the maturity date of the loans under the Credit Agreement to June 14, 2024. As amended, the revolving loans bear interest, at the Company&#8217;s election, at an annual rate based on SOFR or a base rate. Loans based on SOFR bear interest at a rate per annum equal to SOFR, plus an adjustment of <ix:nonFraction unitRef="number" contextRef="c-225" decimals="INF" name="fsly:DebtInstrumentBasisSpreadAdjustment" scale="-2" id="f-1037">0.10</ix:nonFraction>%, plus <ix:nonFraction unitRef="number" contextRef="c-226" decimals="INF" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="f-1038">1.75</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="c-227" decimals="INF" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="f-1039">2.00</ix:nonFraction>%, depending on the average daily outstanding balance of all loans and letters of credit under the Credit Agreement. Loans based on the base rate bear interest at a rate per annum equal to the base rate plus <ix:nonFraction unitRef="number" contextRef="c-228" decimals="INF" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="f-1040">0.75</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="c-229" decimals="INF" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="f-1041">1.00</ix:nonFraction>%, depending on the average daily outstanding balance of all loans and letters of credit under the Credit Agreement.</span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Interest payments on outstanding borrowings are due on the last day of each interest period. The Credit Agreement has a commitment fee on the unused portion of the borrowing commitment, which is payable on the last day of each calendar quarter at a rate per annum of <ix:nonFraction unitRef="number" contextRef="c-230" decimals="INF" name="us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" scale="-2" id="f-1042">0.20</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="c-231" decimals="INF" name="us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" scale="-2" id="f-1043">0.25</ix:nonFraction>% depending on the average daily outstanding balance of all loans and letters of credit under the Credit Agreement. In addition, the Company&#8217;s Credit Agreement contains a financial covenant that requires the Company to maintain a consolidated adjusted quick ratio of at least <ix:nonFraction unitRef="number" contextRef="c-222" decimals="INF" name="fsly:DebtCovenantAdjustedQuickRatioMinimumRequirement" scale="0" id="f-1044">1.25</ix:nonFraction> tested on a quarterly basis as well as a springing revenue growth covenant for certain periods if the Company&#8217;s consolidated adjusted quick ratio falls below <ix:nonFraction unitRef="number" contextRef="c-222" decimals="INF" name="fsly:DebtCovenantAdjustedQuickRatioMinimumThresholdToTriggerRevenueGrowthCovenantRequirement" scale="0" id="f-1045">1.75</ix:nonFraction> on the last day of any fiscal quarter. The Credit Agreement requires the Company to comply with various affirmative and negative covenants, and contains customary events of default.</span></div><div style="text-indent:36pt"><span><br/></span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023 and 2022, the Company was in compliance with all of the Credit Agreement&#8217;s covenants. During the years ended December&#160;31, 2023 and 2022, <ix:nonFraction unitRef="usd" contextRef="c-232" decimals="INF" name="us-gaap:ProceedsFromLinesOfCredit" format="ixt-sec:numwordsen" scale="0" id="f-1046"><ix:nonFraction unitRef="usd" contextRef="c-233" decimals="INF" name="us-gaap:ProceedsFromLinesOfCredit" format="ixt-sec:numwordsen" scale="0" id="f-1047">no</ix:nonFraction></ix:nonFraction> amounts were drawn down on the Company&#8217;s Credit Agreement. As of the years ended December&#160;31, 2023 and 2022, <ix:nonFraction unitRef="usd" contextRef="c-234" decimals="INF" name="us-gaap:LineOfCredit" format="ixt-sec:numwordsen" scale="0" id="f-1048"><ix:nonFraction unitRef="usd" contextRef="c-235" decimals="INF" name="us-gaap:LineOfCredit" format="ixt-sec:numwordsen" scale="0" id="f-1049">no</ix:nonFraction></ix:nonFraction> amounts were outstanding under the Credit Agreement. </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Convertible Senior Notes</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 5, 2021, the Company issued approximately $<ix:nonFraction unitRef="usd" contextRef="c-236" decimals="-5" name="us-gaap:DebtInstrumentFaceAmount" format="ixt:num-dot-decimal" scale="6" id="f-1050">948.8</ix:nonFraction>&#160;million aggregate principal amount of <ix:nonFraction unitRef="number" contextRef="c-236" decimals="INF" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="f-1051">0</ix:nonFraction>% convertible senior notes due 2026 (the &#8220;Notes&#8221;), including the exercise in full by the initial purchasers of their</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">option to purchase up to an additional approximately $<ix:nonFraction unitRef="usd" contextRef="c-236" decimals="-5" name="fsly:DebtInstrumentFaceAmountAdditionalPrincipalIssuable" format="ixt:num-dot-decimal" scale="6" id="f-1052">123.8</ix:nonFraction>&#160;million principal amount of the Notes. The Notes were issued in a private placement to qualified institutional buyers pursuant to Rule 144A under the Securities Act. The Notes will mature on March 15, 2026, unless earlier converted, redeemed or repurchased. The net proceeds from the issuance of the Notes were approximately $<ix:nonFraction unitRef="usd" contextRef="c-237" decimals="-5" name="us-gaap:ProceedsFromConvertibleDebt" format="ixt:num-dot-decimal" scale="6" id="f-1053">930.0</ix:nonFraction>&#160;million after deducting the initial purchasers&#8217; discounts and transaction costs.</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company may not redeem the Notes prior to March 20, 2024. On or after March 20, 2024, the Company may redeem for cash, all or any portion of the Notes, at the Company&#8217;s option, at a redemption price equal to <ix:nonFraction unitRef="number" contextRef="c-238" decimals="INF" name="us-gaap:DebtInstrumentRedemptionPricePercentage" scale="-2" id="f-1054">100</ix:nonFraction>% of the principal amount of the Notes to be redeemed, plus accrued and unpaid special interest, if any, to, but excluding, the redemption date, if the last reported sale price of the Company&#8217;s Class A common stock has been at least <ix:nonFraction unitRef="number" contextRef="c-239" decimals="INF" name="us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" scale="-2" id="f-1055">130</ix:nonFraction>% of the conversion price for the Notes then in effect for at least <ix:nonFraction unitRef="day" contextRef="c-239" decimals="INF" name="us-gaap:DebtInstrumentConvertibleThresholdTradingDays" scale="0" id="f-1056">20</ix:nonFraction> trading days (whether or not consecutive) during any <ix:nonFraction unitRef="day" contextRef="c-239" decimals="INF" name="us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" scale="0" id="f-1057">30</ix:nonFraction> consecutive trading day period (including the last trading day of such period) ending on, and including, the trading day immediately preceding the date on which the Company provides notice of redemption. No sinking fund is provided for the Notes.</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Holders of the Notes may convert their notes at their option at any time prior to the close of business on the business day immediately preceding December 15, 2025, only under the following circumstances: (i) during any calendar quarter commencing after the calendar quarter ending on June 30, 2021 (and only during such calendar quarter), if the last reported sale price of the Company&#8217;s Class A common stock for at least <ix:nonFraction unitRef="day" contextRef="c-240" decimals="INF" name="us-gaap:DebtInstrumentConvertibleThresholdTradingDays" scale="0" id="f-1058">20</ix:nonFraction> trading days (whether or not consecutive) during a period of <ix:nonFraction unitRef="day" contextRef="c-240" decimals="INF" name="us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" scale="0" id="f-1059">30</ix:nonFraction> consecutive trading days ending on, and including, the last trading day of the immediately preceding calendar quarter is greater than or equal to <ix:nonFraction unitRef="number" contextRef="c-240" decimals="INF" name="us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" scale="-2" id="f-1060">130</ix:nonFraction>% of the conversion price for the Notes on each applicable trading day; (ii) during the <ix:nonFraction unitRef="day" contextRef="c-241" decimals="INF" name="us-gaap:DebtInstrumentConvertibleThresholdTradingDays" format="ixt-sec:numwordsen" scale="0" id="f-1061">five</ix:nonFraction> business day period after any <ix:nonFraction unitRef="day" contextRef="c-241" decimals="INF" name="us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" format="ixt-sec:numwordsen" scale="0" id="f-1062">ten</ix:nonFraction> consecutive trading day period (the &#8220;Measurement Period&#8221;) in which the trading price, as defined in the indenture agreement governing the Note filed with the Company&#8217;s Current Report on Form 8-K filed with the Securities and Exchange Commission on March 5, 2021, per $1,000 principal amount of notes for each trading day of the Measurement Period was less than <ix:nonFraction unitRef="number" contextRef="c-241" decimals="INF" name="us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" scale="-2" id="f-1063">98</ix:nonFraction>% of the product of the last reported sale price of the Company&#8217;s Class A common stock and the conversion </span></div></ix:continuation><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">118</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><ix:continuation id="f-1032-3" continuedAt="f-1032-4"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">rate on each such trading day; (iii) if the Company calls such Notes for redemption, at any time prior to the close of business on the scheduled trading day immediately preceding the applicable redemption date, but only with respect to the Notes called (or deemed called) for redemption; or (iv) upon the occurrence of specified corporate events. On or after December 15, 2025 until the close of business on the second scheduled trading day immediately preceding the maturity date, holders may convert all or any portion of their notes at any time, regardless of the foregoing circumstances.</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Upon conversion, the Company may satisfy its conversion obligation by paying or delivering, as the case may be, cash, shares of its Class A common stock or a combination of cash and shares of its Class A common stock, at the Company&#8217;s election. The initial conversion rate is 9.7272 shares of Class A common stock per $1,000 principal amount of Notes, equivalent to an initial conversion price of approximately $<ix:nonFraction unitRef="usdPerShare" contextRef="c-242" decimals="2" name="us-gaap:DebtInstrumentConvertibleConversionPrice1" scale="0" id="f-1064">102.80</ix:nonFraction> per share of Class A common stock. The conversion rate is subject to adjustment as described in the indenture governing the Notes but will not be adjusted for any accrued and unpaid special interest. In addition, following certain corporate events that occur prior to the maturity date of the Notes or if the Company delivers a notice of redemption in respect of the Notes, the Company will, in certain circumstances, increase the conversion rate of the Notes for a holder who elects to convert its Notes, in connection with such a corporate event or convert its Notes called (or deemed called) for redemption during the related redemption period, as the case may be.</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The indenture includes customary covenants and sets forth certain events of default after which the Notes may be declared immediately due and payable and sets forth certain types of bankruptcy or insolvency events of default involving the Company after which the Notes become automatically due and payable. If the Company undergoes a fundamental change, as defined in the indenture agreement governing the Notes, then subject to certain conditions and except as described in the indenture governing the Notes, holders may require the Company to repurchase for cash all or any portion of their Notes at a fundamental change repurchase price equal to <ix:nonFraction unitRef="number" contextRef="c-243" decimals="INF" name="us-gaap:DebtInstrumentRedemptionPricePercentage" scale="-2" id="f-1065">100</ix:nonFraction>% of the principal amount of the Notes to be repurchased, plus accrued and unpaid special interest, if any, to, but excluding, the fundamental change repurchase date.</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company evaluated the terms of its debt and concluded that the instrument does not require separation and that there were no other derivatives that required separation. As such, the Company has combined these features with the host contract and the Company accounts for its convertible debt as a single liability in long-term debt on its consolidated balance sheet. The initial purchasers&#8217; discounts and transaction costs of $<ix:nonFraction unitRef="usd" contextRef="c-236" decimals="-5" name="us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet" format="ixt:num-dot-decimal" scale="6" id="f-1066">18.6</ix:nonFraction>&#160;million incurred related to the issuance of the Notes were classified as liability and represents the difference between the principal amount of the Notes and the liability component (the &#8220;debt discount&#8221;), which is amortized to interest expense using the effective interest method over the term of the Notes.</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023, the conversion conditions had not been met and therefore the Notes were not yet convertible.</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On May 25, 2022, the Company entered into separate, privately negotiated transactions with certain holders of the Notes to repurchase (the &#8220;Repurchases&#8221;) $<ix:nonFraction unitRef="usd" contextRef="c-244" decimals="-5" name="us-gaap:DebtInstrumentRepurchasedFaceAmount" format="ixt:num-dot-decimal" scale="6" id="f-1067">235.0</ix:nonFraction>&#160;million aggregate principal amount of the Notes for an aggregate cash repurchase price of $<ix:nonFraction unitRef="usd" contextRef="c-244" decimals="-5" name="us-gaap:DebtInstrumentRepurchaseAmount" format="ixt:num-dot-decimal" scale="6" id="f-1068">176.4</ix:nonFraction>&#160;million and aggregate transaction costs of $<ix:nonFraction unitRef="usd" contextRef="c-244" decimals="-5" name="fsly:DebtInstrumentRepurchaseTransactionCosts" format="ixt:num-dot-decimal" scale="6" id="f-1069">0.7</ix:nonFraction>&#160;million. The Repurchases were accounted for as a debt extinguishment that resulted in a net gain of $<ix:nonFraction unitRef="usd" contextRef="c-245" decimals="-5" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" format="ixt:num-dot-decimal" scale="6" id="f-1070">54.4</ix:nonFraction>&#160;million, which was recorded as non-operating income on the Company's consolidated statement of operations for the year ended December 31, 2022.</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">During the year ended December&#160;31, 2023, the Company entered into several separate privately negotiated transactions with certain holders of the Notes to repurchase $<ix:nonFraction unitRef="usd" contextRef="c-246" decimals="-5" name="us-gaap:DebtInstrumentRepurchasedFaceAmount" format="ixt:num-dot-decimal" scale="6" id="f-1071">367.3</ix:nonFraction>&#160;million aggregate principal amount of the Notes for an aggregate cash repurchase price of $<ix:nonFraction unitRef="usd" contextRef="c-246" decimals="-5" name="us-gaap:DebtInstrumentRepurchaseAmount" format="ixt:num-dot-decimal" scale="6" id="f-1072">309.1</ix:nonFraction>&#160;million and aggregate transaction costs of $<ix:nonFraction unitRef="usd" contextRef="c-246" decimals="-5" name="fsly:DebtInstrumentRepurchaseTransactionCosts" format="ixt:num-dot-decimal" scale="6" id="f-1073">2.0</ix:nonFraction>&#160;million. The Repurchases were accounted for as a </span></div></ix:continuation><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">119</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><ix:continuation id="f-1032-4"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">debt extinguishment that resulted in a net gain of $<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-5" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" format="ixt:num-dot-decimal" scale="6" id="f-1074">52.4</ix:nonFraction>&#160;million, which was recorded as non-operating income on the Company&#8217;s consolidated statement of operations for the year ended December&#160;31, 2023.</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfDebtTableTextBlock" id="f-1075" escape="true"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table reflects the carrying values of the debt agreements as of December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2022</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> as follows</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:68.783%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.666%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.667%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Convertible Senior notes (effective interest rate of <ix:nonFraction unitRef="number" contextRef="c-247" decimals="4" name="us-gaap:DebtInstrumentInterestRateDuringPeriod" scale="-2" id="f-1076">0.38</ix:nonFraction>% and <ix:nonFraction unitRef="number" contextRef="c-245" decimals="4" name="us-gaap:DebtInstrumentInterestRateDuringPeriod" scale="-2" id="f-1077">0.40</ix:nonFraction>% as of December&#160;31, 2023 and 2022, respectively)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%">Principal amount</span></div></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-246" decimals="-3" name="us-gaap:DebtInstrumentCarryingAmount" format="ixt:num-dot-decimal" scale="3" id="f-1078">346,489</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-248" decimals="-3" name="us-gaap:DebtInstrumentCarryingAmount" format="ixt:num-dot-decimal" scale="3" id="f-1079">713,753</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: unamortized debt issuance costs</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-246" decimals="-3" name="us-gaap:DebtInstrumentUnamortizedDiscount" format="ixt:num-dot-decimal" scale="3" id="f-1080">2,982</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-248" decimals="-3" name="us-gaap:DebtInstrumentUnamortizedDiscount" format="ixt:num-dot-decimal" scale="3" id="f-1081">9,043</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: current portion of long-term debt</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-246" decimals="-3" name="us-gaap:LongTermDebtCurrent" format="ixt:fixed-zero" scale="3" id="f-1082">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-248" decimals="-3" name="us-gaap:LongTermDebtCurrent" format="ixt:fixed-zero" scale="3" id="f-1083">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%">Long-term debt, less current portion</span></div></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-246" decimals="-3" name="us-gaap:LongTermDebt" format="ixt:num-dot-decimal" scale="3" id="f-1084">343,507</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-248" decimals="-3" name="us-gaap:LongTermDebt" format="ixt:num-dot-decimal" scale="3" id="f-1085">704,710</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">For the years ended December&#160;31, 2023, 2022 and 2021, interest expense related to the Company&#8217;s debt obligations was $<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-5" name="us-gaap:InterestExpenseDebt" format="ixt:num-dot-decimal" scale="6" id="f-1086">2.7</ix:nonFraction>&#160;million, $<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-5" name="us-gaap:InterestExpenseDebt" format="ixt:num-dot-decimal" scale="6" id="f-1087">3.4</ix:nonFraction>&#160;million, and $<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-5" name="us-gaap:InterestExpenseDebt" format="ixt:num-dot-decimal" scale="6" id="f-1088">3.5</ix:nonFraction>&#160;million respectively. As of December&#160;31, 2023 and 2022, the total estimated fair value of the Notes were $<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-5" name="us-gaap:NotesPayableFairValueDisclosure" format="ixt:num-dot-decimal" scale="6" id="f-1089">301.4</ix:nonFraction>&#160;million and $<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-5" name="us-gaap:NotesPayableFairValueDisclosure" format="ixt:num-dot-decimal" scale="6" id="f-1090">517.5</ix:nonFraction>&#160;million, respectively.</span></div></ix:continuation><div id="ifeb57f42291446d88b3e56f9c1e58c38_133"></div><div style="margin-bottom:12pt;margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">10. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" id="f-1092" continuedAt="f-1092-1" escape="true">Commitments and Contingencies</ix:nonNumeric></span></div><ix:continuation id="f-1092-1" continuedAt="f-1092-2"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Purchase Commitments</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">As of December&#160;31, 2023, the Company had long-term commitments for cost of revenue related agreements (i.e., bandwidth usage, peering and other managed services with various networks, fixed asset vendors, Internet service providers and other third-party vendors). The Company also has non-cost of revenue long-term commitments for various non-cancelable agreements. </span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:LongTermPurchaseCommitmentTextBlock" id="f-1093" escape="true"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Aside from the Company&#8217;s finance and operating lease commitments, including its colocation operating commitments, which have been disclosed in Note 7&#8212;Leases, the minimum future commitments related to the Company&#8217;s purchase commitments as of December&#160;31, 2023 were as follows: </span></div><div style="margin-bottom:12pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.391%"><tr><td style="width:1.0%"/><td style="width:48.974%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.542%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.798%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.542%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.798%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.542%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.804%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Cost of Revenue Commitments</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Operating Expense Commitments</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total Purchase Commitments</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-250" decimals="-3" name="us-gaap:PurchaseObligationDueInNextTwelveMonths" format="ixt:num-dot-decimal" scale="3" id="f-1094">48,699</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-251" decimals="-3" name="us-gaap:PurchaseObligationDueInNextTwelveMonths" format="ixt:num-dot-decimal" scale="3" id="f-1095">10,480</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:PurchaseObligationDueInNextTwelveMonths" format="ixt:num-dot-decimal" scale="3" id="f-1096">59,179</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-250" decimals="-3" name="us-gaap:PurchaseObligationDueInSecondYear" format="ixt:num-dot-decimal" scale="3" id="f-1097">6,105</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-251" decimals="-3" name="us-gaap:PurchaseObligationDueInSecondYear" format="ixt:num-dot-decimal" scale="3" id="f-1098">3,797</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:PurchaseObligationDueInSecondYear" format="ixt:num-dot-decimal" scale="3" id="f-1099">9,902</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-250" decimals="-3" name="us-gaap:PurchaseObligationDueInThirdYear" format="ixt:num-dot-decimal" scale="3" id="f-1100">8,111</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-251" decimals="-3" name="us-gaap:PurchaseObligationDueInThirdYear" format="ixt:num-dot-decimal" scale="3" id="f-1101">2,097</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:PurchaseObligationDueInThirdYear" format="ixt:num-dot-decimal" scale="3" id="f-1102">10,208</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-250" decimals="-3" name="us-gaap:PurchaseObligationDueInFourthYear" scale="3" id="f-1103">111</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-251" decimals="-3" name="us-gaap:PurchaseObligationDueInFourthYear" format="ixt:fixed-zero" scale="3" id="f-1104">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:PurchaseObligationDueInFourthYear" scale="3" id="f-1105">111</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2028</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-250" decimals="-3" name="us-gaap:PurchaseObligationDueInFifthYear" scale="3" id="f-1106">40</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-251" decimals="-3" name="us-gaap:PurchaseObligationDueInFifthYear" format="ixt:fixed-zero" scale="3" id="f-1107">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:PurchaseObligationDueInFifthYear" scale="3" id="f-1108">40</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-250" decimals="-3" name="us-gaap:PurchaseObligationDueAfterFifthYear" format="ixt:fixed-zero" scale="3" id="f-1109">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-251" decimals="-3" name="us-gaap:PurchaseObligationDueAfterFifthYear" format="ixt:fixed-zero" scale="3" id="f-1110">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:PurchaseObligationDueAfterFifthYear" format="ixt:fixed-zero" scale="3" id="f-1111">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-250" decimals="-3" name="us-gaap:PurchaseObligation" format="ixt:num-dot-decimal" scale="3" id="f-1112">63,066</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-251" decimals="-3" name="us-gaap:PurchaseObligation" format="ixt:num-dot-decimal" scale="3" id="f-1113">16,374</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:PurchaseObligation" format="ixt:num-dot-decimal" scale="3" id="f-1114">79,440</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric></ix:continuation><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">120</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><ix:continuation id="f-1092-2"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Sales and Use Tax</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company conducts its operations in many tax jurisdictions throughout the United States. In many of these jurisdictions, non-income-based taxes, such as sales and use and telecommunications taxes are assessed on the Company&#8217;s operations. The Company is subject to indirect taxes, and may be subject to certain other taxes, in some of these jurisdictions. Historically, the Company has not billed or collected these taxes and, in accordance with GAAP, the Company has recorded a provision for its tax exposure in these jurisdictions when it is both probable that a liability has been incurred and the amount of the exposure can be reasonably estimated. As a result, the Company has recorded a liability of $<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-5" name="fsly:SalesAndExciseTaxPayableCurrentExcludingNormalActivity" format="ixt:num-dot-decimal" scale="6" id="f-1115">4.3</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-5" name="fsly:SalesAndExciseTaxPayableCurrentExcludingNormalActivity" format="ixt:num-dot-decimal" scale="6" id="f-1116">7.6</ix:nonFraction> million as of December&#160;31, 2023 and 2022, respectively. These estimates are based on several key assumptions, including the taxability of the Company&#8217;s products, the jurisdictions in which the Company believes it has nexus and the sourcing of revenues to those jurisdictions. In the event these jurisdictions challenge the Company&#8217;s assumptions and analysis, its actual exposure could differ materially from its current estimates.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Legal Matters</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time, the Company has been and may be subject to legal proceedings and claims. Such matters are subject to many uncertainties and outcomes are not predictable with assurance. The Company accrues for contingencies when it believes that a loss is probable and that the Company can reasonably estimate the amount of any such loss. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company is not presently a party to any legal proceedings that, if determined adversely to it, would individually or taken together have a material effect on the Company&#8217;s business, results of operations, financial condition, or cash flows. As of December&#160;31, 2023, the Company has not recorded any significant accruals for loss contingencies associated with such legal proceedings, determined that an unfavorable outcome is probable or reasonably possible, or determined that the amount or range of any possible loss is reasonably estimable.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Indemnification</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company enters into standard indemnification agreements in the ordinary course of business. Pursuant to these agreements, the Company agrees to indemnify, hold harmless, and reimburse the indemnified party for losses suffered or incurred by the indemnified party, generally the Company&#8217;s business partners or customers, in connection with its provision of its services. Generally, these obligations are limited to claims relating to infringement of a patent, copyright, or other intellectual property right, breach of the Company&#8217;s security or data protection obligations, or its negligence, willful misconduct, or violation of law. Subject to applicable statutes of limitation, the term of these indemnification agreements is generally for the duration of the agreement. The maximum potential amount of future payments the Company could be required to make under these indemnification agreements is unlimited; however, the Company carries insurance that covers certain third-party claims relating to the Company&#8217;s services and could limit its exposure in that respect.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has agreed to indemnify each of its officers and directors during his or her lifetime for certain events or occurrences that happen by reason of the fact that the officer or director is, was, or has agreed to serve as an officer or director of the Company. The Company has director and officer insurance policies that may limit its exposure and may enable it to recover a portion of certain future amounts paid.</span></div><div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">To date, the Company has not encountered material costs as a result of such indemnification obligations and has not accrued any related liabilities in its financial statements. In assessing whether to establish an accrual, the Company considers such factors as the degree of probability of an unfavorable outcome and the ability to make a reasonable estimate of the amount of loss.</span></div></ix:continuation><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">121</span></div></div></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_136"></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">11. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock" id="f-1117" continuedAt="f-1117-1" escape="true">Stockholders&#8217; Equity</ix:nonNumeric></span></div><ix:continuation id="f-1117-1" continuedAt="f-1117-2"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Common Stock</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s Amended and Restated Certificate of Incorporation, as amended and restated in May 2019, authorizes the issuance of <ix:nonFraction unitRef="shares" contextRef="c-252" decimals="INF" name="us-gaap:CommonStockSharesAuthorized" format="ixt:num-dot-decimal" scale="9" id="f-1118">1.0</ix:nonFraction> billion&#160;shares of Class A common stock and <ix:nonFraction unitRef="shares" contextRef="c-253" decimals="-5" name="us-gaap:CommonStockSharesAuthorized" format="ixt:num-dot-decimal" scale="6" id="f-1119">94.1</ix:nonFraction> million shares of Class B common stock, each at a par value per share of $<ix:nonFraction unitRef="usdPerShare" contextRef="c-253" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="f-1120"><ix:nonFraction unitRef="usdPerShare" contextRef="c-252" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="f-1121">0.00002</ix:nonFraction></ix:nonFraction>. Holders of Class&#160;A common stock are entitled to&#160;<ix:nonFraction unitRef="vote" contextRef="c-252" decimals="INF" name="fsly:CommonStockVotingRightsNumberofVotesAllowedToEachShare" format="ixt-sec:numwordsen" scale="0" id="f-1122">one</ix:nonFraction>&#160;vote per share and holders of Class&#160;B common stock are entitled to&#160;<ix:nonFraction unitRef="vote" contextRef="c-253" decimals="INF" name="fsly:CommonStockVotingRightsNumberofVotesAllowedToEachShare" scale="0" id="f-1123">10</ix:nonFraction>&#160;votes per share. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On July 12, 2021, all outstanding shares of Class B common stock automatically converted into the same number of shares of Class A common stock (the &#8220;Conversion&#8221;) pursuant to the terms of the Company&#8217;s amended and restated certificate of incorporation (the &#8220;Certificate&#8221;). Upon the Conversion, outstanding options denominated in shares of Class B common stock issued under any of the Company&#8217;s equity incentive plans remained unchanged, except that such options now represent the right to receive shares of Class A common stock on exercise. In accordance with the Certificate, the shares of Class B common stock that converted to Class A common stock were retired and will not be reissued by the Company. Accordingly, the Company filed a certificate with the Secretary of State of the State of Delaware effecting the retirement of the shares of Class B common stock that were issued but no longer outstanding following the Conversion. Upon the effectiveness of the certificate, the Company&#8217;s total number of authorized shares of capital stock was reduced by the retirement of <ix:nonFraction unitRef="shares" contextRef="c-254" decimals="-5" name="fsly:CommonStockSharesRetired" format="ixt:num-dot-decimal" scale="6" id="f-1124">94.1</ix:nonFraction>&#160;million shares of Class B common stock.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Equity Incentive Plans</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company maintains <ix:nonFraction unitRef="plan" contextRef="c-1" decimals="INF" name="fsly:NumberOfEquityIncentivePlans" format="ixt-sec:numwordsen" scale="0" id="f-1125">four</ix:nonFraction> equity incentive plans: the 2019 Equity Incentive Plan (the &#8220;2019 Plan&#8221;), 2011 Equity Incentive Plan (&#8220;2011 Plan&#8221;), Employee Stock Purchase Plan and the Signal Sciences Corp. 2014 Stock Option and Grant Plan, as amended (the &#8220;Signal Plan&#8221;). The 2019 Plan became effective in May 2019 and replaced the 2011 Plan. The Company&#8217;s 2019 Plan provides for the issuance of incentive stock options, non-statutory stock options, stock appreciation rights, restricted stock units (&#8220;RSUs&#8221;), restricted stock awards, performance-based stock awards (&#8220;PSUs&#8221;), and other forms of equity compensation, which are collectively referred to as stock awards to its employees, directors, and consultants. The Signal Plan includes <ix:nonFraction unitRef="shares" contextRef="c-255" decimals="INF" name="fsly:BusinessCombinationUnvestedStockOptionAssumedShares" format="ixt:num-dot-decimal" scale="0" id="f-1126">251,754</ix:nonFraction> registered shares which can be exercised to purchase shares of Fastly&#8217;s common stock. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023 and 2022, there were <ix:nonFraction unitRef="shares" contextRef="c-256" decimals="-5" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" format="ixt:num-dot-decimal" scale="6" id="f-1127">8.9</ix:nonFraction>&#160;million and <ix:nonFraction unitRef="shares" contextRef="c-257" decimals="-5" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" format="ixt:num-dot-decimal" scale="6" id="f-1128">9.6</ix:nonFraction>&#160;million Class A common stock available for issuance under the 2019 Plan, respectively. As of December&#160;31, 2023 and 2022, <ix:nonFraction unitRef="shares" contextRef="c-258" decimals="-5" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="6" id="f-1129"><ix:nonFraction unitRef="shares" contextRef="c-258" decimals="-5" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="6" id="f-1130">133.0</ix:nonFraction></ix:nonFraction>&#160;million and <ix:nonFraction unitRef="shares" contextRef="c-259" decimals="-5" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="6" id="f-1131"><ix:nonFraction unitRef="shares" contextRef="c-259" decimals="-5" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="6" id="f-1132">124.3</ix:nonFraction></ix:nonFraction>&#160;million shares of Class A common stock were issued and outstanding, respectively. As of both December&#160;31, 2023 and 2022, <ix:nonFraction unitRef="shares" contextRef="c-260" decimals="INF" name="us-gaap:CommonStockSharesIssued" format="ixt-sec:numwordsen" scale="0" id="f-1133"><ix:nonFraction unitRef="shares" contextRef="c-261" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" format="ixt-sec:numwordsen" scale="0" id="f-1134"><ix:nonFraction unitRef="shares" contextRef="c-260" decimals="INF" name="us-gaap:CommonStockSharesIssued" format="ixt-sec:numwordsen" scale="0" id="f-1135"><ix:nonFraction unitRef="shares" contextRef="c-261" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" format="ixt-sec:numwordsen" scale="0" id="f-1136">no</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction> shares of Class B common stock were issued and outstanding.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock Options</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Options granted under the 2011&#160;Plan and 2019 Plan are exercisable for Class A common stock and generally expire within <ix:nonNumeric contextRef="c-262" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" format="ixt-sec:duryear" id="f-1137">10</ix:nonNumeric> years from the date of grant and generally vest over <ix:nonNumeric contextRef="c-262" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="f-1138">four years</ix:nonNumeric>, at the rate of <ix:nonFraction unitRef="number" contextRef="c-263" decimals="2" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" scale="-2" id="f-1139">25</ix:nonFraction>% on the first anniversary of the date of grant and ratably on a monthly basis over the remaining <ix:nonNumeric contextRef="c-264" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="f-1140">36-month</ix:nonNumeric> period thereafter based on continued service. Due to the Conversion on July 12, 2021, options granted under the 2011 Plan are now exercisable for Class A common stock. Forfeitures are recognized as they occur.</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" id="f-1141" escape="true"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes stock option activity during the year ended December&#160;31, 2023:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:38.227%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.496%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.250%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.958%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.649%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number of Shares</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted-Average&#160;<br/>Exercise Price</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted-Average<br/>Remaining<br/>Contractual Term</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Aggregate<br/>Intrinsic&#160;Value</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in&#160;thousands)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in&#160;years)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in&#160;thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding at December 31, 2022</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-5" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" format="ixt:num-dot-decimal" scale="3" id="f-1142">2,443</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-5" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="f-1143">6.01</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-6" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" format="ixt-sec:duryear" id="f-1144">4.7</ix:nonNumeric></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" format="ixt:num-dot-decimal" scale="3" id="f-1145">7,674</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-1" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" scale="3" id="f-1146">602</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-1" decimals="2" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" scale="0" id="f-1147">16.47</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercised</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="c-1" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="3" id="f-1148">291</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-1" decimals="2" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" scale="0" id="f-1149">7.45</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="c-1" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" scale="3" id="f-1150">44</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-1" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" scale="0" id="f-1151">8.41</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding at December 31, 2023</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-4" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" format="ixt:num-dot-decimal" scale="3" id="f-1152">2,710</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-4" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="f-1153">8.14</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" format="ixt-sec:duryear" id="f-1154">5.1</ix:nonNumeric></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" format="ixt:num-dot-decimal" scale="3" id="f-1155">26,383</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested and exercisable at December 31, 2023</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-4" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" format="ixt:num-dot-decimal" scale="3" id="f-1156">2,142</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-4" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" scale="0" id="f-1157">5.94</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" format="ixt-sec:duryear" id="f-1158">3.8</ix:nonNumeric></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" format="ixt:num-dot-decimal" scale="3" id="f-1159">25,620</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric></ix:continuation><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">122</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><ix:continuation id="f-1117-2" continuedAt="f-1117-3"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total pre-tax intrinsic value of options exercised during the years ended December&#160;31, 2023, 2022, and 2021 was $<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-5" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" format="ixt:num-dot-decimal" scale="6" id="f-1160">3.1</ix:nonFraction> million, $<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-5" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" format="ixt:num-dot-decimal" scale="6" id="f-1161">8.9</ix:nonFraction> million, and $<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-5" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" format="ixt:num-dot-decimal" scale="6" id="f-1162">64.9</ix:nonFraction> million, respectively. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total grant date fair value of employee options vested for the years ended December&#160;31, 2023, 2022, 2021 was $<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-5" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" format="ixt:num-dot-decimal" scale="6" id="f-1163">2.1</ix:nonFraction> million, $<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-5" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" format="ixt:num-dot-decimal" scale="6" id="f-1164">5.6</ix:nonFraction> million, and $<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-5" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" format="ixt:num-dot-decimal" scale="6" id="f-1165">6.9</ix:nonFraction> million, respectively. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The weighted-average grant date fair value for options granted to employees during the year ended December&#160;31, 2023 was $<ix:nonFraction unitRef="usdPerShare" contextRef="c-1" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-1166">10.97</ix:nonFraction>. The Company did not grant any options for the years ended December&#160;31, 2022 and 2021.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company estimates the fair value of stock options on the date of grant using the Black-Scholes option-pricing model. Each of the Black-Scholes inputs is subjective and generally requires significant judgments to determine. <ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock" id="f-1167" continuedAt="f-1167-1" escape="true">The Company estimated the fair value of stock option awards during the year ended December&#160;31, 2023 on the date of the grant using the Black-Scholes option pricing model with the following weighted-average assumptions:</ix:nonNumeric></span></div><ix:continuation id="f-1167-1" continuedAt="f-1167-2"><div style="margin-bottom:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:67.613%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:29.164%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="6" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fair value of common stock</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usdPerShare" contextRef="c-265" decimals="2" name="us-gaap:SharePrice" scale="0" id="f-1168">16.47</ix:nonFraction> </span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected term (in years)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-266" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear" id="f-1169">5.96</ix:nonNumeric></span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Risk-free interest rate</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-266" decimals="4" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" scale="-2" id="f-1170">4.67</ix:nonFraction>%</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected volatility</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-266" decimals="4" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" scale="-2" id="f-1171">71.2</ix:nonFraction>% </span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Dividend yield</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-266" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" format="ixt:fixed-zero" scale="-2" id="f-1172">&#8212;</ix:nonFraction>%</span></div></td></tr></table></div></ix:continuation><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the years ended December&#160;31, 2023 and 2022, and 2021, the Company recognized stock-based compensation expense from stock options of approximately $<ix:nonFraction unitRef="usd" contextRef="c-266" decimals="-5" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="6" id="f-1173">2.1</ix:nonFraction> million, $<ix:nonFraction unitRef="usd" contextRef="c-267" decimals="-5" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="6" id="f-1174">6.1</ix:nonFraction> million, and $<ix:nonFraction unitRef="usd" contextRef="c-268" decimals="-5" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="6" id="f-1175">24.9</ix:nonFraction> million, respectively. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023, total unrecognized stock-based compensation cost related to outstanding unvested stock options that are expected to vest was $<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-5" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" format="ixt:num-dot-decimal" scale="6" id="f-1176">6.2</ix:nonFraction> million. This unrecognized stock-based compensation cost is expected to be recognized over a weighted-average period of approximately <ix:nonNumeric contextRef="c-266" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" format="ixt-sec:duryear" id="f-1177">3.6</ix:nonNumeric> years.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Early Exercise of Stock Options</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%">Certain stock options granted by the Company are exercisable at the date of grant, with unvested shares subject to repurchase by the Company in the event of voluntary or involuntary termination of employment of the stockholder. Such exercises are recorded as a liability on the accompanying consolidated balance sheets and reclassified into equity as the options vest. During the year ended December 31, 2021, the Company modified the terms of <ix:nonFraction unitRef="shares" contextRef="c-268" decimals="INF" name="fsly:ShareBasedPaymentArrangementPlanModificationNumberOfAwardsAffected" format="ixt:num-dot-decimal" scale="0" id="f-1178">47,882</ix:nonFraction> unvested options subject to repurchase, with an exercise value of approximately $<ix:nonFraction unitRef="usd" contextRef="c-268" decimals="-5" name="fsly:ShareBasedPaymentArrangementPlanModificationExerciseValueOfAwardsAffected" format="ixt:num-dot-decimal" scale="6" id="f-1179">0.2</ix:nonFraction>&#160;million, to become fully vested upon change in service status. As of December 31, 2021, a total of <ix:nonFraction unitRef="shares" contextRef="c-269" decimals="INF" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" format="ixt:num-dot-decimal" scale="0" id="f-1180">90,977</ix:nonFraction>&#160;shares of Class B Common Stock were subject to repurchase by the Company at the lower of (i)&#160;the fair market value of such shares on the date of repurchase, or (ii)&#160;the original exercise price of such shares. The corresponding exercise value of approximately $<ix:nonFraction unitRef="usd" contextRef="c-270" decimals="-5" name="us-gaap:OtherLiabilities" format="ixt:num-dot-decimal" scale="6" id="f-1181">0.4</ix:nonFraction> million as of December 31, 2021, was recorded in other current liabilities and other liabilities on the related consolidated balance sheets. The Company did not have any early exercise awards for the year ended December&#160;31, 2023 and 2022.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Restricted Stock Units (&#8220;RSUs&#8221;)</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company began granting RSUs under the 2019 Plan during the fiscal year ended December 31, 2019. The fair value of RSUs is based on the grant date fair value and is expensed on a straight-line basis over the applicable vesting period. RSUs granted to new hires typically vest over <span style="-sec-ix-hidden:f-1182">three</span> or <ix:nonNumeric contextRef="c-272" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="f-1183">four years</ix:nonNumeric>, at the rate of <ix:nonFraction unitRef="number" contextRef="c-272" decimals="2" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" scale="-2" id="f-1184">33</ix:nonFraction>% or <ix:nonFraction unitRef="number" contextRef="c-271" decimals="2" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" scale="-2" id="f-1185">25</ix:nonFraction>%, respectively, on the first anniversary of the vesting start date and ratably on a quarterly basis over the remaining <ix:nonNumeric contextRef="c-273" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="f-1186">24-month</ix:nonNumeric> or <ix:nonNumeric contextRef="c-274" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="f-1187">36-month</ix:nonNumeric> period thereafter, respectively. RSUs granted to existing employees typically vest in equal quarterly installments over a <span style="-sec-ix-hidden:f-1188">three</span> or <ix:nonNumeric contextRef="c-276" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="f-1189">four-year</ix:nonNumeric> service period. All vesting is contingent on continued service. Forfeitures are recognized as they occur.</span></div></ix:continuation><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">123</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><ix:continuation id="f-1117-3" continuedAt="f-1117-4"><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardRestrictedStockUnitsVestedAndExpectedToVestTableTextBlock" id="f-1190" continuedAt="f-1190-1" escape="true"><div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes RSU activity during the years ended December&#160;31, 2023:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:50.361%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.882%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:27.997%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number of Shares</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted-Average&#160;Grant Date Fair Value Per Share</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in&#160;thousands)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested RSUs as of December 31, 2022</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-277" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:num-dot-decimal" scale="3" id="f-1191">11,990</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-277" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="f-1192">20.10</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-278" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="3" id="f-1193">7,667</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-278" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-1194">15.80</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="c-278" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" format="ixt:num-dot-decimal" scale="3" id="f-1195">6,719</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-278" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-1196">18.94</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cancelled/forfeited</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="c-278" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" format="ixt:num-dot-decimal" scale="3" id="f-1197">1,694</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-278" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" scale="0" id="f-1198">22.80</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested RSUs as of December 31, 2023</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-279" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:num-dot-decimal" scale="3" id="f-1199">11,244</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-279" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="f-1200">17.46</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the years ended December&#160;31, 2023, 2022 and 2021, the weighted-average grant date fair value for RSUs granted was $<ix:nonFraction unitRef="usdPerShare" contextRef="c-278" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-1201">15.80</ix:nonFraction>, $<ix:nonFraction unitRef="usdPerShare" contextRef="c-280" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-1202">14.63</ix:nonFraction> and $<ix:nonFraction unitRef="usdPerShare" contextRef="c-281" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-1203">54.92</ix:nonFraction> per share, respectively. During the years ended December&#160;31, 2023, 2022 and 2021, the total weighted-average grant date fair value of RSUs vested was $<ix:nonFraction unitRef="usd" contextRef="c-278" decimals="-5" name="fsly:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodGrantDateFairValue" format="ixt:num-dot-decimal" scale="6" id="f-1204">127.3</ix:nonFraction>&#160;million, $<ix:nonFraction unitRef="usd" contextRef="c-280" decimals="-5" name="fsly:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodGrantDateFairValue" format="ixt:num-dot-decimal" scale="6" id="f-1205">97.9</ix:nonFraction>&#160;million and $<ix:nonFraction unitRef="usd" contextRef="c-281" decimals="-5" name="fsly:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodGrantDateFairValue" format="ixt:num-dot-decimal" scale="6" id="f-1206">67.7</ix:nonFraction>&#160;million, respectively.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the years ended December&#160;31, 2023, 2022 and 2021, the Company recognized stock-based compensation expense related to RSUs of $<ix:nonFraction unitRef="usd" contextRef="c-278" decimals="-5" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="6" id="f-1207">105.2</ix:nonFraction>&#160;million, $<ix:nonFraction unitRef="usd" contextRef="c-280" decimals="-5" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="6" id="f-1208">98.5</ix:nonFraction>&#160;million and $<ix:nonFraction unitRef="usd" contextRef="c-281" decimals="-5" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="6" id="f-1209">78.3</ix:nonFraction>&#160;million, respectively. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023, total unrecognized stock-based compensation cost related to non-vested RSUs was $<ix:nonFraction unitRef="usd" contextRef="c-279" decimals="-5" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" format="ixt:num-dot-decimal" scale="6" id="f-1210">177.1</ix:nonFraction>&#160;million. This unrecognized stock-based compensation cost is expected to be recognized over a weighted-average period of approximately <ix:nonNumeric contextRef="c-278" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" format="ixt-sec:duryear" id="f-1211">2.4</ix:nonNumeric> years. </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock Subject to Revest (&#8220;Revest Shares&#8221;)</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In conjunction with a prior acquisition in fiscal 2020, a restriction was placed on <ix:nonFraction unitRef="shares" contextRef="c-282" decimals="INF" name="fsly:StockIssuedDuringPeriodSharesAcquisitionSharesHeldBackForRestrictedStockAwards" format="ixt:num-dot-decimal" scale="0" id="f-1212">896,499</ix:nonFraction> shares belonging to the <ix:nonFraction unitRef="cofounder" contextRef="c-283" decimals="INF" name="fsly:NumberOfCofoundersWithSharesSubjectToRevesting" format="ixt-sec:numwordsen" scale="0" id="f-1213">three</ix:nonFraction> co-founders of the target which are subject to revesting on a quarterly basis over a <ix:nonNumeric contextRef="c-282" name="fsly:SharesHeldBackForRestrictedStockAwardsRevestingPeriod" format="ixt-sec:durwordsen" id="f-1214">2-year</ix:nonNumeric> period. </span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company did <ix:nonFraction unitRef="usd" contextRef="c-284" decimals="INF" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:fixed-zero" scale="0" id="f-1215">no</ix:nonFraction>t recognize any stock-based compensation expense related to revest shares for the year ended December&#160;31, 2023. For the year ended December 31, 2022, the Company recognized stock-based compensation expense related to revest shares of $<ix:nonFraction unitRef="usd" contextRef="c-285" decimals="-5" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="6" id="f-1216">27.6</ix:nonFraction>&#160;million. As of December&#160;31, 2023, there is <ix:nonFraction unitRef="usd" contextRef="c-286" decimals="INF" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" format="ixt:fixed-zero" scale="0" id="f-1217">no</ix:nonFraction> unrecognized stock-based compensation cost related to revest shares. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On January 24, 2022, the Company entered into an agreement with certain holders of restricted stock, who had sold their awards in advance of their vesting conditions, in order to return the proceeds associated with the remaining <ix:nonFraction unitRef="shares" contextRef="c-287" decimals="INF" name="fsly:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedAndSoldNumber" format="ixt:num-dot-decimal" scale="0" id="f-1218">224,124</ix:nonFraction> unvested shares as of December 31, 2021. These stockholders are eligible to continue vesting under the original agreements as long as they have continued service as either an employee or consultant. On January 31, 2022, the Company received $<ix:nonFraction unitRef="usd" contextRef="c-288" decimals="-5" name="fsly:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsProceedsFromNonvestedSharesSold" format="ixt:num-dot-decimal" scale="6" id="f-1219">10.7</ix:nonFraction>&#160;million from these stockholders related to the settlement of the matter, which the Company classified as unrestricted cash on its  consolidated balance sheets. This amount will similarly be returned to the holders in accordance with the vesting under the original agreements. Correspondingly, the Company reclassified the award from equity to liability as the award will now be settled for the fixed monetary amount received, rather than a release of the restrictions on shares. The modification did not result in any incremental expense to be recognized. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In February 2022, one of the stockholders had a change in employment status and the Company accelerated the remaining stock-based compensation associated with his awards on his last day of service as an employee as his services under the modified arrangement were not substantive. For the year ended December 31, 2022, the Company recognized stock-based compensation expense of $<ix:nonFraction unitRef="usd" contextRef="c-285" decimals="-5" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCost" format="ixt:num-dot-decimal" scale="6" id="f-1220">5.6</ix:nonFraction>&#160;million associated with the modification of these awards, which is included in the total stock-based compensation expense. For the year ended December&#160;31, 2023, the Company did <ix:nonFraction unitRef="usd" contextRef="c-284" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCost" format="ixt:fixed-zero" scale="0" id="f-1221">no</ix:nonFraction>t recognize any stock-based compensation expense associated with the modification of these awards. </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Performance-Based Restricted Stock Units ("PSUs") </span></div><div style="margin-bottom:12pt;padding-left:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Performance stock awards for executive officers ("executive PSUs&#8221;)</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">In February 2021, pursuant to the Company&#8217;s 2019 Equity Incentive Plan, the Company granted shares of executive PSUs to certain employees of the Company, which are to vest based on the level of achievement of certain Company and individual targets related to the Company&#8217;s operating plan for the fiscal year 2021 (&#8220;2021 Operating Plan&#8221;). In February 2022, </span></div></ix:continuation><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">124</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><ix:continuation id="f-1117-4" continuedAt="f-1117-5"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">the Company concluded that the minimum target performance to be eligible for vesting under the 2021 Operating Plan was not attained, and as such, none of the 2021 executive PSUs were eligible to vest and the awards were cancelled.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">In February 2022, pursuant to the Company&#8217;s 2019 Equity Incentive Plan, the Company granted certain employees shares of executive PSUs, which are to vest based on the level of achievement of certain Company-wide targets related to the Company&#8217;s operating plan for the fiscal year 2022. The Company has accounted for these awards as equity-based awards and will recognize stock-based compensation expense over the employees&#8217; requisite service period based on the expected attainment of the Company-wide targets as of the end of each reporting period.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">On March 29, 2023, May 4, 2023, and May 30, 2023, pursuant to the Company&#8217;s 2019 Equity Incentive Plan, the Company granted certain employees shares of executive PSUs, which are to vest based on the level of achievement of certain Company-wide targets related to the Company&#8217;s operating plan for the fiscal year 2023. The Company has accounted for these awards as equity-based awards and will recognize stock-based compensation expense over the employees&#8217; requisite service period based on the expected attainment of the Company-wide targets as of the end of each reporting period.</span></div><ix:continuation id="f-1190-1" continuedAt="f-1190-2"><div style="margin-bottom:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:57.233%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.297%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:21.710%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number of Shares</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted-Average&#160;Grant Date Fair Value Per Share</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in&#160;thousands)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested executive PSUs as of December 31, 2022</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-289" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="3" id="f-1222">267</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-289" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="f-1223">28.16</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-290" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="3" id="f-1224">762</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-290" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-1225">15.88</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="c-290" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" scale="3" id="f-1226">84</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-290" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-1227">28.16</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cancelled/forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="c-290" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" scale="3" id="f-1228">213</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-290" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" scale="0" id="f-1229">24.35</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested executive PSUs as of December 31, 2023</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-291" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="3" id="f-1230">732</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-291" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="f-1231">16.49</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:continuation><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">For the years ended December&#160;31, 2023, 2022 and 2021, the Company recognized $<ix:nonFraction unitRef="usd" contextRef="c-290" decimals="-5" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="6" id="f-1232">4.3</ix:nonFraction>&#160;million, $<ix:nonFraction unitRef="usd" contextRef="c-292" decimals="-5" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="6" id="f-1233">1.4</ix:nonFraction>&#160;million, and $<ix:nonFraction unitRef="usd" contextRef="c-293" decimals="-5" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="6" id="f-1234">3.4</ix:nonFraction>&#160;million of stock-based compensation expense associated with these awards, respectively. </span></div><div style="margin-bottom:12pt;padding-left:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Company-wide Bonus Program (&#8220;Bonus Program&#8221;)</span></div><div style="margin-bottom:9pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">On February 11, 2022, the Compensation Committee approved a company-wide bonus program, including performance targets, to most of the Company&#8217;s employees on active payroll in fiscal year 2022. Shares awarded under the program were paid out in February 2023 in fully vested RSUs and based on the final attainment of Company-wide performance targets which were tied to its operating plan for fiscal year 2022. The Company recognized stock-based compensation expense over the employees requisite service period, based on the final attainment of the Company-wide targets. In February 2023, the Company paid out the bonus liability associated with the 2022 Bonus Program in <ix:nonFraction unitRef="shares" contextRef="c-294" decimals="-5" name="fsly:StockIssuedDuringPeriodSharesRestrictedStockAwardBonusProgram" format="ixt:num-dot-decimal" scale="6" id="f-1235">1.2</ix:nonFraction>&#160;million of restricted stock units, and correspondingly recorded a charge to additional paid-in-capital of $<ix:nonFraction unitRef="usd" contextRef="c-294" decimals="-5" name="fsly:StockIssuedDuringPeriodValueRestrictedStockAwardBonusProgram" format="ixt:num-dot-decimal" scale="6" id="f-1236">16.6</ix:nonFraction>&#160;million.</span></div><div style="margin-bottom:9pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">On March 29, 2023, the Compensation Committee approved a company-wide bonus program, including performance targets, to most of the Company&#8217;s employees on active payroll in fiscal year 2023. Shares awarded under the program will be in fully vested RSUs and will be based on the final attainment of Company-wide performance targets which are tied to its operating plan for fiscal year 2023. The payout of the 2023 Company-wide bonus program will vary linearly between <ix:nonFraction unitRef="number" contextRef="c-295" decimals="INF" name="fsly:PayoutOfPerformanceBasedRestrictedStockUnitsPercentage" scale="-2" id="f-1237">50</ix:nonFraction>%, <ix:nonFraction unitRef="number" contextRef="c-296" decimals="INF" name="fsly:PayoutOfPerformanceBasedRestrictedStockUnitsPercentage" scale="-2" id="f-1238">100</ix:nonFraction>% and <ix:nonFraction unitRef="number" contextRef="c-297" decimals="INF" name="fsly:PayoutOfPerformanceBasedRestrictedStockUnitsPercentage" scale="-2" id="f-1239">150</ix:nonFraction>% based on the achievement of these targets. Employees are required to be employed through the payout date to earn the awards. The Company has accounted for these awards as liability-based awards, since the monetary value of the obligation associated with the award is based predominantly on a fixed monetary amount known at inception, and it has an unconditional obligation that it must or may settle by issuing a variable number of its equity shares. The Company is recognizing the stock-based compensation expense over the employees requisite service period, based on the expected attainment of the Company-wide targets as of the end of each reporting period. </span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">During the years ended December&#160;31, 2023, and 2022, the Company recognized $<ix:nonFraction unitRef="usd" contextRef="c-298" decimals="-5" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="6" id="f-1240">24.7</ix:nonFraction>&#160;million and $<ix:nonFraction unitRef="usd" contextRef="c-299" decimals="-5" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="6" id="f-1241">14.9</ix:nonFraction>&#160;million of stock-based compensation expense associated with the Bonus Programs, respectively. The Company did <ix:nonFraction unitRef="usd" contextRef="c-300" decimals="INF" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:fixed-zero" scale="0" id="f-1242">no</ix:nonFraction>t recognize any stock-based compensation expense associated with the Bonus Program for the year ended December&#160;31, 2021.</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Market-Based Performance Stock Awards (&#8220;MPSUs&#8221;)</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In September 2022 and January 2023, pursuant to the Company&#8217;s 2019 Equity Incentive Plan, the Company granted certain employees shares of MPSUs, which are to vest upon the satisfaction of the Company&#8217;s achievement of specified Fastly </span></div></ix:continuation><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">125</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><ix:continuation id="f-1117-5" continuedAt="f-1117-6"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Class A common stock price targets during the applicable performance period. In addition, the awards are subject to each recipient&#8217;s continuous service through each applicable vest dates. </span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company measured the fair value of the MPSUs using a Monte Carlo simulation valuation model. The risk-free interest rates used were <ix:nonFraction unitRef="number" contextRef="c-301" decimals="4" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" scale="-2" id="f-1243">3.37</ix:nonFraction>% - <ix:nonFraction unitRef="number" contextRef="c-301" decimals="4" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" scale="-2" id="f-1244">3.68</ix:nonFraction>%, which were based on five-year US treasury yield, adjusted to a continuous time basis. The expected volatility was a blended volatility rate of <ix:nonFraction unitRef="number" contextRef="c-301" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" scale="-2" id="f-1245">80</ix:nonFraction>%, which incorporated both the Company&#8217;s observed equity volatility and the relevant guideline company volatility.</span></div><ix:continuation id="f-1190-2"><div style="margin-bottom:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:57.964%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.636%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.640%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number of Shares</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted-Average&#160;Grant Date Fair Value Per Share</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in&#160;thousands)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested MPSUs as of December 31, 2022</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-302" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:num-dot-decimal" scale="3" id="f-1246">2,174</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-302" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="f-1247">6.80</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-301" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="3" id="f-1248">87</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-301" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-1249">7.25</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="c-301" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" scale="3" id="f-1250">540</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-301" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-1251">7.84</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cancelled/forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="c-301" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" scale="3" id="f-1252">250</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-301" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" scale="0" id="f-1253">6.69</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested MPSUs as of December 31, 2023</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-303" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:num-dot-decimal" scale="3" id="f-1254">1,471</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-303" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="f-1255">6.46</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:continuation><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation expense relating to the MPSUs are recognized using the accelerated attribution method over the derived service period. For the year ended December&#160;31, 2023, the Company recognized $<ix:nonFraction unitRef="usd" contextRef="c-301" decimals="-5" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="6" id="f-1256">5.9</ix:nonFraction>&#160;million of stock-based compensation expense associated with these awards. </span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total unrecognized stock-based compensation expense related to the unvested portion of the MPSUs was $<ix:nonFraction unitRef="usd" contextRef="c-303" decimals="-5" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" format="ixt:num-dot-decimal" scale="6" id="f-1257">4.7</ix:nonFraction>&#160;million as of December&#160;31, 2023. This expense is expected to be amortized over a weighted-average vesting period of <ix:nonNumeric contextRef="c-301" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" format="ixt-sec:duryear" id="f-1258">3.9</ix:nonNumeric> years. </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Employee Stock Purchase Program (&#8220;ESPP&#8221;)</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The ESPP allows eligible employees to purchase shares of the Company&#8217;s Class A common stock through payroll deductions of up to <ix:nonFraction unitRef="number" contextRef="c-304" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate" scale="-2" id="f-1259">15</ix:nonFraction>% of their eligible compensation. The ESPP provides for <ix:nonNumeric contextRef="c-305" name="fsly:SharebasedCompensationArrangementbySharebasedPaymentAwardStockPlanOfferingPeriod" format="ixt-sec:durwordsen" id="f-1260">six-month</ix:nonNumeric> offering periods, commencing in May and November of each year. At the end of each offering period employees are able to purchase shares at&#160;<ix:nonFraction unitRef="number" contextRef="c-305" decimals="2" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" scale="-2" id="f-1261">85</ix:nonFraction>%&#160;of the lower of the fair market value of the Company&#8217;s Class A common stock on the first trading day of the offering period or on the date of purchase. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company estimates the fair value of shares to be issued under the ESPP on the first day of the offering period using the Black-Scholes valuation model. The inputs to the Black-Scholes option pricing model are the Company&#8217;s stock price on the first date of the offering period, the risk-free interest rate, the estimated volatility of the Company&#8217;s stock price over the term of the offering period, the expected term of the offering period and the expected dividend rate. Stock-based compensation expense related to the ESPP is recognized on a straight-line basis over the offering period. Forfeitures are recognized as they occur.</span></div><ix:continuation id="f-1167-2"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company estimated the fair value of shares granted under the ESPP on the first date of the offering period using the Black-Scholes option pricing model with the following assumptions:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:49.923%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.547%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fair value of common stock</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usdPerShare" contextRef="c-306" decimals="2" name="us-gaap:SharePrice" scale="0" id="f-1262">3.33</ix:nonFraction> &#8211; $<ix:nonFraction unitRef="usdPerShare" contextRef="c-307" decimals="2" name="us-gaap:SharePrice" scale="0" id="f-1263">6.09</ix:nonFraction></span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usdPerShare" contextRef="c-308" decimals="2" name="us-gaap:SharePrice" scale="0" id="f-1264">8.40</ix:nonFraction> &#8211; $<ix:nonFraction unitRef="usdPerShare" contextRef="c-309" decimals="2" name="us-gaap:SharePrice" scale="0" id="f-1265">11.85</ix:nonFraction></span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usdPerShare" contextRef="c-310" decimals="2" name="us-gaap:SharePrice" scale="0" id="f-1266">41.24</ix:nonFraction> &#8211; $<ix:nonFraction unitRef="usdPerShare" contextRef="c-311" decimals="2" name="us-gaap:SharePrice" scale="0" id="f-1267">44.87</ix:nonFraction></span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected term (in years)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-312" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear" id="f-1268">0.49</ix:nonNumeric> &#8211; <ix:nonNumeric contextRef="c-313" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear" id="f-1269">0.50</ix:nonNumeric></span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-314" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear" id="f-1270">0.49</ix:nonNumeric></span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-315" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear" id="f-1271">0.49</ix:nonNumeric> &#8211; <ix:nonNumeric contextRef="c-316" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear" id="f-1272">0.50</ix:nonNumeric></span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Risk-free interest rate</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-305" decimals="4" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" scale="-2" id="f-1273">4.65</ix:nonFraction>% &#8211; <ix:nonFraction unitRef="number" contextRef="c-305" decimals="4" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" scale="-2" id="f-1274">5.43</ix:nonFraction>%</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-314" decimals="4" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" scale="-2" id="f-1275">1.57</ix:nonFraction>% &#8211; <ix:nonFraction unitRef="number" contextRef="c-314" decimals="4" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" scale="-2" id="f-1276">4.65</ix:nonFraction>%</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-317" decimals="4" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" scale="-2" id="f-1277">0.02</ix:nonFraction>% &#8211; <ix:nonFraction unitRef="number" contextRef="c-317" decimals="4" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" scale="-2" id="f-1278">0.07</ix:nonFraction>%</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected volatility</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-305" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" scale="-2" id="f-1279">70</ix:nonFraction>% &#8211; <ix:nonFraction unitRef="number" contextRef="c-305" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" scale="-2" id="f-1280">88</ix:nonFraction>%</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-314" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" scale="-2" id="f-1281">88</ix:nonFraction>% &#8211; <ix:nonFraction unitRef="number" contextRef="c-314" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" scale="-2" id="f-1282">101</ix:nonFraction>%</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-317" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" scale="-2" id="f-1283">47</ix:nonFraction>% &#8211; <ix:nonFraction unitRef="number" contextRef="c-317" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" scale="-2" id="f-1284">58</ix:nonFraction>%</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Dividend yield</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-305" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" format="ixt:fixed-zero" scale="-2" id="f-1285">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-314" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" format="ixt:fixed-zero" scale="-2" id="f-1286">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-317" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" format="ixt:fixed-zero" scale="-2" id="f-1287">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div></ix:continuation><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the years ended December&#160;31, 2023, 2022 and 2021, the Company recognized $<ix:nonFraction unitRef="usd" contextRef="c-305" decimals="-5" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="6" id="f-1288">4.1</ix:nonFraction>&#160;million, $<ix:nonFraction unitRef="usd" contextRef="c-314" decimals="-5" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="6" id="f-1289">3.2</ix:nonFraction>&#160;million, and $<ix:nonFraction unitRef="usd" contextRef="c-317" decimals="-5" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="6" id="f-1290">3.5</ix:nonFraction>&#160;million in stock-based compensation expense related to the ESPP, respectively. As of December&#160;31, 2023, total unrecognized stock-based compensation cost related to ESPP was $<ix:nonFraction unitRef="usd" contextRef="c-304" decimals="-5" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" format="ixt:num-dot-decimal" scale="6" id="f-1291">1.9</ix:nonFraction>&#160;million. This unrecognized stock-based compensation cost is expected to be recognized over a weighted-average period of approximately <ix:nonNumeric contextRef="c-305" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" format="ixt-sec:duryear" id="f-1292">0.4</ix:nonNumeric> years. </span></div></ix:continuation><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">126</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><ix:continuation id="f-1117-6"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the years ended December&#160;31, 2023, 2022 and 2021, an aggregate of <ix:nonFraction unitRef="shares" contextRef="c-38" decimals="-5" name="us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" format="ixt:num-dot-decimal" scale="6" id="f-1293">1.0</ix:nonFraction> million and <ix:nonFraction unitRef="shares" contextRef="c-27" decimals="-5" name="us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" format="ixt:num-dot-decimal" scale="6" id="f-1294">0.5</ix:nonFraction> million and <ix:nonFraction unitRef="shares" contextRef="c-14" decimals="-5" name="us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" format="ixt:num-dot-decimal" scale="6" id="f-1295">0.2</ix:nonFraction> million shares of the Company&#8217;s Class A common stock was purchased under the ESPP, respectively.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Equity Awards Modification </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">In September 2023, as part of one employee's separation and transition plan, the Company modified this employee&#8217;s outstanding equity awards in an amount that would have vested if this individual had remained an employee for an additional period of time. As a result of the modification, the Company recognized stock-based compensation expense of $<ix:nonFraction unitRef="usd" contextRef="c-318" decimals="-5" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost" format="ixt:num-dot-decimal" scale="6" id="f-1296">2.0</ix:nonFraction>&#160;million for the year ended December&#160;31, 2023. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">In September 2022, as part of one employee's separation and transition plan, the Company modified this employee&#8217;s outstanding equity awards in an amount that would have vested if this individual had remained an employee for an additional period of time. As a result of the modification, the Company recognized stock-based compensation expense of $<ix:nonFraction unitRef="usd" contextRef="c-319" decimals="-5" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost" format="ixt:num-dot-decimal" scale="6" id="f-1297">3.1</ix:nonFraction>&#160;million for the year ended December&#160;31, 2022. </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock-based Compensation Expense</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" id="f-1298" escape="true"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the components of total stock-based compensation expense included in the accompanying consolidated statements of operations:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.619%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.601%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-320" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-1299">11,656</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-321" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-1300">12,050</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-322" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-1301">7,227</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-323" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-1302">47,827</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-324" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-1303">58,435</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-325" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-1304">47,019</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sales and marketing</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-326" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-1305">33,703</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-327" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-1306">39,083</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-328" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-1307">31,159</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">General and administrative</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-329" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-1308">43,117</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-330" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-1309">36,228</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-331" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-1310">55,083</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-1311">136,303</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-1312">145,796</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-1313">140,488</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="margin-bottom:12pt;margin-top:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the years ended December&#160;31, 2023, 2022 and 2021, the Company capitalized $<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-5" name="us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount" format="ixt:num-dot-decimal" scale="6" id="f-1314">10.1</ix:nonFraction>&#160;million, $<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-5" name="us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount" format="ixt:num-dot-decimal" scale="6" id="f-1315">8.0</ix:nonFraction>&#160;million, and $<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-5" name="us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount" format="ixt:num-dot-decimal" scale="6" id="f-1316">4.4</ix:nonFraction>&#160;million of stock-based compensation expense, respectively. </span></div><div style="margin-bottom:12pt;margin-top:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the year ended December&#160;31, 2023, the Company recognized $<ix:nonFraction unitRef="usd" contextRef="c-332" decimals="-5" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="6" id="f-1317">24.7</ix:nonFraction>&#160;million of stock-based compensation expense associated with liability classified awards related to the company-wide Bonus Program. For the year ended December&#160;31, 2022, the Company recognized $<ix:nonFraction unitRef="usd" contextRef="c-333" decimals="-5" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="6" id="f-1318">25.5</ix:nonFraction>&#160;million of stock-based compensation expense associated with liability classified awards related to the company-wide Bonus Program and certain of the Company&#8217;s Revest Shares that were modified. The Company did <ix:nonFraction unitRef="usd" contextRef="c-334" decimals="INF" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:fixed-zero" scale="0" id="f-1319">not</ix:nonFraction> recognize any stock-based compensation expense associated with liability classified awards for the year ended December&#160;31, 2021.</span></div></ix:continuation><div id="ifeb57f42291446d88b3e56f9c1e58c38_139"></div><div style="margin-bottom:12pt;margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">12. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:EarningsPerShareTextBlock" id="f-1320" continuedAt="f-1320-1" escape="true">Net Loss Per Share Attributable to Common Stockholders</ix:nonNumeric></span></div><ix:continuation id="f-1320-1" continuedAt="f-1320-2"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic net loss per share is computed by dividing net loss by basic weighted-average shares outstanding during the period. Diluted net loss per share is computed by dividing net loss by diluted weighted-average shares outstanding, including potentially dilutive securities. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On July 12, 2021, the shares of Class B common stock that converted to Class A common stock were retired and will not be reissued by the Company. Prior to that date, the Company computed net loss per share using the two-class method required for multiple classes of common stock and participating securities. The rights of the holders of the Class A common stock and Class B common stock are identical, except with respect to voting and conversion. Accordingly, the Class A common stock and Class B common stock share equally in the Company&#8217;s net losses.</span></div></ix:continuation><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">127</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><ix:continuation id="f-1320-2" continuedAt="f-1320-3"><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="f-1321" continuedAt="f-1321-1" escape="true"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the computation of basic and diluted net loss per share of common stock (in millions, except per share data):</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.514%"><tr><td style="width:1.0%"/><td style="width:32.333%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.549%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.244%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.549%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.244%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.549%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.244%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.549%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.244%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.549%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.244%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.549%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.253%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="33" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Class A</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Class B</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline">(2)</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Class A </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Class B</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline">(2)</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Class A </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Class B</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline">(2)</span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="33" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in&#160;thousands, except per share amounts)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss attributable to common stockholders</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-335" decimals="-3" sign="-" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" format="ixt:num-dot-decimal" scale="3" id="f-1322"><ix:nonFraction unitRef="usd" contextRef="c-335" decimals="-3" sign="-" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted" format="ixt:num-dot-decimal" scale="3" id="f-1323">133,088</ix:nonFraction></ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-336" decimals="-3" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted" format="ixt:fixed-zero" scale="3" id="f-1324"><ix:nonFraction unitRef="usd" contextRef="c-336" decimals="-3" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" format="ixt:fixed-zero" scale="3" id="f-1325">&#8212;</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-337" decimals="-3" sign="-" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted" format="ixt:num-dot-decimal" scale="3" id="f-1326"><ix:nonFraction unitRef="usd" contextRef="c-337" decimals="-3" sign="-" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" format="ixt:num-dot-decimal" scale="3" id="f-1327">190,774</ix:nonFraction></ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-338" decimals="-3" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" format="ixt:fixed-zero" scale="3" id="f-1328"><ix:nonFraction unitRef="usd" contextRef="c-338" decimals="-3" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted" format="ixt:fixed-zero" scale="3" id="f-1329">&#8212;</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-339" decimals="-3" sign="-" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted" format="ixt:num-dot-decimal" scale="3" id="f-1330"><ix:nonFraction unitRef="usd" contextRef="c-339" decimals="-3" sign="-" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" format="ixt:num-dot-decimal" scale="3" id="f-1331">212,120</ix:nonFraction></ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-340" decimals="-3" sign="-" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted" format="ixt:num-dot-decimal" scale="3" id="f-1332"><ix:nonFraction unitRef="usd" contextRef="c-340" decimals="-3" sign="-" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" format="ixt:num-dot-decimal" scale="3" id="f-1333">10,577</ix:nonFraction></ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average shares used in computing net loss per share attributable to common stockholders, basic and diluted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-335" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-1334"><ix:nonFraction unitRef="shares" contextRef="c-335" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-1335">128,770</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-336" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:fixed-zero" scale="3" id="f-1336"><ix:nonFraction unitRef="shares" contextRef="c-336" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:fixed-zero" scale="3" id="f-1337">&#8212;</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-337" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-1338"><ix:nonFraction unitRef="shares" contextRef="c-337" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-1339">121,723</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-338" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:fixed-zero" scale="3" id="f-1340"><ix:nonFraction unitRef="shares" contextRef="c-338" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:fixed-zero" scale="3" id="f-1341">&#8212;</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-339" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-1342"><ix:nonFraction unitRef="shares" contextRef="c-339" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-1343">110,541</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-340" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-1344"><ix:nonFraction unitRef="shares" contextRef="c-340" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-1345">5,512</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss per share attributable to common stockholders, basic and diluted</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usdPerShare" contextRef="c-335" decimals="2" sign="-" name="us-gaap:EarningsPerShareBasic" scale="0" id="f-1346"><ix:nonFraction unitRef="usdPerShare" contextRef="c-335" decimals="2" sign="-" name="us-gaap:EarningsPerShareDiluted" scale="0" id="f-1347">1.03</ix:nonFraction></ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-336" decimals="2" name="us-gaap:EarningsPerShareBasic" format="ixt:fixed-zero" scale="0" id="f-1348"><ix:nonFraction unitRef="usdPerShare" contextRef="c-336" decimals="2" name="us-gaap:EarningsPerShareDiluted" format="ixt:fixed-zero" scale="0" id="f-1349">&#8212;</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usdPerShare" contextRef="c-337" decimals="2" sign="-" name="us-gaap:EarningsPerShareBasic" scale="0" id="f-1350"><ix:nonFraction unitRef="usdPerShare" contextRef="c-337" decimals="2" sign="-" name="us-gaap:EarningsPerShareDiluted" scale="0" id="f-1351">1.57</ix:nonFraction></ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-338" decimals="2" name="us-gaap:EarningsPerShareDiluted" format="ixt:fixed-zero" scale="0" id="f-1352"><ix:nonFraction unitRef="usdPerShare" contextRef="c-338" decimals="2" name="us-gaap:EarningsPerShareBasic" format="ixt:fixed-zero" scale="0" id="f-1353">&#8212;</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usdPerShare" contextRef="c-339" decimals="2" sign="-" name="us-gaap:EarningsPerShareDiluted" scale="0" id="f-1354"><ix:nonFraction unitRef="usdPerShare" contextRef="c-339" decimals="2" sign="-" name="us-gaap:EarningsPerShareBasic" scale="0" id="f-1355">1.92</ix:nonFraction></ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usdPerShare" contextRef="c-340" decimals="2" sign="-" name="us-gaap:EarningsPerShareBasic" scale="0" id="f-1356"><ix:nonFraction unitRef="usdPerShare" contextRef="c-340" decimals="2" sign="-" name="us-gaap:EarningsPerShareDiluted" scale="0" id="f-1357">1.92</ix:nonFraction></ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">__________</span></div><div style="padding-left:18pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt">Class A common stock includes the issuance of <ix:nonFraction unitRef="shares" contextRef="c-341" decimals="-5" name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" format="ixt:num-dot-decimal" scale="6" id="f-1358">12.9</ix:nonFraction>&#160;million shares of Class A common stock issued by the Company in connection with the IPO and the shares issued in connection with the follow-on offering on May 26, 2020. It also includes shares issued upon the exercise of options and vesting of RSUs granted subsequent to the IPO, shares issued as part of the prior acquisitions, and converted Common B shares. </span></div></ix:nonNumeric><div style="margin-bottom:12pt;padding-left:18pt;text-indent:-18pt"><ix:continuation id="f-1321-1" continuedAt="f-1321-2"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)</span></ix:continuation><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt"><ix:continuation id="f-1321-2">Class B common stock includes, for all periods presented, common stock issued prior to the IPO and the conversion of all of the Company&#8217;s preferred stock into an aggregate of <ix:nonFraction unitRef="shares" contextRef="c-342" decimals="-5" name="us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" format="ixt:num-dot-decimal" scale="6" id="f-1359">53.6</ix:nonFraction>&#160;million shares of the Company&#8217;s Class B common stock upon closing of the IPO. Some of these shares were previously converted into shares of Class A common stock. On July 12, 2021, all shares of Class B common stock were converted into shares of Class A common stock.</ix:continuation> </span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" id="f-1360" continuedAt="f-1360-1" escape="true"><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following securities were excluded from the computation of diluted net loss per share of common stock for the periods presented as their effect would have been antidilutive:</span></div></ix:nonNumeric></ix:continuation><div style="margin-bottom:12pt;margin-top:5pt"><ix:continuation id="f-1360-1"><ix:continuation id="f-1320-3"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:47.021%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.522%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.518%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.378%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.518%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.522%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.521%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number of Shares</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock options</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-343" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:num-dot-decimal" scale="3" id="f-1361">2,710</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-344" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:num-dot-decimal" scale="3" id="f-1362">2,443</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-345" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:num-dot-decimal" scale="3" id="f-1363">4,369</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">RSUs</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-346" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:num-dot-decimal" scale="3" id="f-1364">11,244</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-347" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:num-dot-decimal" scale="3" id="f-1365">11,990</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-348" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:num-dot-decimal" scale="3" id="f-1366">5,285</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revest shares</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-349" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:fixed-zero" scale="3" id="f-1367">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-350" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:fixed-zero" scale="3" id="f-1368">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-351" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" id="f-1369">336</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">PSUs</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-352" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" id="f-1370">732</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-353" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" id="f-1371">267</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-354" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" id="f-1372">71</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">MPSUs</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-355" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:num-dot-decimal" scale="3" id="f-1373">1,471</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-356" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:num-dot-decimal" scale="3" id="f-1374">2,174</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-357" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:fixed-zero" scale="3" id="f-1375">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Bonus PSUs</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-358" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:num-dot-decimal" scale="3" id="f-1376">1,572</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-359" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:num-dot-decimal" scale="3" id="f-1377">1,777</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-360" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:fixed-zero" scale="3" id="f-1378">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Shares issuable pursuant to the ESPP</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-361" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" id="f-1379">410</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-362" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" id="f-1380">186</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-363" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" id="f-1381">51</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Convertible senior notes (if-converted)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-364" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:num-dot-decimal" scale="3" id="f-1382">3,370</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-365" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:num-dot-decimal" scale="3" id="f-1383">7,338</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-366" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:num-dot-decimal" scale="3" id="f-1384">9,229</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-1" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:num-dot-decimal" scale="3" id="f-1385">21,509</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-6" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:num-dot-decimal" scale="3" id="f-1386">26,175</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-7" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:num-dot-decimal" scale="3" id="f-1387">19,341</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></ix:continuation></ix:continuation><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">128</span></div></div></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_142"></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">13. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:IncomeTaxDisclosureTextBlock" id="f-1388" continuedAt="f-1388-1" escape="true">Income Taxes</ix:nonNumeric></span></div><ix:continuation id="f-1388-1" continuedAt="f-1388-2"><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" id="f-1389" escape="true"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Loss before income ta</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">xes includes the following components:</span></div><div style="margin-bottom:12pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"><tr><td style="width:1.0%"/><td style="width:58.399%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.712%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.712%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.569%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">United States</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" format="ixt:num-dot-decimal" scale="3" id="f-1390">137,240</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" format="ixt:num-dot-decimal" scale="3" id="f-1391">196,469</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" format="ixt:num-dot-decimal" scale="3" id="f-1392">224,159</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" format="ixt:num-dot-decimal" scale="3" id="f-1393">3,931</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" format="ixt:num-dot-decimal" scale="3" id="f-1394">5,789</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" format="ixt:num-dot-decimal" scale="3" id="f-1395">1,531</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Loss before income taxes</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-1396">133,309</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-1397">190,680</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-1398">222,628</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" id="f-1399" escape="true"><div style="margin-bottom:12pt;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The income tax expense (benefit) consists of the following:</span></div><div style="margin-bottom:12pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"/><td style="width:58.311%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.535%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.694%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.535%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.694%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.535%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.696%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current tax provision (benefit):</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Federal</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:CurrentFederalTaxExpenseBenefit" format="ixt:fixed-zero" scale="3" id="f-1400">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:CurrentFederalTaxExpenseBenefit" format="ixt:fixed-zero" scale="3" id="f-1401">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:CurrentFederalTaxExpenseBenefit" format="ixt:fixed-zero" scale="3" id="f-1402">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" scale="3" id="f-1403">57</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" sign="-" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" scale="3" id="f-1404">79</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" format="ixt:fixed-zero" scale="3" id="f-1405">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:CurrentForeignTaxExpenseBenefit" scale="3" id="f-1406">622</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:CurrentForeignTaxExpenseBenefit" scale="3" id="f-1407">173</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:CurrentForeignTaxExpenseBenefit" scale="3" id="f-1408">322</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax benefit:</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Federal</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" format="ixt:fixed-zero" scale="3" id="f-1409">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" format="ixt:fixed-zero" scale="3" id="f-1410">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" scale="3" id="f-1411">253</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" format="ixt:fixed-zero" scale="3" id="f-1412">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" format="ixt:fixed-zero" scale="3" id="f-1413">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" format="ixt:fixed-zero" scale="3" id="f-1414">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:DeferredForeignIncomeTaxExpenseBenefit" scale="3" id="f-1415">900</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:DeferredForeignIncomeTaxExpenseBenefit" format="ixt:fixed-zero" scale="3" id="f-1416">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:DeferredForeignIncomeTaxExpenseBenefit" format="ixt:fixed-zero" scale="3" id="f-1417">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total tax expense (benefit)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="f-1418">221</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="f-1419">94</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="f-1420">69</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" id="f-1421" escape="true"><div style="margin-bottom:12pt;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Reconciliation between </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">the Company&#8217;s</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> effective tax rate on income from continuing operations and the U.S. federal statutory rate is as follows:</span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:58.490%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.640%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provision at federal statutory tax rate</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-1" decimals="INF" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" id="f-1422">21</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-6" decimals="INF" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" id="f-1423">21</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-7" decimals="INF" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" id="f-1424">21</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Change in valuation allowance</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="number" contextRef="c-1" decimals="2" sign="-" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" scale="-2" id="f-1425">25</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="number" contextRef="c-6" decimals="2" sign="-" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" scale="-2" id="f-1426">14</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="number" contextRef="c-7" decimals="2" sign="-" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" scale="-2" id="f-1427">30</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign tax rate differential</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-1" decimals="2" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" scale="-2" id="f-1428">1</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-6" decimals="2" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" format="ixt:fixed-zero" scale="-2" id="f-1429">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-7" decimals="2" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" format="ixt:fixed-zero" scale="-2" id="f-1430">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="number" contextRef="c-1" decimals="2" sign="-" name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" scale="-2" id="f-1431">4</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="number" contextRef="c-6" decimals="2" sign="-" name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" scale="-2" id="f-1432">9</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-7" decimals="2" name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" scale="-2" id="f-1433">2</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development credits</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-1" decimals="2" name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment" scale="-2" id="f-1434">10</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-6" decimals="2" name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment" scale="-2" id="f-1435">2</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-7" decimals="2" name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment" scale="-2" id="f-1436">5</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Disallowed executive compensation</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="number" contextRef="c-1" decimals="2" sign="-" name="fsly:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDisallowedExecutiveCompensationPercent" scale="-2" id="f-1437">3</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-6" decimals="2" name="fsly:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDisallowedExecutiveCompensationPercent" format="ixt:fixed-zero" scale="-2" id="f-1438">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-7" decimals="2" name="fsly:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDisallowedExecutiveCompensationPercent" format="ixt:fixed-zero" scale="-2" id="f-1439">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restructuring</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-1" decimals="2" name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseRestructuringCharges" format="ixt:fixed-zero" scale="-2" id="f-1440">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-6" decimals="2" name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseRestructuringCharges" format="ixt:fixed-zero" scale="-2" id="f-1441">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-7" decimals="2" name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseRestructuringCharges" scale="-2" id="f-1442">2</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Effective tax rate</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-1" decimals="2" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" format="ixt:fixed-zero" scale="-2" id="f-1443">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-6" decimals="2" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" format="ixt:fixed-zero" scale="-2" id="f-1444">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-7" decimals="2" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" format="ixt:fixed-zero" scale="-2" id="f-1445">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div></ix:nonNumeric></ix:continuation><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">129</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt;text-indent:27pt"><span><br/></span></div><ix:continuation id="f-1388-2" continuedAt="f-1388-3"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recorded tax benefit of $<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-5" sign="-" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="6" id="f-1446">0.2</ix:nonFraction>&#160;million for the year ended December&#160;31, 2023 and recorded tax expense of $<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-5" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="6" id="f-1447"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-5" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="6" id="f-1448">0.1</ix:nonFraction></ix:nonFraction>&#160;million for both the years ended December&#160;31, 2022 and 2021. The Company&#8217;s income tax expense (benefit) is primarily due to income taxes from certain foreign jurisdictions where the Company conducts business and state minimum income taxes in the United States. </span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" id="f-1449" escape="true"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> deferred tax assets and liabilities were as follows:</span></div><div style="margin-bottom:12pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.099%"><tr><td style="width:1.0%"/><td style="width:58.661%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.545%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.125%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.843%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.126%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax assets:</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net operating losses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="3" id="f-1450">178,149</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="3" id="f-1451">183,306</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease liability</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="fsly:DeferredTaxAssetLeaseLiability" format="ixt:num-dot-decimal" scale="3" id="f-1452">20,137</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="fsly:DeferredTaxAssetLeaseLiability" format="ixt:num-dot-decimal" scale="3" id="f-1453">23,245</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development credits</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment" format="ixt:num-dot-decimal" scale="3" id="f-1454">38,280</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment" format="ixt:num-dot-decimal" scale="3" id="f-1455">21,383</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Capitalized research and development </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="fsly:DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts" format="ixt:num-dot-decimal" scale="3" id="f-1456">45,418</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="fsly:DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts" format="ixt:num-dot-decimal" scale="3" id="f-1457">21,032</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" format="ixt:num-dot-decimal" scale="3" id="f-1458">11,765</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" format="ixt:num-dot-decimal" scale="3" id="f-1459">10,429</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DeferredTaxAssetsDeferredIncome" format="ixt:num-dot-decimal" scale="3" id="f-1460">4,934</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DeferredTaxAssetsDeferredIncome" format="ixt:num-dot-decimal" scale="3" id="f-1461">2,811</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Reserves and accruals</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" format="ixt:num-dot-decimal" scale="3" id="f-1462">4,336</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" format="ixt:num-dot-decimal" scale="3" id="f-1463">4,648</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DeferredTaxAssetsOther" format="ixt:num-dot-decimal" scale="3" id="f-1464">1,889</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DeferredTaxAssetsOther" format="ixt:num-dot-decimal" scale="3" id="f-1465">4,179</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DeferredTaxAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-1466">304,908</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DeferredTaxAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-1467">271,033</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Intangible asset amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssets" format="ixt:num-dot-decimal" scale="3" id="f-1468">16,310</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssets" format="ixt:num-dot-decimal" scale="3" id="f-1469">21,713</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Right-of-use asset</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DeferredTaxLiabilitiesLeasingArrangements" format="ixt:num-dot-decimal" scale="3" id="f-1470">15,322</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DeferredTaxLiabilitiesLeasingArrangements" format="ixt:num-dot-decimal" scale="3" id="f-1471">18,847</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State taxes</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="fsly:DeferredTaxLiabilitiesStateTaxes" format="ixt:num-dot-decimal" scale="3" id="f-1472">13,032</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="fsly:DeferredTaxLiabilitiesStateTaxes" format="ixt:num-dot-decimal" scale="3" id="f-1473">10,732</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid commissions</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DeferredTaxLiabilitiesPrepaidExpenses" format="ixt:num-dot-decimal" scale="3" id="f-1474">13,868</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DeferredTaxLiabilitiesPrepaidExpenses" format="ixt:num-dot-decimal" scale="3" id="f-1475">11,526</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DeferredIncomeTaxLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-1476">58,532</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DeferredIncomeTaxLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-1477">62,818</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Valuation allowance</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DeferredTaxAssetsValuationAllowance" format="ixt:num-dot-decimal" scale="3" id="f-1478">245,476</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DeferredTaxAssetsValuationAllowance" format="ixt:num-dot-decimal" scale="3" id="f-1479">208,215</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net deferred tax (liabilities) assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" scale="3" id="f-1480">900</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DeferredTaxLiabilities" format="ixt:fixed-zero" scale="3" id="f-1481">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="margin-bottom:12pt;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">As of December&#160;31, 2023 and </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">2022</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">, t</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">he Company</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"> had NOL carryforwards for U.S. federal income tax purposes of approximately </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">$<ix:nonFraction unitRef="usd" contextRef="c-367" decimals="-5" name="us-gaap:OperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="f-1482">626.4</ix:nonFraction> million</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"> and $<ix:nonFraction unitRef="usd" contextRef="c-368" decimals="-5" name="us-gaap:OperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="f-1483">658.8</ix:nonFraction> million, respectively; and for state income tax purposes of approximately</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"> $<ix:nonFraction unitRef="usd" contextRef="c-369" decimals="-5" name="us-gaap:OperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="f-1484">568.3</ix:nonFraction> million</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"> and $<ix:nonFraction unitRef="usd" contextRef="c-370" decimals="-5" name="us-gaap:OperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="f-1485">528.9</ix:nonFraction> million, respectively. The federal NOL carryforwards, if not utilized, will begin to expire in 2035. The state NOL carryforward, if not utilized, will begin to expire on various dates starting in 2024.</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:115%"> </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">The Company also has federal and California research and development credit carryforwards totaling $<ix:nonFraction unitRef="usd" contextRef="c-371" decimals="-5" name="us-gaap:TaxCreditCarryforwardAmount" format="ixt:num-dot-decimal" scale="6" id="f-1486">42.1</ix:nonFraction>&#160;million and $<ix:nonFraction unitRef="usd" contextRef="c-372" decimals="-5" name="us-gaap:TaxCreditCarryforwardAmount" format="ixt:num-dot-decimal" scale="6" id="f-1487">12.2</ix:nonFraction>&#160;million </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">as of </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">December&#160;31, 2023,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"> respectively. The federal research and development credit carryforwards will begin to expire in 2033, unless previously utilized. The California research credits do not expire.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">As of December&#160;31, 2023, the Company has NOL carryforwards for United Kingdom purposes of approximately </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">$<ix:nonFraction unitRef="usd" contextRef="c-373" decimals="-5" name="us-gaap:OperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="f-1488">27.9</ix:nonFraction> million. The UK </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">NOL carryforwards </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">do not expire.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Based on all available evidence on a jurisdictional basis </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">t</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">he Company believes that it is more likely than not that the Company&#8217;s U.S. deferred tax assets will not be utilized and have recorded a full valuation allowance against its U.S. net deferred tax assets. The Company assesses on a periodic basis the likelihood that it will be able to recover its deferred tax assets. The Company considers all available evidence, both positive and negative, including historical losses. The Company determined that it is more likely than not that the U.S. net deferred tax assets will not be fully realizable for the years ended December&#160;31, 2023 and 2022.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">T</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">he Company has a valuation allowance for U.S. deferred tax assets, including NOL carryforwards. The Company expects to maintain this valuation allowance for the foreseeable future. During the year ended December&#160;31, 2023, the valuation allowance related to the Company&#8217;s U.S. deferred tax assets increased by $<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-5" name="us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount" format="ixt:num-dot-decimal" scale="6" id="f-1489">37.3</ix:nonFraction>&#160;million. </span></div></ix:continuation><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">130</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div></div><ix:continuation id="f-1388-3"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Utilization of the net operating loss carryforwards may be subject to a substantial annual limitation due to the ownership change limitations under the Code and similar state provisions. Under Section 382 of the Code, a corporation that undergoes an &#8220;ownership change&#8221; may be subject to limitations on its ability to utilize its pre-change NOLs to offset future taxable income. A detailed analysis was performed through December 31, 2021 for the Company to determine whether an ownership change under Section 382 of the Code has occurred, and ownership changes were identified in 2013 and 2020. As a result of this analysis, the Company concluded that there is no longer any limitation on the utilization of such NOLs. A detailed analysis was performed for the period March 1, 2014 to October 1, 2020 for Signal Sciences to determine whether an ownership change under Section 382 of the Code has occurred and an ownership change was identified in 2020. As a result of this analysis, the Company concluded that there is no longer any limitation on its utilization of the NOLs of Signal Sciences.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">No provision for U.S. income and foreign withholding taxes has been made for these permanently reinvested foreign earnings because it is management&#8217;s intention to permanently reinvest such undistributed earnings outside the United States.</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" id="f-1490" escape="true"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">A reconciliation of the Company&#8217;s unrecognized tax benefits is as follows (in thousands):</span></div><div style="margin-bottom:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:65.712%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.005%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.253%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Balance at beginning of year</span></div></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:UnrecognizedTaxBenefits" format="ixt:num-dot-decimal" scale="3" id="f-1491">17,337</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"><ix:nonFraction unitRef="usd" contextRef="c-26" decimals="-3" name="us-gaap:UnrecognizedTaxBenefits" format="ixt:num-dot-decimal" scale="3" id="f-1492">7,808</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-indent:6.85pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Increases related to prior year tax positions</span></div></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" format="ixt:num-dot-decimal" scale="3" id="f-1493">2,674</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" format="ixt:num-dot-decimal" scale="3" id="f-1494">8,697</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-indent:6.85pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Decreases related to prior year tax positions</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" format="ixt:fixed-zero" scale="3" id="f-1495">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">(<ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" scale="3" id="f-1496">751</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-indent:6.85pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Increases related to current year tax positions</span></div></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" format="ixt:num-dot-decimal" scale="3" id="f-1497">3,234</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" format="ixt:num-dot-decimal" scale="3" id="f-1498">1,583</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Balance at end of year</span></div></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:UnrecognizedTaxBenefits" format="ixt:num-dot-decimal" scale="3" id="f-1499">23,245</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:UnrecognizedTaxBenefits" format="ixt:num-dot-decimal" scale="3" id="f-1500">17,337</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">The Company has considered the amounts and probabilities of the outcomes that can be realized upon ultimate settlement with the tax authorities and determined unrecognized tax benefits primarily related to credits should be established as noted in the summary rollforward above. The unrecognized tax benefits, if recognized and in absence of full valuation allowance, would impact the income tax provision by $<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-5" name="us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" format="ixt:num-dot-decimal" scale="6" id="f-1501">23.2</ix:nonFraction>&#160;million and $<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-5" name="us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" format="ixt:num-dot-decimal" scale="6" id="f-1502">17.3</ix:nonFraction>&#160;million at December&#160;31, 2023 and 2022, respectively. As of December&#160;31, 2023, the Company does not believe that it is reasonably possible that its unrecognized tax benefits would significantly change in the following 12 months.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:112%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">The Company&#8217;s policy is to recognize interest and penalties associated with uncertain tax benefits as part of the income tax provision and include accrued interest and penalties with the related income tax liability on its consolidated balance sheet. To date, </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">t</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">he Company has not recognized any interest and penalties in its consolidated statements of operations, nor has it accrued for or made payments for interest and penalties. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Generally, in the U.S. federal and state taxing jurisdictions, tax periods in which certain loss and credit carryovers are generated remain open for audit until such time as the limitation period ends for the year in which such losses or credits are utilized.</span></div></ix:continuation><div style="margin-bottom:12pt;text-indent:27pt"><span><br/></span></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_145"></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">14. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:SegmentReportingDisclosureTextBlock" id="f-1503" continuedAt="f-1503-1" escape="true">Information About Revenue and Geographic Areas</ix:nonNumeric></span><ix:continuation id="f-1503-1" continuedAt="f-1503-2"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></ix:continuation></div><ix:continuation id="f-1503-2" continuedAt="f-1503-3"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue by geography is based on the billing address of the customer. Refer to Note 3&#8212;Revenue for more information on net revenue by geographic area.</span></div></ix:continuation><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">131</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><ix:continuation id="f-1503-3"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Long-Lived Assets</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock" id="f-1504" escape="true"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s property and equipment and operating lease right-of-use assets, each net, by geographic area were as follows:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.099%"><tr><td style="width:1.0%"/><td style="width:64.920%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.545%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.144%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.545%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.146%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">United States</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-374" decimals="-3" name="fsly:PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-1505">166,413</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-375" decimals="-3" name="fsly:PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-1506">175,794</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">All other countries</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-376" decimals="-3" name="fsly:PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-1507">65,407</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-377" decimals="-3" name="fsly:PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-1508">73,024</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total long-lived assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="fsly:PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-1509">231,820</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="fsly:PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-1510">248,818</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric></ix:continuation><div id="ifeb57f42291446d88b3e56f9c1e58c38_1493"></div><div style="margin-bottom:12pt;margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">15. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:SubsequentEventsTextBlock" id="f-1511" continuedAt="f-1511-1" escape="true">Subsequent Event</ix:nonNumeric></span></div><ix:continuation id="f-1511-1"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 16, 2024, the Company entered into the Second Amendment to Credit Agreement with the Lenders and Silicon Valley Bank, a division of First-Citizens Bank &amp; Trust Company, as a lender and as administrative agent and collateral agent for the Lenders, which, among other things, extended the maturity date of the loans under the Credit Agreement to June 14, 2024.</span></div></ix:continuation><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">132</span></div></div></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_148"></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 9.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Changes in and Disagreements with Accountants on Accounting and Financial Disclosure</span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None. </span></div><div style="text-indent:27pt"><span><br/></span></div><div style="text-indent:27pt"><span><br/></span></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_151"></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 9A.&#160;&#160;&#160;&#160;&#160;Controls and Procedures </span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Evaluation of Disclosure Controls and Procedures</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our disclosure controls and procedures are designed to ensure that information we are required to disclose in reports that we file or submit under the Exchange Act is recorded, processed, summarized, and reported within the time periods specified in SEC rules and forms, and that such information is accumulated and communicated to our management, including our Chief Executive Officer and our Chief Financial Officer, as appropriate, to allow timely decisions regarding required disclosure.</span></div><div style="text-indent:27pt"><span><br/></span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our management, with the participation of our Chief Executive Officer and our Chief Financial Officer, evaluated the effectiveness of our disclosure controls and procedures (as defined in Rules&#160;13a-15(e)&#160;and 15d-15(e)&#160;under the Securities Exchange Act) as of December&#160;31, 2023. Based on such evaluation, our Chief Executive Officer and our Chief Financial Officer have concluded that as of December&#160;31, 2023, our disclosure controls and procedures were, in design and operation, effective at a reasonable assurance level.</span></div><div style="text-indent:27pt"><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Management&#8217;s Annual Report on Internal Control Over Financial Reporting</span></div><div><span><br/></span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our management is responsible for establishing and maintaining adequate internal control over financial reporting and for the assessment of the effectiveness of internal control over financial reporting as defined in Rule&#160;13a-15(f) and 15d-15(f) under the Exchange Act. Our management conducted an assessment of the effectiveness of our internal control over financial reporting as of December&#160;31, 2023 based on the criteria established in </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Internal Control &#8212; Integrated Framework</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (2013) issued by the Committee of Sponsoring Organizations of the Treadway Commission. Based on the results of its assessment, management concluded that our internal control over financial reporting was effective as of December&#160;31, 2023. The effectiveness of our internal control over financial reporting as of December&#160;31, 2023 has been audited by Deloitte &amp; Touche LLP, an independent registered public accounting firm, as stated in its report. </span></div><div style="text-indent:27pt"><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Changes in Internal Control over Financial Reporting</span></div><div><span><br/></span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There were no changes during the year ended December&#160;31, 2023 in our internal control over financial reporting that materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Inherent Limitations on Effectiveness of Controls</span></div><div><span><br/></span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">An effective internal control system, no matter how well designed, has inherent limitations, including the possibility of human error or overriding of controls, and therefore can provide only reasonable assurance with respect to reliable financial reporting. Because of its inherent limitations, our internal control over financial reporting may not prevent or detect all misstatements, including the possibility of human error, the circumvention or overriding of controls, or fraud. Effective internal controls can provide only reasonable assurance with respect to the preparation and fair presentation of financial statements.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span></div><div><span><br/></span></div><div><span><br/></span></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_154"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM </span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">To the stockholders and the Board of Directors of Fastly, Inc.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Opinion on Internal Control over Financial Reporting</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have audited the internal control over financial reporting of Fastly, Inc. and subsidiaries (the &#8220;Company&#8221;) as of December&#160;31, 2023, based on criteria established in Internal Control &#8212; Integrated Framework (2013) issued by the Committee of Sponsoring Organizations of the Treadway Commission (COSO). In our opinion, the Company maintained, in all material respects, effective internal control over financial reporting as of December&#160;31, 2023, based on criteria established in Internal Control &#8212; Integrated Framework (2013) issued by COSO.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">133</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div><span><br/></span></div></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have also audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States) (PCAOB), the consolidated financial statements as of and for the year ended December&#160;31, 2023, of the Company and our report dated February&#160;21, 2024, expressed an unqualified opinion on those financial statements.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Basis for Opinion </span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s management is responsible for maintaining effective internal control over financial reporting and for its assessment of the effectiveness of internal control over financial reporting, included in the accompanying Management&#8217;s Annual Report on Internal Control over Financial Reporting. Our responsibility is to express an opinion on the Company&#8217;s internal control over financial reporting based on our audit. We are a public accounting firm registered with the PCAOB and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We conducted our audit in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether effective internal control over financial reporting was maintained in all material respects. Our audit included obtaining an understanding of internal control over financial reporting, assessing the risk that a material weakness exists, testing and evaluating the design and operating effectiveness of internal control based on the assessed risk, and performing such other procedures as we considered necessary in the circumstances. We believe that our audit provides a reasonable basis for our opinion.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Definition and Limitations of Internal Control over Financial Reporting</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A company&#8217;s internal control over financial reporting is a process designed to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles. A company&#8217;s internal control over financial reporting includes those policies and procedures that (1) pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of the assets of the company; (2) provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with generally accepted accounting principles, and that receipts and expenditures of the company are being made only in accordance with authorizations of management and directors of the company; and (3) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use, or disposition of the company&#8217;s assets that could have a material effect on the financial statements.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.</span></div><div><span><br/></span></div><div style="margin-bottom:0.15pt;padding-left:4.5pt"><span><br/></span></div><div style="margin-bottom:0.15pt;padding-left:4.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">/s/ Deloitte &amp; Touche LLP</span></div><div style="padding-left:4.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">San Francisco, California</span></div><div style="padding-left:4.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">February&#160;21, 2024</span></div><div style="padding-left:4.5pt"><span><br/></span></div><div style="padding-left:4.5pt"><span><br/></span></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_157"></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 9B.&#160;&#160;&#160;&#160;&#160;Other Information</span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Trading Arrangements</span></div><div style="text-indent:27pt"><span><br/></span></div><ix:nonNumeric contextRef="c-1" name="ecd:MtrlTermsOfTrdArrTextBlock" id="f-1512" continuedAt="f-1512-1" escape="true"><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">During the Company&#8217;s last fiscal quarter, the Company&#8217;s directors and officers (as defined in Rule 16a-1(f) under the Exchange Act) <ix:nonNumeric contextRef="c-378" name="ecd:NonRule10b51ArrAdoptedFlag" format="ixt:fixed-false" id="f-1513">adopted</ix:nonNumeric> or <ix:nonNumeric contextRef="c-378" name="ecd:NonRule10b51ArrTrmntdFlag" format="ixt:fixed-false" id="f-1514">terminated</ix:nonNumeric> the contracts, instructions or written plans for the purchase or sale of the Company&#8217;s securities set forth in the table below.</span></div><div><span><br/></span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:20.683%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.888%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:6.794%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:6.794%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.888%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.473%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.085%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="6" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Type of Trading Arrangement</span></div></td><td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"/></tr></table></div></ix:nonNumeric><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">134</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div><span><br/></span></div></div><ix:continuation id="f-1512-1"><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:20.683%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.888%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:6.794%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:6.794%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.888%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.473%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.085%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Name and Position</span></div></td><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Action</span></div></td><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Adoption/ Termination</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Date</span></div></td><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Rule 10b5-1*</span></div></td><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Non-</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Rule 10b5-1**</span></div></td><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Total Shares of Class A Common Stock to be Sold</span></div></td><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Total Shares of Class A Common Stock to be Purchased</span></div></td><td colspan="3" style="border-left:1pt solid #000000;border-right:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Expiration Date</span></div></td></tr><tr><td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonNumeric contextRef="c-379" name="ecd:TrdArrIndName" id="f-1515">Ronald Kisling</ix:nonNumeric>, <ix:nonNumeric contextRef="c-379" name="ecd:TrdArrIndTitle" id="f-1516">Chief Financial Officer</ix:nonNumeric> (1)</span></div></td><td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonNumeric contextRef="c-379" name="ecd:Rule10b51ArrAdoptedFlag" format="ixt:fixed-true" id="f-1517">Adoption</ix:nonNumeric></span></div></td><td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonNumeric contextRef="c-379" name="ecd:TrdArrAdoptionDate" id="f-1518">11/20/2023</ix:nonNumeric></span></td><td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">X</span></div></td><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#8212;</span></div></td><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="shares" contextRef="c-380" decimals="INF" name="ecd:TrdArrSecuritiesAggAvailAmt" format="ixt:num-dot-decimal" id="f-1519">163,938</ix:nonFraction></span></td><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#8212;</span></div></td><td colspan="3" style="border-left:1pt solid #000000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">12/31/2024</span></td></tr><tr><td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonNumeric contextRef="c-381" name="ecd:TrdArrIndName" id="f-1520">Richard Daniels</ix:nonNumeric>, <ix:nonNumeric contextRef="c-381" name="ecd:TrdArrIndTitle" id="f-1521">Director</ix:nonNumeric> (2)</span></div></td><td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonNumeric contextRef="c-381" name="ecd:Rule10b51ArrAdoptedFlag" format="ixt:fixed-true" id="f-1522">Adoption</ix:nonNumeric></span></div></td><td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonNumeric contextRef="c-381" name="ecd:TrdArrAdoptionDate" id="f-1523">11/17/2023</ix:nonNumeric></span></td><td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">X</span></div></td><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#8212;</span></div></td><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="shares" contextRef="c-382" decimals="INF" name="ecd:TrdArrSecuritiesAggAvailAmt" format="ixt:num-dot-decimal" id="f-1524">7,766</ix:nonFraction></span></td><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#8212;</span></div></td><td colspan="3" style="border-left:1pt solid #000000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">03/29/2024</span></td></tr><tr><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonNumeric contextRef="c-383" name="ecd:TrdArrIndName" id="f-1525">Brett Shirk</ix:nonNumeric>, <ix:nonNumeric contextRef="c-383" name="ecd:TrdArrIndTitle" id="f-1526">former Chief Revenue Officer</ix:nonNumeric> (3)</span></div></td><td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonNumeric contextRef="c-383" name="ecd:Rule10b51ArrTrmntdFlag" format="ixt:fixed-true" id="f-1527">Termination</ix:nonNumeric></span></div></td><td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonNumeric contextRef="c-383" name="ecd:TrdArrTerminationDate" id="f-1528">12/20/2023</ix:nonNumeric></span></div></td><td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">X</span></div></td><td colspan="3" style="border-bottom:1pt solid #000;border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#8212;</span></div></td><td colspan="3" style="border-bottom:1pt solid #000;border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"><ix:nonFraction unitRef="shares" contextRef="c-384" decimals="INF" name="ecd:TrdArrSecuritiesAggAvailAmt" format="ixt:fixed-zero" id="f-1529">&#8212;</ix:nonFraction></span></div></td><td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#8212;</span></div></td><td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">12/31/2024</span></div></td></tr><tr><td colspan="24" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">* Contract, instruction or written plan intended to satisfy the affirmative defense conditions of Rule 10b5-1(c) under the Exchange Act.</span></div></td></tr><tr><td colspan="24" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">** &#8220;Non-Rule 10b5-1 trading arrangement&#8221; as defined in Item 408(c) of Regulation S-K under the Exchange Act.</span></div></td></tr></table></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">(1) <ix:nonNumeric contextRef="c-379" name="ecd:TrdArrIndName" id="f-1530">Ronald Kisling</ix:nonNumeric>, our <ix:nonNumeric contextRef="c-379" name="ecd:TrdArrIndTitle" id="f-1531">Chief Financial Officer</ix:nonNumeric>, <ix:nonNumeric contextRef="c-379" name="ecd:Rule10b51ArrAdoptedFlag" format="ixt:fixed-true" id="f-1532">adopted</ix:nonNumeric> a Rule 10b5-1 Plan on November 20, 2023. Mr. Kisling's plan provides for the potential sale of up to <ix:nonFraction unitRef="shares" contextRef="c-380" decimals="0" name="ecd:TrdArrSecuritiesAggAvailAmt" format="ixt:num-dot-decimal" scale="0" id="f-1533">163,938</ix:nonFraction> shares of the Company&#8217;s Class A Common Stock, plus any shares that are granted to him in 2024 relating to the 2023 company-wide Bonus Program; provided, however, because certain of Mr. Kisling&#8217;s planned sale amounts are equal to a designated percentage of the net number of shares resulting from RSUs vesting, of which a portion will be surrendered to the Company or sold to cover withholding taxes, depending on how many shares are withheld in these instances, the maximum number of shares to be sold may be less. The plan expires on December 31, 2024, or upon the earlier completion of all authorized transactions under the plan.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">(2) <ix:nonNumeric contextRef="c-381" name="ecd:TrdArrIndName" id="f-1534">Richard Daniels</ix:nonNumeric>, a member of our board of directors, <ix:nonNumeric contextRef="c-381" name="ecd:Rule10b51ArrAdoptedFlag" format="ixt:fixed-true" id="f-1535">adopted</ix:nonNumeric> a Rule 10b5-1 Plan on November 17, 2023. Mr. Daniels' plan provides for the potential sale of up to <ix:nonFraction unitRef="shares" contextRef="c-382" decimals="0" name="ecd:TrdArrSecuritiesAggAvailAmt" format="ixt:num-dot-decimal" scale="0" id="f-1536">7,766</ix:nonFraction> shares of the Company&#8217;s Class A Common Stock; provided, however, because certain of Mr. Daniels' planned sale amounts are equal to a designated percentage of the net number of shares resulting from RSUs vesting, of which a portion will be surrendered to the Company or sold to cover withholding taxes, depending on how many shares are withheld in these instances, the maximum number of shares to be sold may be less. The plan expires on March 29, 2024, or upon the earlier completion of all authorized transactions under the plan.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">(3) <ix:nonNumeric contextRef="c-383" name="ecd:TrdArrIndName" id="f-1537">Brett Shirk</ix:nonNumeric>, our <ix:nonNumeric contextRef="c-383" name="ecd:TrdArrIndTitle" id="f-1538">former Chief Revenue Officer</ix:nonNumeric>, on December 20th, 2023, <ix:nonNumeric contextRef="c-383" name="ecd:Rule10b51ArrTrmntdFlag" format="ixt:fixed-true" id="f-1539">terminated</ix:nonNumeric> a Rule 10b5-1 Plan entered into on August 21, 2023 in connection with his departure.</span></div></ix:continuation><div style="margin-bottom:12pt;text-indent:27pt"><span><br/></span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Second Amendment to Senior Secured Credit Facilities Agreement</span></div><div><span><br/></span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 16, 2024, we entered into the Second Amendment to Credit Agreement with the Lenders and Silicon Valley Bank, a division of First-Citizens Bank &amp; Trust Company, as a lender and as administrative agent and collateral agent for the Lenders, which, among other things, extended the maturity date of the loans under the Credit Agreement to June 14, 2024.</span></div><div style="text-indent:27pt"><span><br/></span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">The foregoing summary of the Second Amendment to Credit Agreement does not purport to be complete and is subject to and is qualified in its entirety by the terms of the Second Amendment to Credit Agreement, which is attached to this Annual Report on Form 10-K as Exhibit 10.22, and incorporated herein by reference.</span></div><div><span><br/></span></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_160"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Item 9C. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:112%">           </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Disclosure Regarding Foreign Jurisdictions that Prevent Inspections</span></div><div><span><br/></span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Not applicable.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">135</span></div></div></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_163"></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PART III</span></div><div><span><br/></span></div><div><span><br/></span></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_166"></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 10.&#160;&#160;&#160;&#160;&#160;Directors, Executive Officers, and Corporate Governance</span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information required by this Item is incorporated by reference to the sections of our proxy statement to be filed with the SEC no later than 120 days after December&#160;31, 2023 in connection with our&#160;2024&#160;Annual Meeting of Stockholders (the &#8220;Proxy Statement&#8221;).</span></div><div style="text-indent:27pt"><span><br/></span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have adopted a Code of Business Conduct and Ethics for our directors, officers (including our principal executive officer, principal financial officer and principal accounting officer) and employees. Our Code of Business Conduct and Ethics is available on our website at www.fastly.com/investors under the &#8220;Governance&#8221; tab. Within the time period required by the SEC and the NYSE, we will post on our website at www.fastly.com/investors under the &#8220;Governance&#8221; tab any amendment to our Code of Business Conduct and Ethics or any waivers of such provisions granted to executive officers and directors.</span></div><div style="text-indent:27pt"><span><br/></span></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_169"></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 11.&#160;&#160;&#160;&#160;&#160;Executive Compensation</span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information required by this Item is incorporated by reference to our Proxy Statement.</span></div><div style="text-indent:27pt"><span><br/></span></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_172"></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 12.&#160;&#160;&#160;&#160;&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">S</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ecurity Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters</span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information required by this Item is incorporated by reference to our Proxy Statement.</span></div><div style="text-indent:27pt"><span><br/></span></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_175"></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 13.&#160;&#160;&#160;&#160;&#160;Certain Relationships and Related Transactions and Director Independence</span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information required by this Item is incorporated by reference to our Proxy Statement.</span></div><div style="text-indent:27pt"><span><br/></span></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_178"></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 14.&#160;&#160;&#160;&#160;&#160;Principal Accountant Fees and Services</span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information required by this Item is incorporated by reference to our Proxy Statement.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">136</span></div></div></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_181"></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PART IV</span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_184"></div><div style="-sec-extract:summary;margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 15.&#160;&#160;&#160;&#160;&#160;Exhibits</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">(a)(1) Financial statements</span></div><div><span><br/></span></div><div style="text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The information concerning the Company&#8217;s financial statements and the Report of Independent Registered Public Accounting Firm required by this Item&#160;15(a)(1) is incorporated by reference herein to the section of this Annual Report on Form 10-K in Part II, Item&#160;8, &#8220;Financial Statements and Supplementary Data.&#8221;</span></div><div style="text-align:justify;text-indent:18pt"><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">(a)(2) Financial statement schedules</span></div><div><span><br/></span></div><div style="text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">All financial statement schedules have been omitted as the information is not required under the related instructions or is not applicable or because the information required is already included in the financial statements or the notes to those financial statements.</span></div><div style="text-align:justify;text-indent:18pt"><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">(a)(3) Exhibits</span></div><div style="text-align:justify;text-indent:18pt"><span><br/></span></div><div style="text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have filed, or incorporated into this Annual Report on Form 10-K by reference, the exhibits listed on the accompanying Exhibit Index immediately preceding the signature page of this Annual Report on Form 10-K.</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:8.402%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:38.519%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:5.332%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.742%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:6.940%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.431%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Exhibit<br/>Number</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Exhibit Description&#160;</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Form</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">File No.</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Exhibit</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Filing Date</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Filed Herewith</span></td></tr><tr style="height:5pt"><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="6" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.1</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1517413/000151741320000227/fastly-8xkxexhibit21.htm">Agreement and Plan of Reorganization, dated August 26, 2020.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8-K</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">001-38897</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.1</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">October 12, 2020</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.1</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1517413/000119312519152823/d752396dex31.htm">Amended and Restated Certificate of Incorporation</a></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">. </span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8-K</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">001-38897<br/></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.1</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">May 21, 2019</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.2</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1517413/000119312520165805/d890035dex31.htm">Certificate of Amendment of Amended and Restated Certificate of Incorporation.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8-K</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">001-38897</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.1</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">June 10, 2020</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.3</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1517413/000151741321000128/fastly-certificateofretire.htm">Certificate of Retirement.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8-K</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">001-38897</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.1</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 13, 2021</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.4</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1517413/000151741320000162/ex33-amendedandrestatedb.htm">Amended and Restated Bylaws</a></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">.</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10-Q</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">001-38897</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.3</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">August 7, 2020</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.1</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/0001517413/000119312519130754/d702138dex41.htm">Form of Class A common stock certificate of Fastly, Inc.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">S-1/A</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">333-230953</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.1</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">May 6, 2019</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.2</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Reference is made to Exhibits 3.1 through 3.3.</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.3</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1517413/000119312521071602/d127610dex41.htm">Indenture, dated as of March 5, 2021, by and between Fastly, Inc. and U.S. Bank National Association, as Trustee.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8-K</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">001-38897</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.1</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 5, 2021</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.4</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1517413/000119312521071602/d127610dex41.htm">Form of Note, representing Fastly, Inc.&#8217;s 0% Convertible Senior Notes due 2026 (included as Exhibit A to the Indenture filed as Exhibit 4.3).</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8-K</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">001-38897</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.2</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 5, 2021</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.5</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1517413/000151741322000038/fastly-10xkxdescriptionofs.htm">Description of Securities.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10-K</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">001-38897</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.5</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 1, 2022</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.1+</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/00001517413/000119312519111675/d702138dex102.htm">2011 Equity Incentive Plan, as amended to date.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">S-1</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">333-230953</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.2</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 19, 2019</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.2+</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/00001517413/000119312519111675/d702138dex103.htm">Forms of Option Agreement, Notice of Stock Option Grant, and Exercise Notice under 2011 Equity Incentive Plan.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">S-1</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">333-230953</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.3</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 19, 2019</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.3+</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1517413/000119312519137435/d702138dex104.htm">2019 Equity Incentive Plan.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">S-1/A</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">333-230953</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.4</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">May 6, 2019</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.4+</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1517413/000119312519137435/d702138dex105.htm">Forms of Option Agreement, Notice of Stock Option Grant, and Exercise Notice under 2019 Equity Incentive Plan.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">S-1/A</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">333-230953</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.5</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">May 6, 2019</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.5+</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1517413/000151741319000012/fsly-10xqexhibit103.htm">Form of Restricted Stock Unit Award Agreement under 2019 Equity Incentive Plan</a></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">.</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10-Q</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">001-38897</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.3</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">August 9, 2019</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.6+</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1517413/000119312519137435/d702138dex107.htm">2019 Employee Stock Purchase Plan.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">S-1/A</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">333-230953</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.7</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">May 6, 2019</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.7</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1517413/000119312519137435/d702138dex108.htm">Form of Indemnification Agreement by and between Fastly, Inc. and each of its directors and executive officers</a></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">.</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">S-1/A</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">333-230953</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.8</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">May 6, 2019</span></td><td colspan="3" style="padding:0 1pt"/></tr></table></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="-sec-extract:summary;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">137</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div><span><br/></span></div></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:8.402%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:38.519%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:5.332%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.742%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:6.940%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.431%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Exhibit<br/>Number</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Exhibit Description&#160;</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Form</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">File No.</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Exhibit</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Filing Date</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Filed Herewith</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.8+</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1517413/000119312519137435/d702138dex109.htm">Cash Incentive Bonus Plan.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">S-1/A</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">333-230953</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.9</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">May 6, 2019</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.9+</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1517413/000119312519137435/d702138dex1010.htm">Employment Terms by and between Fastly, Inc. and Artur Bergman, dated May 3, 2019.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">S-1/A</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">333-230953</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.10</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">May 6, 2019</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.10</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/00001517413/000119312519111675/d702138dex1017.htm">Office Lease Agreement, by and between Fastly, Inc. and CLPF-475 Brannan Street, L.P., dated August 22, 2014.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">S-1</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">333-230953</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.17</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 19, 2019</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.11</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/00001517413/000119312519111675/d702138dex1018.htm">First Amendment to Lease Agreement, by and between Fastly, Inc. and CLPF-475 Brannan Street, L.P., dated May 27, 2015.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">S-1</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">333-230953</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.18</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 19, 2019</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.12</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/00001517413/000119312519111675/d702138dex1032.htm">Second Amendment to Lease Agreement, by and between Fastly, Inc. and CLPF-475 Brannan Street, L.P., dated March 11, 2019.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">S-1</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">333-230953</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.32</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 19, 2019</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.13+</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1517413/000119312519137435/d702138dex1031.htm">Executive Change in Control and Severance Benefit Plan.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">S-1/A</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">333-230953</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.31</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">May 6, 2019</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.14+</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="ex1014non-employeedirector.htm">Non-Employee Director Compensation Policy, as amended.</a></span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"><div><span><br/></span></div></td><td colspan="3" style="padding:0 1pt"><div><span><br/></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.15</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1517413/000119312519137435/d702138dex1033.htm">Stock Ownership Guidelines.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">S-1/A</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">333-230953</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.33</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">May 6, 2019</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.16+</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1517413/000119312520043507/d667390dex101.htm">Employment Agreement, by and between Fastly International (Holdings) Ltd. and Joshua Bixby dated February 19, 2020.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8-K</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">001-38897</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.1</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 20, 2020</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.17+</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1517413/000119312520043507/d667390dex102.htm">Equity Offer Letter, by and between Fastly, Inc. and Joshua Bixby dated February 19, 2020</a></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">.</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8-K</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">001-38897</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.2</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 20, 2020</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.18+</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1517413/000151741323000308/fastly-modificationofoffer.htm">Employment Terms by and between Fastly, Inc. and Artur Bergman, dated May 3, 2019, as modified through November 2, 2023</a></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">.</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8-K</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">001-38897</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.1</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">November 6, 2023</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.19+</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1517413/000151741320000238/fastly-sx8xexhibit991.htm">Signal Sciences Corp. 2014 Stock Option and Grant Plan.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">S-8</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">333-249504</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">99.1</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">October 10, 2020</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.20</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1517413/000151741321000030/fsly-123120x10kex1023.htm">Senior Secured Credit Facilities Credit Agreement, among Fastly, Inc., the several lenders from time to time party thereto, and Silicon Valley Bank, dated as of February 16, 2021. </a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10-K</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">001-38897</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.23</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 1, 2021</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.21</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1517413/000151741323000218/fastly-firstamendmenttocre.htm">First Amendment to the Senior Secured Credit Facilities Credit Agreement dated as of February 16, 2021, among Fastly, Inc., the several lenders from time to time party thereto, and Silicon Valley Bank, dated as of June 28, 2023.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10-Q</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">001-38897</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.2</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">August 2, 2023</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.22</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="secondamendmenttocreditagr.htm">Second Amendment to the Senior Secured Credit Facilities Credit Agreement dated as of February 16, 2021, among Fastly, Inc., the several lenders from time to time party thereto, and Silicon Valley Bank, dated as of February 16, 2024.</a></span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.23+</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1517413/000151741322000038/ex1024-brettshirkofferlett.htm">Offer Letter Agreement, by and between Fastly, Inc. and Brett Shirk, dated February 9, 2021</a></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">.</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10-K</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">001-38897</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.23</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 1, 2022</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.24+</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1517413/000151741321000116/ronkisling-fastlyxusofferl.htm">Offer Letter by and between Fastly, Inc. and Ronald W. Kisling, dated June 22, 2021.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8-K</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">001-38897</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.1</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">June 29, 2021</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.25+</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1517413/000151741322000115/exh101ceoofferletter1.htm">Offer Letter by and between Fastly, Inc. and Todd Nightingale, dated August 1, 2022.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8-K</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">001-38897</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.1</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">August 3, 2002</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.26+</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1517413/000151741322000138/fastly-ceotransitionsepara.htm">Transition and Separation Agreement by and between Fastly, Inc. and Joshua Bixby, dated September 6, 2022.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8-K</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">001-38897</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.1</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">September 6, 2022</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21.1</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="fsly-123123x10kex211.htm">Subsidiaries of the Registrant.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10-K</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">001-38897</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21.1</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 24, 2023</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23.1</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="fsly-123123x10kex231.htm">Consent of Independent Registered Public Accounting Firm.</a></span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24.1</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Power of Attorney (contained on the signature page of this report).</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></td></tr></table></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="-sec-extract:summary;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">138</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div><span><br/></span></div></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:8.402%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:38.519%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:5.332%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.742%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:6.940%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.431%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Exhibit<br/>Number</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Exhibit Description&#160;</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Form</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">File No.</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Exhibit</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Filing Date</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Filed Herewith</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31.1</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="fsly-123123x10kex311.htm">Certification of the Chief Executive Officer pursuant to Exchange Act Rule 13a-14 as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.</a></span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31.2</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="fsly-123123x10kex312.htm">Certification of the Chief Financial Officer pursuant to Exchange Act Rule 13a-14 as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.</a></span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32.1*</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="fsly-123123x10kex321.htm">Certification of the Chief Executive Officer pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</a></span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32.2*</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="fsly-123123x10kex322.htm">Certification of the Chief Financial Officer pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</a></span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">97.1</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="ex971incentivecompensation.htm">Incentive Compensation Recoupment Policy</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="ex971incentivecompensation.htm">.</a></span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101. INS</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inline XBRL Instance Document &#8211; the instance document does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document.</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101.SCH</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inline XBRL Taxonomy Schema Linkbase Document.</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101.CAL</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inline XBRL Taxonomy Calculation Linkbase Document.</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101.DEF</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inline XBRL Taxonomy Definition Linkbase Document.</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101.LAB</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inline XBRL Taxonomy Labels Linkbase Document.</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101.PRE</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inline XBRL Taxonomy Presentation Linkbase Document.</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">104</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cover Page Interactive Data File (formatted as inline XBRL and contained in Exhibit 101).</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr></table></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">__________</span></div><div style="padding-left:36pt;text-indent:-36pt"><span><br/></span></div><div style="margin-bottom:12pt;padding-left:36pt;text-indent:-36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">+&#160;&#160;&#160;&#160;Indicates management contract or compensatory plan.</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">*&#160;&#160;&#160;&#160;The certifications furnished in Exhibit 32.1 and 32.2 hereto are deemed to be furnished with this Annual Report on Form 10-K and will not be deemed to be &#8220;filed&#8221; for purposes of Section&#160;18 of the Exchange Act, except to the extent that the Registrant specifically incorporates it by reference.</span></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_187"></div><div style="margin-bottom:12pt"><span><br/></span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 16.&#160;&#160;&#160;&#160;&#160;Form 10-K Summary</span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None.</span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">139</span></div></div></div><div id="ifeb57f42291446d88b3e56f9c1e58c38_190"></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div><span><br/></span></div></div><div style="margin-bottom:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">SIGNATURES</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the requirements of the Securities Exchange Act of 1934, as amended, Fastly, Inc. has duly caused this Annual Report on Form 10-K to be signed on its behalf by the undersigned, thereunto duly authorized. </span></div><div style="margin-bottom:12pt;margin-top:5pt;text-align:right"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:5.927%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:41.798%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.142%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:3.145%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:42.388%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">FASTLY,&#160;INC.</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date:</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 21, 2024</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">By:</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Todd Nightingale</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Todd Nightingale</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Chief Executive Officer (Principal Executive Officer)</span></div></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date:</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 21, 2024</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">By:</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Ronald W. Kisling</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ronald W. Kisling</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Chief Financial Officer (Principal Financial and Accounting Officer)</span></div></td></tr></table></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">140</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:58.5pt;width:100%"><div><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div><span><br/></span></div></div><div style="margin-bottom:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">POWER OF ATTORNEY</span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">KNOW ALL PERSONS BY THESE PRESENTS, that each person whose signature appears below constitutes and appoints Todd Nightingale and Ronald W. Kisling, and each of them, as his or her true and lawful attorney-in-fact and agent with full power of substitution and resubstitution, for such individual in any and all capacities, to sign any and all amendments to this Annual Report on Form 10-K, and to file the same, with all exhibits thereto and other documents in connection therewith, with the Securities and Exchange Commission, granting unto said attorneys-in-fact and agents, and each of them, full power and authority to do and perform each and every act and thing requisite and necessary to be done in connection therewith, as fully for all intents and purposes as he or she might or could do in person, hereby ratifying and confirming all that said attorneys-in-fact and agents, or any of them, or the individual&#8217;s substitute, may lawfully do or cause to be done by virtue hereof.</span></div><div style="text-indent:27pt"><span><br/></span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the requirements of the Securities Exchange Act of 1934, as amended, this report has been signed by the following persons on behalf of the Company and in the capacities and on the dates indicated.</span></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"/><td style="width:26.653%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:53.672%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.907%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Signature</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Title</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date</span></td></tr><tr style="height:15pt"><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Todd Nightingale</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chief Executive Officer</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 21, 2024</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Todd Nightingale</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(Principal Executive Officer)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Ronald W. Kisling</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chief Financial Officer</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 21, 2024</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ronald W. Kisling</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(Principal Financial Officer and Principal Accounting Officer)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ David Hornik</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Director and Chairperson of our Board of Directors</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 21, 2024</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">David Hornik</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"><div><span><br/></span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Aida &#193;lvarez</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Director</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 21, 2024</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Aida &#193;lvarez</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Artur Bergman</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chief Architect and Director</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 21, 2024</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Artur Bergman</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Richard Daniels</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Director</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 21, 2024</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Richard Daniels</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Paula Loop</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Director</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 21, 2024</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Paula Loop</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Charles Meyers</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Director</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 21, 2024</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Charles Meyers</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Christopher B. Paisley</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Director</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 21, 2024</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Christopher B. Paisley</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Vanessa Smith</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Director</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 21, 2024</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vanessa Smith</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span><br/></span></div><div style="height:58.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">141</span></div></div></div></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.14
<SEQUENCE>2
<FILENAME>ex1014non-employeedirector.htm
<DESCRIPTION>EX-10.14
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2024 Workiva -->
<title>Document</title></head><body><div id="i62e946c0cc5941608ebea2a03441bd97_1"></div><div style="min-height:72pt;width:100%"><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Exhibit 10.14</font></div></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Fastly, Inc.</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Non-Employee Director Compensation Policy</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Adopted&#58;  May 1, 2019 </font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Amended&#58; August 4, 2020</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Amended&#58; July 8, 2021</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Amended&#58; November 2, 2021</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Amended&#58; April 12, 2023</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Amended&#58; December 6, 2023 and Effective&#58; January 1, 2024</font></div><div><font><br></font></div><div style="margin-bottom:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Each member of the Board of Directors (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%">Board</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;) of Fastly, Inc. (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%">Company</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;) who is a non-employee director of the Company (each such member, a &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%">Non-Employee Director</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;) will receive the compensation described in this Non-Employee Director Compensation Policy (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%">Director</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%"> </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%">Compensation Policy</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;) for his or her Board service.</font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">The Director Compensation Policy may be amended at any time in the sole discretion of the Board or the Compensation Committee of the Board.</font></div><div style="text-align:justify"><font><br></font></div><div style="margin-bottom:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Annual Cash Compensation</font></div><div style="text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Commencing at the beginning of the first calendar quarter following the closing of the initial public offering (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%">IPO</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%"> </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">of the Company&#8217;s Class A common stock (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%">Class A Common Stock</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;), each Non-Employee Director will receive the cash compensation set forth below for service on the Board.  The annual cash compensation amounts will be payable in equal quarterly installments, in arrears following the end of each quarter in which the service occurred, pro-rated for any partial months of service.  All annual cash fees are vested upon payment. </font></div><div><font><br></font></div><div style="padding-left:36pt;text-align:justify;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">1.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Annual Board Service Retainer</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#58; </font></div><div style="padding-left:36pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">a.&#160;&#160;&#160;&#160;All Eligible Directors&#58; $40,000</font></div><div style="padding-left:36pt;text-align:justify"><font><br></font></div><div style="padding-left:36pt;text-align:justify;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">2.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Annual Committee Chair Service Retainer</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#58;</font></div><div style="padding-left:36pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">a.&#160;&#160;&#160;&#160;Chairperson of the Audit Committee&#58; $20,000</font></div><div style="padding-left:36pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">b.&#160;&#160;&#160;&#160;Chairperson of the Compensation Committee&#58; $15,000</font></div><div style="padding-left:36pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">c.&#160;&#160;&#160;&#160;Chairperson of the Nominating and Corporate Governance Committee&#58; $10,000</font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">3.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Annual Chairperson Retainer&#58;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%"> $20,000</font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Equity Compensation</font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#160;&#160;&#160;&#160;Equity awards will be granted under the Company&#8217;s 2019 Equity Incentive Plan (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%">Plan</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;).</font></div><div style="text-align:justify"><font><br></font></div><div style="padding-left:13.5pt;text-align:justify;text-indent:22.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">i.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%;padding-left:29.67pt">Initial Appointment Equity Grant.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#160; On appointment to the Board, and without any further action of the Board or Compensation Committee of the Board, at the close of business on the day of such appointment a Non-Employee Director will automatically receive a Restricted Stock Unit Award for Class A Common Stock having a value of $400,000 based on the Fair Market Value (as defined in the Plan) of the underlying Class A Common Stock on the date of grant (the &#8220;Initial RSU&#8221;). Each Initial RSU will vest on the one-year anniversary measured from the date of grant.</font></div><div style="padding-left:72pt;text-align:justify"><font><br></font></div><div style="padding-left:13.5pt;text-align:justify;text-indent:22.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">ii.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%;padding-left:26.34pt">Automatic Equity Grants.&#160; </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Without any further action of the Board or Compensation Committee of the Board, at the close of business on the date of each Annual Meeting of the Company&#8217;s Stockholders (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%">Annual Meeting</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;), each person who is then a Non-Employee Director will automatically receive a Restricted Stock Unit Award for Class A </font></div><div style="height:75.6pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#160;&#160;&#160;&#160;1.</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:97%"> </font></div><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="padding-left:13.5pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Common Stock having a value of $200,000 based on the Fair Market Value (as defined in the Plan) of the underlying Class A Common Stock on the date of grant (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%">Annual RSU</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;). Each Annual RSU will vest quarterly over one year following the date of grant and will be fully vested on the earlier of (i) the date of the following year&#8217;s Annual Meeting (or the date immediately prior to the next Annual Meeting if the Non-Employee Director&#8217;s service as a director ends at such meeting due to the director&#8217;s failure to be re-elected or the director not standing for re-election)&#59; and (ii) the one-year anniversary measured from the date of grant.</font></div><div style="padding-left:72pt;text-align:justify"><font><br></font></div><div style="padding-left:13.5pt;text-align:justify;text-indent:22.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">iii.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%;padding-left:23.01pt">Vesting&#59; Change of Control.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#160; All vesting is subject to the Non-Employee Director&#8217;s &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%">Continuous Service</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; (as defined in the Plan) on each applicable vesting date. Notwithstanding the foregoing vesting schedules, for each Non-Employee Director who remains in Continuous Service with the Company until immediately prior to the closing of a &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%">Change of Control</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; (as defined in the Plan), the shares subject to his or her then-outstanding equity awards will become fully vested immediately prior to the closing of such Change of Control.</font></div><div style="padding-left:72pt;text-align:justify"><font><br></font></div><div style="padding-left:13.5pt;text-align:justify;text-indent:22.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">iv.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%;padding-left:23.67pt">Calculation of Value of a Restricted Stock Unit Award.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#160; The value of a Restricted Stock Unit Award to be granted under this Director Compensation Policy will be determined based on the Fair Market Value per share on the grant date.</font></div><div style="padding-left:72pt;text-align:justify"><font><br></font></div><div style="padding-left:13.5pt;text-align:justify;text-indent:22.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">v.&#160;&#160;&#160;&#160;Remaining Terms.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#160; The remaining terms and conditions of each Nonstatutory Stock Option and Restricted Stock Unit Award, including transferability, will be as set forth in the Company&#8217;s standard Option Agreement and Restricted Stock Unit Award Agreement, in the form adopted from time to time by the Board or the Compensation Committee of the Board.</font></div><div style="padding-left:72pt;text-align:justify"><font><br></font></div><div style="padding-left:13.5pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Expenses</font></div><div style="padding-left:13.5pt;text-align:justify"><font><br></font></div><div style="padding-left:13.5pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">The Company will reimburse Non-Employee Director for ordinary, necessary and reasonable out-of-pocket travel expenses to cover in-person attendance at and participation in Board and committee meetings&#59;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:400;line-height:100%">provided</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">, that the Non-Employee Director timely submit to the Company appropriate documentation substantiating such expenses in accordance with the Company&#8217;s travel and expense policy, as in effect from time to time.</font></div><div style="height:75.6pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:97%"> </font></div><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.22
<SEQUENCE>3
<FILENAME>secondamendmenttocreditagr.htm
<DESCRIPTION>EX-10.22
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2024 Workiva -->
<title>Document</title></head><body><div id="i665b8ed10e8746d5acfebb7a136be8d5_1"></div><div style="min-height:54pt;width:100%"><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Exhibit 10.22</font></div></div><div style="margin-bottom:12pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%;text-decoration:underline">SECOND AMENDMENT <br>TO CREDIT AGREEMENT </font></div><div style="text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">This Second Amendment to Credit Agreement (this &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%">Amendment</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;) dated and effective as of February 16, 2024 (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%">Second Amendment Effective Date</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;) by and among </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">FASTLY, INC</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">., a Delaware corporation (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%">Borrower</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;), the several banks and other financial institutions or entities party hereto (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%">Lenders</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;) and </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">SILICON VALLEY BANK, A DIVISION OF FIRST-CITIZENS BANK &#38; TRUST COMPANY </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%">SVB</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;), as the Administrative Agent (SVB, in such capacity, the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%">Administrative Agent</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;), and as the Issuing Lender and the Swingline Lender. </font></div><div style="margin-bottom:12pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%"><br>W I T N E S S E T H&#58;</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">WHEREAS, the Borrower, the Administrative Agent, the Issuing Lender and the Swingline Lender are parties to that certain Credit Agreement dated as of February 16, 2021 (as amended by that certain First Amendment to Credit Agreement dated as of June 28, 2023 and as further amended, modified, supplemented or restated and in effect from time to time, the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%">Credit Agreement</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;)&#59; and</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">WHEREAS, the Borrower has requested that the Lenders and the Administrative Agent agree to modify and amend certain terms and conditions of the Credit Agreement, subject to the terms and conditions contained herein.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">NOW, THEREFORE, for good and valuable consideration, the receipt and sufficiency of which is hereby acknowledged, the parties hereto agree as follows&#58;</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">1.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:27pt;text-decoration:underline">Capitalized Terms</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  All capitalized terms used herein and not otherwise defined shall have the same meaning herein as in the Credit Agreement or in the other Loan Documents, as applicable.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">2.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:27pt;text-decoration:underline">Amendments to the Credit Agreement</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  </font></div><div style="margin-bottom:12pt;padding-left:72pt;text-align:justify;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(a)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:22.7pt;text-decoration:underline">Amended&#47;New Definitions in the Credit Agreement</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  </font></div><div style="margin-bottom:12pt;padding-left:117pt;text-align:justify;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(i)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:24.69pt">The following new definition is hereby inserted into </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Section 1.1</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%"> of the Credit Agreement in its applicable alphabetical order&#58;</font></div><div style="margin-bottom:12pt;padding-left:81pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;&#160;&#160;&#160;&#160;&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%">Second Amendment Fee Letter</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;&#58; the letter agreement dated as of February 16, 2024, by and between the Borrower and the Administrative Agent.&#8221; </font></div><div style="margin-bottom:12pt;padding-left:117pt;text-align:justify;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(ii)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:21.36pt">The following terms and their respective definitions set forth in </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Section 1.1</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%"> of the Credit Agreement are hereby deleted in their entirety and replaced with the following&#58;</font></div><div style="margin-bottom:12pt;padding-left:81pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;&#160;&#160;&#160;&#160;&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%">Loan Documents</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;&#58; this Agreement, each Security Document, each Note, the Fee Letter, the Second Amendment Fee Letter, each Assignment and Assumption, each Compliance Certificate, each Increase Joinder, each Notice of Borrowing, each Notice of Conversion&#47;Continuation, the Solvency Certificate, the Collateral Information Certificate, each L&#47;C-Related Document, each subordination or intercreditor agreement and any agreement creating or perfecting rights in cash collateral pursuant to the provisions of </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Section 3.10</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">, or otherwise, and any amendment, waiver, supplement or other modification to any of the foregoing.&#8221;</font></div><div style="margin-bottom:12pt;padding-left:81pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;&#160;&#160;&#160;&#160;&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:700;line-height:100%">Revolving Termination Date</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;&#58; June 14, 2024.&#8221;</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">3.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:27pt;text-decoration:underline">Amendment to Schedules to Credit Agreement</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Schedule 4.15</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%"> to the Credit Agreement is hereby deleted in its entirety and </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Schedule 4.15</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%"> attached as </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Annex A</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%"> hereto is substituted therefor. Each of the other existing Schedules to the Credit Agreement will remain in full force and effect.</font></div><div style="height:54pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">1</font></div></div></div><hr style="page-break-after:always"><div style="min-height:54pt;width:100%"><div style="text-align:justify"><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">4.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:27pt;text-decoration:underline">Conditions Precedent to Effectiveness</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  This Amendment shall not be effective until each of the following conditions precedent have been fulfilled to the satisfaction of the Administrative Agent&#58;</font></div><div style="margin-bottom:12pt;padding-left:72pt;text-align:justify;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(a)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:22.7pt">This Amendment shall have been duly executed and delivered by the respective parties hereto.  The Administrative Agent shall have received a fully executed copy hereof.</font></div><div style="margin-bottom:12pt;padding-left:72pt;text-align:justify;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(b)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:22.02pt">All necessary consents and approvals to this Amendment shall have been obtained.</font></div><div style="margin-bottom:12pt;padding-left:72pt;text-align:justify;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(c)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:22.7pt">Immediately after giving effect to this Amendment, no Default or Event of Default shall have occurred and be continuing.</font></div><div style="margin-bottom:12pt;padding-left:72pt;text-align:justify;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(d)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:22.02pt">The representations and warranties set forth in Section 5 of this Amendment shall be true and correct on the Second Amendment Effective Date.</font></div><div style="margin-bottom:12pt;padding-left:72pt;text-align:justify;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(e)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:22.7pt">The Administrative Agent shall have received (i) the Second Amendment Fee Letter, duly executed and delivered by the Borrower, and (ii) all amounts required to be paid pursuant to the Second Amendment Fee Letter.</font></div><div style="margin-bottom:12pt;padding-left:72pt;text-align:justify;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(f)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:24.03pt">The Administrative Agent shall have received the results of a recent lien search in each of the Loan Parties&#8217; jurisdictions of organization and each other jurisdiction reasonably required by the Administrative Agent, and such searches shall reveal no Liens on any of the assets of the Loan Parties, except for Liens permitted by </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Section 7.3</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%"> of the Credit Agreement.</font></div><div style="margin-bottom:12pt;padding-left:72pt;text-align:justify;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(g)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:22.02pt">The Administrative Agent shall have received (i) a certificate of each Loan Party, dated as of the Second Amendment Effective Date and executed by the Secretary, Managing Member or equivalent officer of such Loan Party, substantially in the form of </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Exhibit C</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%"> to the Credit Agreement, with appropriate insertions and attachments, including (A) the Operating Documents of such Loan Party certified, in the case of formation documents, as of a recent date by the secretary of state or similar official of the relevant jurisdiction of organization of such Loan Party, (B) the relevant board resolutions or written consents of such Loan Party adopted by such Loan Party for the purposes of authorizing such Loan Party to enter into and perform the Loan Documents to which such Loan Party is party, and (C) the names, titles, incumbency and signature specimens of those representatives of such Loan Party who have been authorized by such resolutions and&#47;or written consents to execute Loan Documents on behalf of such Loan Party, (ii) a long form good standing certificate for each Loan Party from its respective jurisdiction of organization, and (iii) certificates of foreign qualification from each jurisdiction where the failure of a Loan Party to be qualified could reasonably be expected to have a Material Adverse Effect.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:27pt;text-decoration:underline">Representations and Warranties</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  Each Loan Party hereby represents and warrants to the Administrative Agent and the Lenders as follows&#58;</font></div><div style="margin-bottom:12pt;padding-left:72pt;text-align:justify;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(a)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:22.7pt">This Amendment is, and each other Loan Document to which it is or will be a party, when executed and delivered by each Loan Party that is a party thereto, will be the legally valid and binding obligation of such Loan Party, enforceable against such Loan Party in accordance with its respective terms, except as enforcement may be limited by equitable principles or by bankruptcy, insolvency, reorganization, moratorium or similar laws relating to or limiting creditors&#8217; rights generally.</font></div><div style="margin-bottom:12pt;padding-left:72pt;text-align:justify;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(b)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:22.02pt">Immediately after giving effect to this Amendment, the representations and warranties set forth in this Amendment, the Credit Agreement, as amended by this Amendment and after giving effect hereto, and the other Loan Documents to which it is a party (i) that is qualified by materiality shall be true and correct, and (ii) that is not qualified by materiality, shall be true and correct in all material respects, in each case, on and as of such date as if made on and as of such date, except to the extent any such representation and warranty expressly relates to an earlier date, in which case such representation and </font></div><div style="height:54pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">2</font></div></div></div><hr style="page-break-after:always"><div style="min-height:54pt;width:100%"><div style="text-align:justify"><font><br></font></div></div><div style="margin-bottom:12pt;padding-left:72pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">warranty shall have been true and correct in all material respects (or all respects, as applicable) as of such earlier date.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">6.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:27pt;text-decoration:underline">Payment of Costs and Fees</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  The Borrower shall pay to the Administrative Agent all reasonable costs, out-of-pocket expenses, and fees and charges of every kind in connection with the preparation, negotiation, execution and delivery of this Amendment and any documents and instruments relating hereto (which costs include, without limitation, the reasonable fees and expenses of any attorneys retained by the Administrative Agent) to the extent provided in </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Section 10.5</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%"> of the Credit Agreement. </font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">7.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:27pt;text-decoration:underline">Choice of Law</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  This Amendment and the rights of the parties hereunder, shall be determined under, governed by, and construed in accordance with the laws of the New York.  </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Section 10.14</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%"> of the Credit Agreement is hereby incorporated by reference. </font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">8.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:27pt;text-decoration:underline">Counterpart Execution</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  This Amendment may be executed in any number of counterparts, all of which when taken together shall constitute one and the same instrument, and any of the parties hereto may execute this Amendment by signing any such counterpart.  Delivery of an executed counterpart of this Amendment by telefacsimile or other electronic method of transmission shall be equally as effective as delivery of an original executed counterpart of this Amendment.  </font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">9.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:27pt;text-decoration:underline">Effect on Loan Documents</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.</font></div><div style="margin-bottom:12pt;padding-left:72pt;text-align:justify;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(a)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:22.7pt">The Credit Agreement, as amended hereby, and each of the other Loan Documents shall be and remain in full force and effect in accordance with their respective terms and hereby are ratified and confirmed in all respects.  The execution, delivery, and performance of this Amendment shall not operate as a modification or waiver of any right, power, or remedy of the Administrative Agent or any Lender under the Credit Agreement or any other Loan Document except as expressly set forth herein.  The modifications and other agreements herein are limited to the specifics hereof (including facts or occurrences on which the same are based), shall not apply with respect to any facts or occurrences other than those on which the same are based, shall not excuse any non-compliance with the Loan Documents, and shall not operate as a consent or waiver to any matter under the Loan Documents.  To the extent any terms or provisions of this Amendment conflict with those of the Credit Agreement or other Loan Documents, the terms and provisions of this Amendment shall control.</font></div><div style="margin-bottom:12pt;padding-left:72pt;text-align:justify;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(b)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:22.02pt">To the extent that any terms and conditions in any of the Loan Documents shall contradict or be in conflict with any terms or conditions of the Credit Agreement, after giving effect to this Amendment, such terms and conditions are hereby deemed modified or amended accordingly to reflect the terms and conditions of the Credit Agreement as modified or amended hereby.</font></div><div style="margin-bottom:12pt;padding-left:72pt;text-align:justify;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(c)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:22.7pt">This Amendment is a Loan Document.  </font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">10.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:21pt;text-decoration:underline">Entire Agreement</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  This Amendment, and terms and provisions hereof, the Credit Agreement and the other Loan Documents constitute the entire understanding and agreement between the parties hereto with respect to the subject matter hereof and supersedes any and all prior or contemporaneous amendments or understandings with respect to the subject matter hereof, whether express or implied, oral or written.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">11.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:21pt;text-decoration:underline">Severability</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  In case any provision in this Amendment shall be invalid, illegal or unenforceable, such provision shall be severable from the remainder of this Amendment and the validity, legality and enforceability of the remaining provisions shall not in any way be affected or impaired thereby.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">12.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:21pt;text-decoration:underline">No Novation</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.&#160; By its execution of this Amendment, each of the parties hereto acknowledges and agrees that the terms of this Amendment do not constitute a novation, but, rather, an amendment to the terms of a pre-existing indebtedness and related agreement.</font></div><div style="height:54pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">3</font></div></div></div><hr style="page-break-after:always"><div style="min-height:54pt;width:100%"><div style="text-align:justify"><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">13.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;padding-left:21pt;text-decoration:underline">Reaffirmation of Obligations</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  Each Loan Party hereby restates, ratifies and reaffirms its obligations under each Loan Document to which it is a party, effective as of the date hereof and amended hereby.  Each Loan Party hereby further ratifies and reaffirms the validity and enforceability of all of the Liens heretofore granted, pursuant to and in connection with the Guarantee and Collateral Agreement or any other Loan Document to the Administrative Agent on behalf and for the benefit of the Lenders and the Issuing Lender, as collateral security for the obligations under the Loan Documents, in accordance with their respective terms, and acknowledges that all of such Liens, and all collateral heretofore pledged as security for such obligations, continues to be and remain collateral for such obligations from and after the date hereof.  </font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#91;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:400;line-height:100%">Signature pages follow</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#93;</font></div><div style="height:54pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">4</font></div></div></div><div id="i665b8ed10e8746d5acfebb7a136be8d5_4"></div><hr style="page-break-after:always"><div style="min-height:63.36pt;width:100%"><div style="text-align:right"><font><br></font></div></div><div style="text-align:center"><font><br></font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">In Witness Whereof</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">, the parties hereto have caused this Amendment to be duly executed and delivered by their proper and duly authorized officers as of the day and year first above written.</font></div><div style="padding-left:238.5pt;text-indent:4.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">BORROWER&#58;<br></font></div><div style="padding-left:245.35pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:47.596%"><tr><td style="width:1.0%"></td><td style="width:98.900%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">FASTLY, INC.</font></div><div style="padding-left:2.75pt;padding-right:2.75pt"><font><br></font></div><div style="padding-left:2.75pt;padding-right:2.75pt"><font><br></font></div><div style="margin-bottom:12pt;padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">By&#58; </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">&#47;s&#47; Ronald Kisling&#160;&#160;&#160;&#160;<br></font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Name&#58; Ronald Kisling<br>Title&#58; Chief Financial Officer&#160;&#160;&#160;&#160;</font></div></td></tr></table></div><div style="padding-left:252pt"><font><br></font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#91;Signature Page to Second Amendment to Credit Agreement&#93;</font></div></div></div><hr style="page-break-after:always"><div style="min-height:63.36pt;width:100%"><div style="text-align:justify"><font><br></font></div></div><div style="padding-left:252pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">ADMINISTRATIVE AGENT AND LENDER&#58;</font></div><div style="padding-left:252pt"><font><br></font></div><div style="margin-bottom:24pt;padding-left:252pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">FIRST-CITIZENS BANK &#38; TRUST COMPANY </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%"><br></font></div><div style="padding-left:252pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">By&#58;&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">&#47;s&#47; Robert MacNamara</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%"><br>Name&#58; Robert MacNamara<br>Title&#58;   Vice President</font></div><div style="padding-left:252pt"><font><br></font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#91;Signature Page to Second Amendment to Credit Agreement&#93;</font></div><div style="text-align:center"><font><br></font></div></div></div><div id="i665b8ed10e8746d5acfebb7a136be8d5_7"></div><hr style="page-break-after:always"><div style="min-height:63.36pt;width:100%"><div style="text-align:right"><font><br></font></div></div><div style="margin-bottom:18pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%;text-decoration:underline">ANNEX A</font></div><div style="margin-bottom:18pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#91;see attached&#93;</font></div><div style="text-align:justify"><font><br></font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font><br></font></div></div></div><div id="i665b8ed10e8746d5acfebb7a136be8d5_70"></div><hr style="page-break-after:always"><div style="min-height:54pt;width:100%"><div style="text-align:justify"><font><br></font></div></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Schedule 4.15</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Subsidiaries</font></div><div style="text-align:center"><font><br></font></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.654%"><tr><td style="width:1.0%"></td><td style="width:32.553%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:28.707%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.246%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.094%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#bfbfbf;border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline">Name of Subsidiary</font></td><td colspan="3" style="background-color:#bfbfbf;border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline">Jurisdiction of Organization or Formation</font></td><td colspan="3" style="background-color:#bfbfbf;border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline">Organizational Identification Number</font></td><td colspan="3" style="background-color:#bfbfbf;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline">Percentage of Equity Interests Owned</font></td></tr><tr><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Certainly LLC</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Delaware, USA</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5643184</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100% Fastly, Inc.</font></td></tr><tr><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Domain Research, LLC</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">California, USA</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">201507010406</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100% Fastly, Inc.</font></td></tr><tr><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Fanout, Inc.</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">California, USA</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3426987</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100% Fastly, Inc.</font></td></tr><tr><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Glitch, Inc.</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Delaware, USA</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3283730</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100% Fastly, Inc.</font></td></tr><tr><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Signal Sciences, LLC</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Delaware, USA</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3459688</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100% Fastly, Inc.</font></td></tr><tr><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Fastly Australia Pty Ltd</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Australia</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">630 011 282</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100% Fastly International (Holdings) Limited</font></td></tr><tr><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Fastly Canada Inc.</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Canada</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">BC1198830</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100% Fastly International (Holdings) Limited</font></td></tr><tr><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Fastly GmbH</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Germany</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">HRB 25110</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100% Fastly International (Holdings) Limited</font></td></tr><tr><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Fastly India Private Limited</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">India</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">301653</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">99% Fastly International (Holdings) Limited and 1% Fastly Limited</font></td></tr><tr><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Fastly Kabushiki Kaisha</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Japan</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0104-01-117015</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100% Fastly, Inc.</font></td></tr><tr><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Fastly Netherlands B.V.</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Netherlands</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">83083154</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100% Fastly International (Holdings) Limited</font></td></tr><tr><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Fastly SG Pte. Ltd.</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Singapore</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">202129865D</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100% Fastly International (Holdings) Limited</font></td></tr><tr><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Fastly Cloud Iberica S.L.</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Spain</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">B88490644</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100% Fastly International (Holdings) Limited</font></td></tr><tr><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Fastly Sweden AB</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sweden</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">559183-4014</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100% Fastly International (Holdings) Limited</font></td></tr><tr><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Fastly International (Holdings) Limited</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">United Kingdom</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8931802</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100% Fastly, Inc.</font></td></tr><tr><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Fastly International Technology Limited</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">United Kingdom</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8931814</font></td><td colspan="3" style="border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100% Fastly, Inc.</font></td></tr><tr><td colspan="3" style="border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Fastly Limited</font></td><td colspan="3" style="border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">United Kingdom</font></td><td colspan="3" style="border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8656087</font></td><td colspan="3" style="border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100% Fastly International Technology Limited</font></td></tr></table></div><div style="margin-bottom:10pt"><font><br></font></div><div style="height:54pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:justify"><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-21.1
<SEQUENCE>4
<FILENAME>fsly-123123x10kex211.htm
<DESCRIPTION>EX-21.1
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2024 Workiva -->
<title>Document</title></head><body><div id="i63509595107946b2a4294f09911de11c_1"></div><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="text-align:right"><font style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:133%">Exhibit 21.1</font></div><div style="margin-top:12pt;text-align:center"><font style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:133%">Subsidiaries of Fastly, Inc.</font></div><div><font style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:400;line-height:133%"> </font></div><div style="margin-bottom:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.076%"><tr><td style="width:1.0%"></td><td style="width:48.900%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:2.821%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:44.979%"></td><td style="width:0.1%"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:133%">Name of Subsidiary</font></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:133%">Jurisdiction of Organization</font></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="6" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:133%">Fastly Australia Pty Ltd</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:133%">Australia</font></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:133%">Fastly Cloud Iberica S.L.</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:133%">Spain</font></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:133%">Fastly GmbH</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:133%">Germany</font></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:133%">Fastly India Private Limited</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:133%">India</font></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:133%">Fastly International (Holdings) Limited</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:133%">United Kingdom</font></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:133%">Fastly International Technology Limited</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:133%">United Kingdom</font></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:133%">Fastly Kabushiki Kaisha</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:133%">Japan</font></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:133%">Fastly Limited</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:133%">United Kingdom</font></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:133%">Signal Sciences, LLC</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:133%">Delaware, United States</font></td></tr></table></div><div><font><br></font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.1
<SEQUENCE>5
<FILENAME>fsly-123123x10kex231.htm
<DESCRIPTION>EX-23.1
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2024 Workiva -->
<title>Document</title></head><body><div id="i680a0328fce8405aaab8f4b7bbf119aa_1"></div><div style="min-height:90pt;width:100%"><div style="text-align:right"><font><br></font></div><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">Exhibit 23.1</font></div></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">CONSENT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">We consent to the incorporation by reference in Registration Statement Nos. 333-273627, 333-249495 and 333-242370 on Form S-3ASR and Registration Statement Nos. 333-231558, 333-237655, 333-249504, 333-253745, 333-263191 and 333-270026 on Form S-8 of our reports dated February&#160;21, 2024, relating to the financial statements of Fastly, Inc. and the effectiveness of Fastly. Inc.'s internal control over financial reporting appearing in this Annual Report on Form 10-K for the year ended December&#160;31, 2023.</font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#47;s&#47; Deloitte &#38; Touche LLP</font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">San Francisco, California</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">February&#160;21, 2024</font></div><div><font><br></font></div><div><font><br></font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>6
<FILENAME>fsly-123123x10kex311.htm
<DESCRIPTION>EX-31.1
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2024 Workiva -->
<title>Document</title></head><body><div id="if477088aceca4efc883a9e5cf9611854_1"></div><div style="min-height:54pt;width:100%"><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:98.900%"></td><td style="width:0.1%"></td></tr><tr style="height:5pt"><td colspan="3" style="border-bottom:2pt solid #000000;padding:0 1pt"></td></tr></table></div><div><font><br></font></div></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Exhibit 31.1</font></div><div style="margin-top:18pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CERTIFICATION PURSUANT TO</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">RULES 13a-14(a) AND 15d-14(a) UNDER THE SECURITIES EXCHANGE ACT OF 1934,</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">AS ADOPTED PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002</font></div><div style="margin-top:12pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">I, Todd Nightingale, certify that&#58;</font></div><div style="margin-top:12pt;padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">I have reviewed this Annual Report on Form 10-K of Fastly, Inc.&#59;</font></div><div style="margin-top:12pt;padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report&#59;</font></div><div style="margin-top:12pt;padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report&#59;</font></div><div style="margin-top:12pt;padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">The registrant&#8217;s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have&#58;</font></div><div style="margin-top:12pt;padding-left:72pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">a.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:11.07pt">Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared&#59;</font></div><div style="margin-top:12pt;padding-left:72pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">b.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles&#59;</font></div><div style="margin-top:12pt;padding-left:72pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">c.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:11.07pt">Evaluated the effectiveness of the registrant's disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation&#59; and</font></div><div style="margin-top:12pt;padding-left:72pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">d.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">Disclosed in this report any change in the registrant's internal control over financial reporting that occurred during the registrant's most recent fiscal quarter (the registrant's fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant's internal control over financial reporting&#59; and</font></div><div style="margin-top:12pt;padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">The registrant's other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant's auditors and the audit committee of the registrant's board of directors (or persons performing the equivalent functions)&#58;</font></div><div style="margin-top:12pt;padding-left:72pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">a.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:11.07pt">All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant's ability to record, process, summarize and report financial information&#59; and</font></div><div style="margin-top:12pt;padding-left:72pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">b.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant's internal control over financial reporting.</font></div><div style="margin-top:12pt;padding-left:72pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:93.898%"><tr><td style="width:1.0%"></td><td style="width:7.140%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:31.863%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.495%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.592%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.592%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:4.129%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.495%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:40.896%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.598%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 21, 2024</font></td><td colspan="3" style="background-color:#fefefe;padding:0 1pt"></td><td colspan="3" style="background-color:#fefefe;padding:0 1pt"></td><td colspan="3" style="background-color:#fefefe;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt 2px 3.25pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">By&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; Todd Nightingale</font></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="15" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Todd Nightingale</font></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="15" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chief Executive Officer</font></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div><font><br></font></div><div style="height:54pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>7
<FILENAME>fsly-123123x10kex312.htm
<DESCRIPTION>EX-31.2
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2024 Workiva -->
<title>Document</title></head><body><div id="i2d0c95e7ae4b45ba8890f13e9862d8f3_1"></div><div style="min-height:54pt;width:100%"><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:98.900%"></td><td style="width:0.1%"></td></tr><tr style="height:5pt"><td colspan="3" style="border-bottom:2pt solid #000000;padding:0 1pt"></td></tr></table></div><div><font><br></font></div></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Exhibit 31.2</font></div><div style="margin-top:18pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CERTIFICATION PURSUANT TO</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">RULES 13a-14(a) AND 15d-14(a) UNDER THE SECURITIES EXCHANGE ACT OF 1934,</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">AS ADOPTED PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002</font></div><div style="margin-top:12pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">I, Ronald W. Kisling, certify that&#58;</font></div><div style="margin-top:12pt;padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">I have reviewed this Annual Report on Form 10-K of Fastly, Inc.&#59;</font></div><div style="margin-top:12pt;padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report&#59;</font></div><div style="margin-top:12pt;padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report&#59;</font></div><div style="margin-top:12pt;padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">The registrant&#8217;s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have&#58;</font></div><div style="margin-top:12pt;padding-left:72pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">a.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:11.07pt">Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared&#59;</font></div><div style="margin-top:12pt;padding-left:72pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">b.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles&#59;</font></div><div style="margin-top:12pt;padding-left:72pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">c.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:11.07pt">Evaluated the effectiveness of the registrant's disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation&#59; and</font></div><div style="margin-top:12pt;padding-left:72pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">d.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">Disclosed in this report any change in the registrant's internal control over financial reporting that occurred during the registrant's most recent fiscal quarter (the registrant's fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant's internal control over financial reporting&#59; and</font></div><div style="margin-top:12pt;padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">The registrant's other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant's auditors and the audit committee of the registrant's board of directors (or persons performing the equivalent functions)&#58;</font></div><div style="margin-top:12pt;padding-left:72pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">a.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:11.07pt">All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant's ability to record, process, summarize and report financial information&#59; and</font></div><div style="margin-top:12pt;padding-left:72pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">b.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant's internal control over financial reporting.</font></div><div style="margin-top:5pt;padding-left:2.25pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.107%"><tr><td style="width:1.0%"></td><td style="width:6.857%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:29.981%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.254%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.550%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.550%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.854%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.254%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:43.945%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.555%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 21, 2024</font></td><td colspan="3" style="background-color:#fefefe;padding:0 1pt"></td><td colspan="3" style="background-color:#fefefe;padding:0 1pt"></td><td colspan="3" style="background-color:#fefefe;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt 2px 3.25pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">By&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; Ronald W. Kisling</font></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="15" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-top:12pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ronald W. Kisling</font></div></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="15" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chief Financial Officer</font></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div><font><br></font></div><div style="height:54pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>8
<FILENAME>fsly-123123x10kex321.htm
<DESCRIPTION>EX-32.1
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2024 Workiva -->
<title>Document</title></head><body><div id="ibf41efe3b9ab4b4cbd971f2f214e1713_1"></div><div style="min-height:54pt;width:100%"><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:98.900%"></td><td style="width:0.1%"></td></tr><tr style="height:5pt"><td colspan="3" style="border-bottom:2pt solid #000000;padding:0 1pt"></td></tr></table></div><div><font><br></font></div></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Exhibit 32.1</font></div><div style="margin-top:18pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CERTIFICATION PURSUANT TO</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">18 U.S.C. SECTION 1350, AS ADOPTED PURSUANT TO</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</font></div><div style="margin-top:12pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In connection with the Annual Report of Fastly, Inc. (the &#34;Company&#8221;) on Form 10-K for the year ended December&#160;31, 2023 as filed with the Securities and Exchange Commission on the date hereof (the &#8220;Report&#8221;), I certify, pursuant to 18 U.S.C. &#167; 1350, as adopted pursuant to &#167; 906 of the Sarbanes-Oxley Act of 2002, that, to the best of my knowledge&#58;</font></div><div style="margin-top:12pt;padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">The Report fully complies with the requirements of Section 13(a) or Section 15(d) of the Securities Exchange Act of 1934, as amended&#59; and</font></div><div style="margin-top:12pt;padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</font></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.255%"><tr><td style="width:1.0%"></td><td style="width:6.246%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:28.885%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.646%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.697%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.547%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:44.627%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.552%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 21, 2024</font></td><td colspan="3" style="background-color:#fefefe;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt 2px 3.25pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">By&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; Todd Nightingale</font></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="9" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Todd Nightingale</font></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="9" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chief Executive Officer</font></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div><font><br></font></div><div style="height:54pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.2
<SEQUENCE>9
<FILENAME>fsly-123123x10kex322.htm
<DESCRIPTION>EX-32.2
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2024 Workiva -->
<title>Document</title></head><body><div id="i0437603308f64fb59b914940f75d40ae_1"></div><div style="min-height:54pt;width:100%"><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:98.900%"></td><td style="width:0.1%"></td></tr><tr style="height:5pt"><td colspan="3" style="border-bottom:2pt solid #000000;padding:0 1pt"></td></tr></table></div><div><font><br></font></div></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Exhibit 32.2</font></div><div style="margin-top:18pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CERTIFICATION PURSUANT TO</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">18 U.S.C. SECTION 1350, AS ADOPTED PURSUANT TO</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</font></div><div style="margin-top:12pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In connection with the Annual Report of Fastly, Inc. (the &#8220;Company&#8221;) on Form 10-K for the year ended December&#160;31, 2023 as filed with the Securities and Exchange Commission on the date hereof (the &#8220;Report&#8221;), I certify, pursuant to 18 U.S.C. &#167; 1350, as adopted pursuant to &#167; 906 of the Sarbanes-Oxley Act of 2002, that, to the best of my knowledge&#58;</font></div><div style="margin-top:12pt;padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">The Report fully complies with the requirements of Section 13(a) or Section 15(d) of the Securities Exchange Act of 1934, as amended&#59; and</font></div><div style="margin-top:12pt;padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</font></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.255%"><tr><td style="width:1.0%"></td><td style="width:7.295%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:33.832%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.549%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.697%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.547%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:44.627%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.553%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 21, 2024</font></td><td colspan="3" style="background-color:#fefefe;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt 2px 3.25pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">By&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; Ronald W. Kisling</font></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="9" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-top:12pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ronald W. Kisling</font></div></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="9" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chief Financial Officer</font></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div><font><br></font></div><div style="height:54pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-97.1
<SEQUENCE>10
<FILENAME>ex971incentivecompensation.htm
<DESCRIPTION>EX-97.1
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2024 Workiva -->
<title>Document</title></head><body><div id="i84f3fe977428483bb8f7422984955167_1"></div><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div><font><br></font></div><div style="margin-bottom:11pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Fastly, Inc.</font></div><div style="margin-bottom:11pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Incentive Compensation Recoupment Policy</font></div><div style="margin-bottom:11pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">1.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%;padding-left:27.75pt">Introduction</font></div><div style="margin-bottom:11pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">The Compensation Committee (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:100%">Compensation Committee</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8221;) of the Board of Directors (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:100%">Board</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8221;) of Fastly, Inc. a Delaware corporation (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:100%">Company</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8221;), has determined that it is in the best interests of the Company and its stockholders to adopt this Incentive Compensation Recoupment Policy (this &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:100%">Policy</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8221;) providing for the Company&#8217;s recoupment of Recoverable Incentive Compensation that is received by Covered Officers of the Company under certain circumstances. Certain capitalized terms used in this Policy have the meanings given to such terms in Section 3 below.</font></div><div style="margin-bottom:11pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">This Policy is designed to comply with, and shall be interpreted to be consistent with, Section 10D of the Exchange Act, Rule 10D-1 promulgated thereunder (&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:100%">Rule 10D-1</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8221;) and Section 303A.14 of the New York Stock Exchange Listed Company Manual (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:100%">Listing Standards</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8221;).</font></div><div style="margin-bottom:11pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">2.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%;padding-left:27.75pt">Effective Date</font></div><div style="margin-bottom:11pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">This Policy shall apply to all Incentive Compensation that is received by a Covered Officer on or after October 2, 2023 (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:100%">Effective Date</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8221;). Incentive Compensation is deemed &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:100%">received</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8221; in the Company&#8217;s fiscal period in which the Financial Reporting Measure specified in the Incentive Compensation award is attained, even if the payment or grant of such Incentive Compensation occurs after the end of that period.</font></div><div style="margin-bottom:11pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">3.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%;padding-left:27.75pt">Definitions</font></div><div style="margin-bottom:11pt;text-align:justify;text-indent:40.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:100%">Accounting Restatement</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8221; means an accounting restatement that the Company is required to prepare due to the material noncompliance of the Company with any financial reporting requirement under the securities laws, including any required accounting restatement to correct an error in previously issued financial statements that is material to the previously issued financial statements, or that would result in a material misstatement if the error were corrected in the current period or left uncorrected in the current period.</font></div><div style="margin-bottom:11pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:100%">Accounting Restatement Date</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8221; means the earlier to occur of (a) the date that the Board, a committee of the Board authorized to take such action, or the officer or officers of the Company authorized to take such action if Board action is not required, concludes, or reasonably should have concluded, that the Company is required to prepare an Accounting Restatement, or (b) the date that a court, regulator or other legally authorized body directs the Company to prepare an Accounting Restatement.</font></div><div style="margin-bottom:11pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:100%">Administrator</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8221; means the Compensation Committee or, in the absence of such committee, the Board.</font></div><div style="margin-bottom:11pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:100%">Code</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8221; means the U.S. Internal Revenue Code of 1986, as amended, and the regulations promulgated thereunder.</font></div><div style="margin-bottom:11pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:100%">Covered Officer</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8221; means each current and former Executive Officer.</font></div><div style="margin-bottom:11pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:100%">Exchange</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8221; means the New York Stock Exchange. </font></div><div style="margin-bottom:11pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:100%">Exchange Act</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8221; means the U.S. Securities Exchange Act of 1934, as amended.</font></div><div style="margin-bottom:11pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:100%">Executive Officer</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8221; means the Company&#8217;s president, principal financial officer, principal accounting officer (or if there is no such accounting officer, the controller), any vice-president of the Company in charge of a principal business unit, division, or function (such as sales, administration, or finance), any other officer who performs a policy-making function, or any other person who performs </font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:11pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">similar policy-making functions for the Company. Executive officers of the Company&#8217;s parent(s) or subsidiaries are deemed executive officers of the Company if they perform such policy-making functions for the Company. Policy-making function is not intended to include policy-making functions that are not significant. Identification of an executive officer for purposes of this Policy would include at a minimum executive officers identified pursuant to Item 401(b) of Regulation S-K promulgated under the Exchange Act.</font></div><div style="margin-bottom:11pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:100%">Financial Reporting Measures</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8221; means measures that are determined and presented in accordance with the accounting principles used in preparing the Company&#8217;s financial statements, and any measures derived wholly or in part from such measures, including Company stock price and total stockholder return (&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:100%">TSR</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8221;). A measure need not be presented in the Company&#8217;s financial statements or included in a filing with the SEC in order to be a Financial Reporting Measure.</font></div><div style="margin-bottom:11pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:100%">Incentive Compensation</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8221; means any compensation that is granted, earned or vested based wholly or in part upon the attainment of a Financial Reporting Measure. </font></div><div style="margin-bottom:11pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:100%">Lookback Period</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8221; means the three completed fiscal years immediately preceding the Accounting Restatement Date, as well as any transition period (resulting from a change in the Company&#8217;s fiscal year) within or immediately following those three completed fiscal years (except that a transition period of at least nine months shall count as a completed fiscal year). Notwithstanding the foregoing, the Lookback Period shall not include fiscal years completed prior to the Effective Date. </font></div><div style="margin-bottom:11pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:100%">Recoverable Incentive Compensation</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8221; means Incentive Compensation received by a Covered Officer during the Lookback Period that exceeds the amount of Incentive Compensation that would have been received had such amount been determined based on the Accounting Restatement, computed without regard to any taxes paid (</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:400;line-height:100%">i.e.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">, on a gross basis without regarding to tax withholdings and other deductions). For any compensation plans or programs that take into account Incentive Compensation, the amount of Recoverable Incentive Compensation for purposes of this Policy shall include, without limitation, the amount contributed to any notional account based on Recoverable Incentive Compensation and any earnings to date on that notional amount. For any Incentive Compensation that is based on stock price or TSR, where the Recoverable Incentive Compensation is not subject to mathematical recalculation directly from the information in an Accounting Restatement, the Administrator will determine the amount of Recoverable Incentive Compensation based on a reasonable estimate of the effect of the Accounting Restatement on the stock price or TSR upon which the Incentive Compensation was received. The Company shall maintain documentation of the determination of that reasonable estimate and provide such documentation to the Exchange in accordance with the Listing Standards.</font></div><div style="margin-bottom:11pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:100%">SEC</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8221; means the U.S. Securities and Exchange Commission.</font></div><div style="margin-bottom:11pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">4.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%;padding-left:27.75pt">Recoupment</font></div><div style="margin-bottom:11pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">(a)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%;padding-left:23.18pt">Applicability of Policy. </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">This Policy applies to Incentive Compensation received by a Covered Officer (i) after beginning services as an Executive Officer, (ii) who served as an Executive Officer at any time during the performance period for such Incentive Compensation, (iii) while the Company had a class of securities listed on a national securities exchange or a national securities association, and (iv)&#160;during the Lookback Period. </font></div><div style="margin-bottom:11pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">(b)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%;padding-left:22.57pt">Recoupment Generally.  </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Pursuant to the provisions of this Policy, if there is an Accounting Restatement, the Company must reasonably promptly recoup the full amount of the Recoverable Incentive Compensation, unless the conditions of one or more subsections of Section 4(c) of this Policy are met and the Compensation Committee, or, if such committee does not consist solely of independent directors, a majority of the independent directors serving on the Board, has made a determination that recoupment would be impracticable. Recoupment is required regardless of whether the Covered Officer engaged in any misconduct and regardless of fault, and the Company&#8217;s obligation to recoup Recoverable Incentive Compensation is not dependent on whether or when any restated financial statements are filed.  </font></div><div style="margin-bottom:11pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">(c)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%;padding-left:23.8pt">Impracticability of Recovery.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"> Recoupment may be determined to be impracticable if, and only if&#58;</font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">2</font></div><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:11pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(i)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:25.63pt">the direct expense paid to a third party to assist in enforcing this Policy would exceed the amount of the applicable Recoverable Incentive Compensation&#59; provided that, before concluding that it would be impracticable to recover any amount of Recoverable Incentive Compensation based on expense of enforcement, the Company shall make a reasonable attempt to recover such Recoverable Incentive Compensation, document such reasonable attempt(s) to recover, and provide that documentation to the Exchange in accordance with the Listing Standards&#59; or</font></div><div style="margin-bottom:11pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(ii)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;padding-left:22.58pt">recoupment of the applicable Recoverable Incentive Compensation would likely cause an otherwise tax-qualified retirement plan, under which benefits are broadly available to employees of the Company, to fail to meet the requirements of Code Section 401(a)(13) or Code Section 411(a) and regulations thereunder.</font></div><div style="margin-bottom:11pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">(d)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%;padding-left:22.57pt">Sources of Recoupment.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">  To the extent permitted by applicable law, the Administrator shall, in its sole discretion, determine the timing and method for recouping Recoverable Incentive Compensation hereunder, provided that such recoupment is undertaken reasonably promptly. The Administrator may, in its discretion, seek recoupment from a Covered Officer from any of the following sources or a combination thereof, whether the applicable compensation was approved, awarded, granted, payable or paid to the Covered Officer prior to, on or after the Effective Date&#58; (i) direct repayment of Recoverable Incentive Compensation previously paid to the Covered Officer&#59; (ii) cancelling prior cash or equity-based awards (whether vested or unvested and whether paid or unpaid)&#59; (iii) cancelling or offsetting against any planned future cash or equity-based awards&#59; (iv) forfeiture of deferred compensation, subject to compliance with Code Section 409A&#59; and (v) any other method authorized by applicable law or contract. Subject to compliance with any applicable law, the Administrator may effectuate recoupment under this Policy from any amount otherwise payable to the Covered Officer, including amounts payable to such individual under any otherwise applicable Company plan or program, </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:400;line-height:100%">e.g.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">, base salary, bonuses or commissions and compensation previously deferred by the Covered Officer. Notwithstanding anything to the contrary in any employment, equity plan, equity award, severance benefit plan, or other individual agreement applicable to a Covered Officer, any recoupment of compensation pursuant to this Policy shall not constitute an event, condition or action taken by the Company for purposes of a Covered Officer&#8217;s resignation for &#8220;Good Reason&#8221; (or similar concept, each as may be defined in the applicable plan or agreement). The Administrator need not utilize the same method of recovery for all Covered Officers or with respect to all types of Recoverable Incentive Compensation.</font></div><div style="margin-bottom:11pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">(e)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%;padding-left:23.8pt">No Indemnification of Covered Officers.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"> Notwithstanding any indemnification agreement, applicable insurance policy or any other agreement or provision of the Company&#8217;s certificate of incorporation or bylaws to the contrary, no Covered Officer shall be entitled to indemnification or advancement of expenses in connection with any enforcement of this Policy by the Company, including paying or reimbursing such Covered Officer for insurance premiums to cover potential obligations to the Company under this Policy.</font></div><div style="margin-bottom:11pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">(f)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%;padding-left:25.02pt">Indemnification of Administrator.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"> Any members of the Administrator, and any other members of the Board who assist in the administration of this Policy, shall not be personally liable for any action, determination or interpretation made with respect to this Policy and shall be indemnified by the Company to the fullest extent under applicable law and Company policy with respect to any such action, determination or interpretation. The foregoing sentence shall not limit any other rights to indemnification of the members of the Board under applicable law or Company policy.</font></div><div style="margin-bottom:11pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">5.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%;padding-left:27.75pt">Administration</font></div><div style="margin-bottom:11pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Except as specifically set forth herein, this Policy shall be administered by the Administrator. The Administrator shall have full and final authority to make any and all determinations required under this Policy.  Any determination by the Administrator with respect to this Policy shall be final, conclusive and binding on all interested parties and need not be uniform with respect to each individual covered by this Policy. In carrying out the administration of this Policy, the Administrator is authorized and directed to consult with the full Board or such other committees of the Board as may be necessary or appropriate as to matters within the scope of such other committee&#8217;s responsibility and authority. Subject to applicable law, the Administrator may authorize and empower any officer or employee of the Company to take any and all actions that the Administrator, in its sole discretion, deems necessary or appropriate to carry out </font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">3</font></div><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:11pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">the purpose and intent of this Policy (other than with respect to any recovery under this Policy involving such officer or employee).</font></div><div style="margin-bottom:11pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">6.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%;padding-left:27.75pt">Severability</font></div><div style="margin-bottom:11pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">If any provision of this Policy or the application of any such provision to a Covered Officer shall be adjudicated to be invalid, illegal or unenforceable in any respect, such invalidity, illegality or unenforceability shall not affect any other provisions of this Policy, and the invalid, illegal or unenforceable provisions shall be deemed amended to the minimum extent necessary to render any such provision or application enforceable.</font></div><div style="margin-bottom:11pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">7.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%;padding-left:27.75pt">No Impairment of Other Remedies</font></div><div style="margin-bottom:11pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Nothing contained in this Policy, and no recoupment or recovery as contemplated herein, shall limit any claims, damages or other legal remedies the Company or any of its affiliates may have against a Covered Officer arising out of or resulting from any actions or omissions by the Covered Officer. This Policy does not preclude the Company from taking any other action to enforce a Covered Officer&#8217;s obligations to the Company, including, without limitation, termination of employment and&#47;or institution of civil proceedings. This Policy is in addition, without duplication except as required by law, to the requirements of Section 304 of the Sarbanes-Oxley Act of 2002 that are applicable to the Company&#8217;s Chief Executive Officer and Chief Financial Officer and to any other compensation recoupment policy and&#47;or similar provisions in any employment, equity plan, equity award, or other individual agreement, to which the Company is a party or which the Company has adopted or may adopt and maintain from time to time.</font></div><div style="margin-bottom:11pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">8.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%;padding-left:27.75pt">Amendment&#59; Termination</font></div><div style="margin-bottom:11pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">The Administrator may amend, terminate or replace this Policy or any portion of this Policy at any time and from time to time in its sole discretion. The Administrator shall amend this Policy as it deems necessary to comply with applicable law or any Listing Standard.</font></div><div style="margin-bottom:11pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">9.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%;padding-left:27.75pt">Successors</font></div><div style="margin-bottom:11pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">This Policy shall be binding and enforceable against all Covered Officers and, to the extent required by Rule 10D-1 and&#47;or the applicable Listing Standards, their beneficiaries, heirs, executors, administrators or other legal representatives.</font></div><div style="margin-bottom:11pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">10.&#160;&#160;&#160;&#160;Required Filings</font></div><div style="margin-bottom:11pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#160;&#160;&#160;&#160;The Company shall make any disclosures and filings with respect to this Policy that are required by law, including as required by the SEC.</font></div><div style="margin-bottom:11pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">*&#160;&#160;&#160;&#160;*&#160;&#160;&#160;&#160;*&#160;&#160;&#160;&#160;*&#160;&#160;&#160;&#160;*</font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">4</font></div><div><font><br></font></div></div></div><div id="i84f3fe977428483bb8f7422984955167_4"></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div style="text-align:right"><font><br></font></div></div><div style="margin-bottom:11pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Fastly, Inc.</font></div><div style="margin-bottom:11pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Incentive Compensation Recoupment Policy</font></div><div style="margin-bottom:11pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Form of Executive Acknowledgment</font></div><div style="margin-bottom:11pt;text-align:justify"><font><br></font></div><div style="margin-bottom:11pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">I, the undersigned, agree and acknowledge that I am bound by, and subject to, the Fastly, Inc. Incentive Compensation Recoupment Policy, as may be amended, restated, supplemented or otherwise modified from time to time (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:100%">Policy</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8221;). In the event of any inconsistency between the Policy and the terms of any employment agreement, offer letter or other individual agreement with Fastly, Inc. (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:100%">Company</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#8221;) to which I am a party, or the terms of any compensation plan, program or agreement, whether or not written, under which any compensation has been granted, awarded, earned or paid to me, the terms of the Policy shall govern.</font></div><div style="margin-bottom:11pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">In the event that the Administrator (as defined in the Policy) determines that any compensation granted, awarded, earned or paid to me must be forfeited or reimbursed to the Company pursuant to the Policy, I will promptly take any action necessary to effectuate such forfeiture and&#47;or reimbursement. I further agree and acknowledge that I am not entitled to indemnification, and hereby waive any right to advancement of expenses, in connection with any enforcement of the Policy by the Company.</font></div><div style="margin-bottom:11pt;text-align:justify"><font><br></font></div><div style="margin-bottom:11pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Agreed and Acknowledged&#58;</font></div><div style="margin-bottom:11pt;text-align:justify"><font><br></font></div><div style="margin-bottom:11pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;text-decoration:underline">&#160;&#160;&#160;&#160;</font></div><div style="margin-bottom:11pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Name&#58; </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;text-decoration:underline">&#160;&#160;&#160;&#160;</font></div><div style="margin-bottom:11pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Title&#58; </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;text-decoration:underline">&#160;&#160;&#160;&#160;</font></div><div style="margin-bottom:11pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Date&#58; </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%;text-decoration:underline">&#160;&#160;&#160;&#160;</font></div><div style="margin-bottom:11pt;text-align:justify"><font><br></font></div><div style="margin-bottom:11pt;text-align:justify"><font><br></font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>11
<FILENAME>fsly-20231231.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2024 Workiva-->
<!--r:0811f168-84e9-4938-b9eb-eec18ec6ef5f,g:2dd75f08-7fdf-4aeb-9387-1f61559612c6-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:fsly="http://fastly.com/20231231" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dtr-types1="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://fastly.com/20231231">
  <xs:import namespace="http://fasb.org/srt/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd"/>
  <xs:import namespace="http://fasb.org/us-gaap/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd"/>
  <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="http://www.xbrl.org/2003/xlink-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/dtr/type/2020-01-21" schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd"/>
  <xs:import namespace="http://www.xbrl.org/dtr/type/2022-03-31" schemaLocation="https://www.xbrl.org/dtr/type/2022-03-31/types.xsd"/>
  <xs:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/country/2023" schemaLocation="https://xbrl.sec.gov/country/2023/country-2023.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/dei/2023" schemaLocation="https://xbrl.sec.gov/dei/2023/dei-2023.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/ecd/2023" schemaLocation="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd"/>
  <xs:annotation>
    <xs:appinfo>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="fsly-20231231_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="fsly-20231231_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="fsly-20231231_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="fsly-20231231_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:type="simple"/>
      <link:roleType id="CoverPage" roleURI="http://fastly.com/role/CoverPage">
        <link:definition>0000001 - Document - Cover Page</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AuditInformation" roleURI="http://fastly.com/role/AuditInformation">
        <link:definition>0000002 - Document - Audit Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CONSOLIDATEDBALANCESHEETS" roleURI="http://fastly.com/role/CONSOLIDATEDBALANCESHEETS">
        <link:definition>0000003 - Statement - CONSOLIDATED BALANCE SHEETS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CONSOLIDATEDBALANCESHEETSParenthetical" roleURI="http://fastly.com/role/CONSOLIDATEDBALANCESHEETSParenthetical">
        <link:definition>0000004 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CONSOLIDATEDSTATEMENTSOFOPERATIONS" roleURI="http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS">
        <link:definition>0000005 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVELOSS" roleURI="http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVELOSS">
        <link:definition>0000006 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" roleURI="http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY">
        <link:definition>0000007 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS&#8217; EQUITY</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CONSOLIDATEDSTATEMENTSOFCASHFLOWS" roleURI="http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS">
        <link:definition>0000008 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="NatureofBusiness" roleURI="http://fastly.com/role/NatureofBusiness">
        <link:definition>0000009 - Disclosure - Nature of Business</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPolicies" roleURI="http://fastly.com/role/SummaryofSignificantAccountingPolicies">
        <link:definition>0000010 - Disclosure - Summary of Significant Accounting Policies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Revenue" roleURI="http://fastly.com/role/Revenue">
        <link:definition>0000011 - Disclosure - Revenue</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InvestmentsandFairValueMeasurements" roleURI="http://fastly.com/role/InvestmentsandFairValueMeasurements">
        <link:definition>0000012 - Disclosure - Investments and Fair Value Measurements</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BusinessCombinations" roleURI="http://fastly.com/role/BusinessCombinations">
        <link:definition>0000013 - Disclosure - Business Combinations</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BalanceSheetInformation" roleURI="http://fastly.com/role/BalanceSheetInformation">
        <link:definition>0000014 - Disclosure - Balance Sheet Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Leases" roleURI="http://fastly.com/role/Leases">
        <link:definition>0000015 - Disclosure - Leases</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="GoodwillandIntangibleAssets" roleURI="http://fastly.com/role/GoodwillandIntangibleAssets">
        <link:definition>0000016 - Disclosure - Goodwill and Intangible Assets</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DebtInstruments" roleURI="http://fastly.com/role/DebtInstruments">
        <link:definition>0000017 - Disclosure - Debt Instruments</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CommitmentsandContingencies" roleURI="http://fastly.com/role/CommitmentsandContingencies">
        <link:definition>0000018 - Disclosure - Commitments and Contingencies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquity" roleURI="http://fastly.com/role/StockholdersEquity">
        <link:definition>0000019 - Disclosure - Stockholders&#8217; Equity</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="NetLossPerShareAttributabletoCommonStockholders" roleURI="http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholders">
        <link:definition>0000020 - Disclosure - Net Loss Per Share Attributable to Common Stockholders</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxes" roleURI="http://fastly.com/role/IncomeTaxes">
        <link:definition>0000021 - Disclosure - Income Taxes</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InformationAboutRevenueandGeographicAreas" roleURI="http://fastly.com/role/InformationAboutRevenueandGeographicAreas">
        <link:definition>0000022 - Disclosure - Information About Revenue and Geographic Areas</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SubsequentEvent" roleURI="http://fastly.com/role/SubsequentEvent">
        <link:definition>0000023 - Disclosure - Subsequent Event</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesPolicies" roleURI="http://fastly.com/role/SummaryofSignificantAccountingPoliciesPolicies">
        <link:definition>9954471 - Disclosure - Summary of Significant Accounting Policies (Policies)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesTables" roleURI="http://fastly.com/role/SummaryofSignificantAccountingPoliciesTables">
        <link:definition>9954472 - Disclosure - Summary of Significant Accounting Policies (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenueTables" roleURI="http://fastly.com/role/RevenueTables">
        <link:definition>9954473 - Disclosure - Revenue (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InvestmentsandFairValueMeasurementsTables" roleURI="http://fastly.com/role/InvestmentsandFairValueMeasurementsTables">
        <link:definition>9954474 - Disclosure - Investments and Fair Value Measurements (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BusinessCombinationsTables" roleURI="http://fastly.com/role/BusinessCombinationsTables">
        <link:definition>9954475 - Disclosure - Business Combinations (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BalanceSheetInformationTables" roleURI="http://fastly.com/role/BalanceSheetInformationTables">
        <link:definition>9954476 - Disclosure - Balance Sheet Information (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesTables" roleURI="http://fastly.com/role/LeasesTables">
        <link:definition>9954477 - Disclosure - Leases (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="GoodwillandIntangibleAssetsTables" roleURI="http://fastly.com/role/GoodwillandIntangibleAssetsTables">
        <link:definition>9954478 - Disclosure - Goodwill and Intangible Assets (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DebtInstrumentsTables" roleURI="http://fastly.com/role/DebtInstrumentsTables">
        <link:definition>9954479 - Disclosure - Debt Instruments (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CommitmentsandContingenciesTables" roleURI="http://fastly.com/role/CommitmentsandContingenciesTables">
        <link:definition>9954480 - Disclosure - Commitments and Contingencies (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityTables" roleURI="http://fastly.com/role/StockholdersEquityTables">
        <link:definition>9954481 - Disclosure - Stockholders' Equity (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="NetLossPerShareAttributabletoCommonStockholdersTables" roleURI="http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersTables">
        <link:definition>9954482 - Disclosure - Net Loss Per Share Attributable to Common Stockholders (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesTables" roleURI="http://fastly.com/role/IncomeTaxesTables">
        <link:definition>9954483 - Disclosure - Income Taxes (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InformationAboutRevenueandGeographicAreasTables" roleURI="http://fastly.com/role/InformationAboutRevenueandGeographicAreasTables">
        <link:definition>9954484 - Disclosure - Information About Revenue and Geographic Areas (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="NatureofBusinessDetails" roleURI="http://fastly.com/role/NatureofBusinessDetails">
        <link:definition>9954485 - Disclosure - Nature of Business (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesConcentrationsofCreditRiskDetails" roleURI="http://fastly.com/role/SummaryofSignificantAccountingPoliciesConcentrationsofCreditRiskDetails">
        <link:definition>9954486 - Disclosure - Summary of Significant Accounting Policies - Concentrations of Credit Risk (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesRestrictedCashDetails" roleURI="http://fastly.com/role/SummaryofSignificantAccountingPoliciesRestrictedCashDetails">
        <link:definition>9954487 - Disclosure - Summary of Significant Accounting Policies - Restricted Cash (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesIncrementalCoststoObtainaContractWithCustomerDetails" roleURI="http://fastly.com/role/SummaryofSignificantAccountingPoliciesIncrementalCoststoObtainaContractWithCustomerDetails">
        <link:definition>9954488 - Disclosure - Summary of Significant Accounting Policies - Incremental Costs to Obtain a Contract With Customer (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesScheduleofPropertyandEquipmentDetails" roleURI="http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofPropertyandEquipmentDetails">
        <link:definition>9954489 - Disclosure - Summary of Significant Accounting Policies - Schedule of Property and Equipment (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesInternalUseSoftwareDevelopmentCostsDetails" roleURI="http://fastly.com/role/SummaryofSignificantAccountingPoliciesInternalUseSoftwareDevelopmentCostsDetails">
        <link:definition>9954490 - Disclosure - Summary of Significant Accounting Policies - Internal-Use Software Development Costs (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesGoodwillNarrativeDetails" roleURI="http://fastly.com/role/SummaryofSignificantAccountingPoliciesGoodwillNarrativeDetails">
        <link:definition>9954491 - Disclosure - Summary of Significant Accounting Policies - Goodwill Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesScheduleofIntangibleAssetsDetails" roleURI="http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofIntangibleAssetsDetails">
        <link:definition>9954492 - Disclosure - Summary of Significant Accounting Policies - Schedule of Intangible Assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesCostofRevenueDetails" roleURI="http://fastly.com/role/SummaryofSignificantAccountingPoliciesCostofRevenueDetails">
        <link:definition>9954493 - Disclosure - Summary of Significant Accounting Policies - Cost of Revenue (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesAdvertisingExpenseDetails" roleURI="http://fastly.com/role/SummaryofSignificantAccountingPoliciesAdvertisingExpenseDetails">
        <link:definition>9954494 - Disclosure - Summary of Significant Accounting Policies - Advertising Expense (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesAccountingforStockBasedCompensationDetails" roleURI="http://fastly.com/role/SummaryofSignificantAccountingPoliciesAccountingforStockBasedCompensationDetails">
        <link:definition>9954495 - Disclosure - Summary of Significant Accounting Policies - Accounting for Stock-Based Compensation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenueRevenuebyGeographicAreaDetails" roleURI="http://fastly.com/role/RevenueRevenuebyGeographicAreaDetails">
        <link:definition>9954496 - Disclosure - Revenue - Revenue by Geographic Area (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenueNarrativeDetails" roleURI="http://fastly.com/role/RevenueNarrativeDetails">
        <link:definition>9954497 - Disclosure - Revenue - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenueRevenuebyCustomerTypeDetails" roleURI="http://fastly.com/role/RevenueRevenuebyCustomerTypeDetails">
        <link:definition>9954498 - Disclosure - Revenue - Revenue by Customer Type (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenueContractAssetsandLiabilitiesDetails" roleURI="http://fastly.com/role/RevenueContractAssetsandLiabilitiesDetails">
        <link:definition>9954499 - Disclosure - Revenue - Contract Assets and Liabilities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenueRemainingPerformanceObligationDetails" roleURI="http://fastly.com/role/RevenueRemainingPerformanceObligationDetails">
        <link:definition>9954500 - Disclosure - Revenue - Remaining Performance Obligation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenueRemainingPerformanceObligationDetails_1" roleURI="http://fastly.com/role/RevenueRemainingPerformanceObligationDetails_1">
        <link:definition>9954500 - Disclosure - Revenue - Remaining Performance Obligation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenueCoststoObtainContractsDetails" roleURI="http://fastly.com/role/RevenueCoststoObtainContractsDetails">
        <link:definition>9954501 - Disclosure - Revenue - Costs to Obtain Contracts (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails" roleURI="http://fastly.com/role/InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails">
        <link:definition>9954502 - Disclosure - Investments and Fair Value Measurements - Cash, Cash Equivalent and Marketable Securities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InvestmentsandFairValueMeasurementsAvailableForSaleInvestmentsDetails" roleURI="http://fastly.com/role/InvestmentsandFairValueMeasurementsAvailableForSaleInvestmentsDetails">
        <link:definition>9954503 - Disclosure - Investments and Fair Value Measurements - Available-For-Sale Investments (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InvestmentsandFairValueMeasurementsNarrativeDetails" roleURI="http://fastly.com/role/InvestmentsandFairValueMeasurementsNarrativeDetails">
        <link:definition>9954504 - Disclosure - Investments and Fair Value Measurements - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails" roleURI="http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails">
        <link:definition>9954505 - Disclosure - Investments and Fair Value Measurements - Assets and Liabilities at Fair Value (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BusinessCombinationsNarrativeDetails" roleURI="http://fastly.com/role/BusinessCombinationsNarrativeDetails">
        <link:definition>9954506 - Disclosure - Business Combinations - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BusinessCombinationsScheduleofIdentifiableFiniteLivedIntangibleAssetsDetails" roleURI="http://fastly.com/role/BusinessCombinationsScheduleofIdentifiableFiniteLivedIntangibleAssetsDetails">
        <link:definition>9954507 - Disclosure - Business Combinations - Schedule of Identifiable Finite-Lived Intangible Assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BalanceSheetInformationAllowanceforCreditLossesDetails" roleURI="http://fastly.com/role/BalanceSheetInformationAllowanceforCreditLossesDetails">
        <link:definition>9954508 - Disclosure - Balance Sheet Information - Allowance for Credit Losses (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BalanceSheetInformationPropertyandequipmentDetails" roleURI="http://fastly.com/role/BalanceSheetInformationPropertyandequipmentDetails">
        <link:definition>9954509 - Disclosure - Balance Sheet Information - Property and equipment (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BalanceSheetInformationNarrativeDetails" roleURI="http://fastly.com/role/BalanceSheetInformationNarrativeDetails">
        <link:definition>9954510 - Disclosure - Balance Sheet Information - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BalanceSheetInformationOtherAssetsDetails" roleURI="http://fastly.com/role/BalanceSheetInformationOtherAssetsDetails">
        <link:definition>9954511 - Disclosure - Balance Sheet Information - Other Assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BalanceSheetInformationAccruedExpensesDetails" roleURI="http://fastly.com/role/BalanceSheetInformationAccruedExpensesDetails">
        <link:definition>9954512 - Disclosure - Balance Sheet Information - Accrued Expenses (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BalanceSheetInformationOtherCurrentLiabilitiesDetails" roleURI="http://fastly.com/role/BalanceSheetInformationOtherCurrentLiabilitiesDetails">
        <link:definition>9954513 - Disclosure - Balance Sheet Information - Other Current Liabilities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BalanceSheetInformationAccumulatedOtherComprehensiveIncomeLossDetails" roleURI="http://fastly.com/role/BalanceSheetInformationAccumulatedOtherComprehensiveIncomeLossDetails">
        <link:definition>9954514 - Disclosure - Balance Sheet Information - Accumulated Other Comprehensive Income (Loss) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesNarrativeDetails" roleURI="http://fastly.com/role/LeasesNarrativeDetails">
        <link:definition>9954515 - Disclosure - Leases - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesScheduleofLeaseCostDetails" roleURI="http://fastly.com/role/LeasesScheduleofLeaseCostDetails">
        <link:definition>9954516 - Disclosure - Leases - Schedule of Lease Cost (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesScheduleofOtherInformationDetails" roleURI="http://fastly.com/role/LeasesScheduleofOtherInformationDetails">
        <link:definition>9954517 - Disclosure - Leases - Schedule of Other Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesScheduleofLeaseLiabilityMaturityDetails" roleURI="http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails">
        <link:definition>9954518 - Disclosure - Leases - Schedule of Lease Liability Maturity (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesScheduleofLeaseLiabilityMaturityDetails_1" roleURI="http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails_1">
        <link:definition>9954518 - Disclosure - Leases - Schedule of Lease Liability Maturity (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="GoodwillandIntangibleAssetsScheduleofChangesintheCarryingAmountofGoodwillDetails" roleURI="http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofChangesintheCarryingAmountofGoodwillDetails">
        <link:definition>9954519 - Disclosure - Goodwill and Intangible Assets - Schedule of Changes in the Carrying Amount of Goodwill (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="GoodwillandIntangibleAssetsNarrativeDetails" roleURI="http://fastly.com/role/GoodwillandIntangibleAssetsNarrativeDetails">
        <link:definition>9954520 - Disclosure - Goodwill and Intangible Assets - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="GoodwillandIntangibleAssetsScheduleofIntangibleAssetsNetDetails" roleURI="http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofIntangibleAssetsNetDetails">
        <link:definition>9954521 - Disclosure - Goodwill and Intangible Assets - Schedule of Intangible Assets, Net (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="GoodwillandIntangibleAssetsScheduleofExpectedAmortizationExpenseofIntangibleAssetsDetails" roleURI="http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofExpectedAmortizationExpenseofIntangibleAssetsDetails">
        <link:definition>9954522 - Disclosure - Goodwill and Intangible Assets - Schedule of Expected Amortization Expense of Intangible Assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DebtInstrumentsSeniorSecuredCreditFacilitiesAgreementDetails" roleURI="http://fastly.com/role/DebtInstrumentsSeniorSecuredCreditFacilitiesAgreementDetails">
        <link:definition>9954523 - Disclosure - Debt Instruments - Senior Secured Credit Facilities Agreement (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DebtInstrumentsConvertibleSeniorNotesDetails" roleURI="http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails">
        <link:definition>9954524 - Disclosure - Debt Instruments - Convertible Senior Notes (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DebtInstrumentsScheduleofOutstandingDebtDetails" roleURI="http://fastly.com/role/DebtInstrumentsScheduleofOutstandingDebtDetails">
        <link:definition>9954525 - Disclosure - Debt Instruments - Schedule of Outstanding Debt (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DebtInstrumentsNarrativeDetails" roleURI="http://fastly.com/role/DebtInstrumentsNarrativeDetails">
        <link:definition>9954526 - Disclosure - Debt Instruments - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CommitmentsandContingenciesScheduleofPurchaseCommitmentsDetails" roleURI="http://fastly.com/role/CommitmentsandContingenciesScheduleofPurchaseCommitmentsDetails">
        <link:definition>9954527 - Disclosure - Commitments and Contingencies - Schedule of Purchase Commitments (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CommitmentsandContingenciesNarrativeDetails" roleURI="http://fastly.com/role/CommitmentsandContingenciesNarrativeDetails">
        <link:definition>9954528 - Disclosure - Commitments and Contingencies - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityCommonStockandPreferredStockDetails" roleURI="http://fastly.com/role/StockholdersEquityCommonStockandPreferredStockDetails">
        <link:definition>9954529 - Disclosure - Stockholders' Equity - Common Stock and Preferred Stock (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityEquityIncentivePlansDetails" roleURI="http://fastly.com/role/StockholdersEquityEquityIncentivePlansDetails">
        <link:definition>9954530 - Disclosure - Stockholders' Equity - Equity Incentive Plans (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityStockOptionsNarrativeDetails" roleURI="http://fastly.com/role/StockholdersEquityStockOptionsNarrativeDetails">
        <link:definition>9954531 - Disclosure - Stockholders' Equity - Stock Options Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityStockOptionActivityDetails" roleURI="http://fastly.com/role/StockholdersEquityStockOptionActivityDetails">
        <link:definition>9954532 - Disclosure - Stockholders' Equity - Stock Option Activity (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityFairValueAssumptionsStockOptionsDetails" roleURI="http://fastly.com/role/StockholdersEquityFairValueAssumptionsStockOptionsDetails">
        <link:definition>9954533 - Disclosure - Stockholders' Equity - Fair Value Assumptions - Stock Options (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityEarlyExerciseofStockOptionsDetails" roleURI="http://fastly.com/role/StockholdersEquityEarlyExerciseofStockOptionsDetails">
        <link:definition>9954534 - Disclosure - Stockholders' Equity - Early Exercise of Stock Options (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails" roleURI="http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails">
        <link:definition>9954535 - Disclosure - Stockholders' Equity - Restricted Stock Units (Revest shares), Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityScheduleofRSURSAPSUandMPSUActivityDetails" roleURI="http://fastly.com/role/StockholdersEquityScheduleofRSURSAPSUandMPSUActivityDetails">
        <link:definition>9954536 - Disclosure - Stockholders' Equity - Schedule of RSU, RSA , PSU and MPSU Activity (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityPerformanceBasedRestrictedStockUnitsPSUsDetails" roleURI="http://fastly.com/role/StockholdersEquityPerformanceBasedRestrictedStockUnitsPSUsDetails">
        <link:definition>9954537 - Disclosure - Stockholders' Equity - Performance Based Restricted Stock Units (PSUs) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityMPSUDetails" roleURI="http://fastly.com/role/StockholdersEquityMPSUDetails">
        <link:definition>9954538 - Disclosure - Stockholders' Equity - MPSU (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityESPPDetails" roleURI="http://fastly.com/role/StockholdersEquityESPPDetails">
        <link:definition>9954539 - Disclosure - Stockholders' Equity - ESPP (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityFairValueAssumptionsESPPDetails" roleURI="http://fastly.com/role/StockholdersEquityFairValueAssumptionsESPPDetails">
        <link:definition>9954540 - Disclosure - Stockholders' Equity - Fair Value Assumptions - ESPP (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityEquityAwardsModificationDetails" roleURI="http://fastly.com/role/StockholdersEquityEquityAwardsModificationDetails">
        <link:definition>9954541 - Disclosure - Stockholders' Equity - Equity Awards Modification (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityStockbasedCompensationExpenseDetails" roleURI="http://fastly.com/role/StockholdersEquityStockbasedCompensationExpenseDetails">
        <link:definition>9954542 - Disclosure - Stockholders' Equity - Stock-based Compensation Expense (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityCommonStockWarrantLiabilitiesDetails" roleURI="http://fastly.com/role/StockholdersEquityCommonStockWarrantLiabilitiesDetails">
        <link:definition>9954543 - Disclosure - Stockholders' Equity - Common Stock Warrant Liabilities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityEarlyExerciseofStockDetails" roleURI="http://fastly.com/role/StockholdersEquityEarlyExerciseofStockDetails">
        <link:definition>9954544 - Disclosure - Stockholders' Equity - Early Exercise of Stock (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="NetLossPerShareAttributabletoCommonStockholdersScheduleofComputationofBasicandDilutedNetLossPerShareofCommonStockDetails" roleURI="http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofComputationofBasicandDilutedNetLossPerShareofCommonStockDetails">
        <link:definition>9954545 - Disclosure - Net Loss Per Share Attributable to Common Stockholders - Schedule of Computation of Basic and Diluted Net Loss Per Share of Common Stock (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="NetLossPerShareAttributabletoCommonStockholdersScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails" roleURI="http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails">
        <link:definition>9954546 - Disclosure - Net Loss Per Share Attributable to Common Stockholders - Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesLossBeforeIncomeTaxesDetails" roleURI="http://fastly.com/role/IncomeTaxesLossBeforeIncomeTaxesDetails">
        <link:definition>9954547 - Disclosure - Income Taxes - Loss Before Income Taxes (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesIncomeTaxExpenseDetails" roleURI="http://fastly.com/role/IncomeTaxesIncomeTaxExpenseDetails">
        <link:definition>9954548 - Disclosure - Income Taxes - Income Tax Expense (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesEffectiveTaxRateReconciliationDetails" roleURI="http://fastly.com/role/IncomeTaxesEffectiveTaxRateReconciliationDetails">
        <link:definition>9954549 - Disclosure - Income Taxes - Effective Tax Rate Reconciliation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesNarrativeDetails" roleURI="http://fastly.com/role/IncomeTaxesNarrativeDetails">
        <link:definition>9954550 - Disclosure - Income Taxes - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails" roleURI="http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails">
        <link:definition>9954551 - Disclosure - Income Taxes - Deferred Tax Assets and Liabilities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesUnrecognizedTaxBenefitsDetails" roleURI="http://fastly.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails">
        <link:definition>9954552 - Disclosure - Income Taxes - Unrecognized Tax Benefits (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InformationAboutRevenueandGeographicAreasDetails" roleURI="http://fastly.com/role/InformationAboutRevenueandGeographicAreasDetails">
        <link:definition>9954553 - Disclosure - Information About Revenue and Geographic Areas (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
    </xs:appinfo>
  </xs:annotation>
  <xs:element id="fsly_BusinessCombinationConsiderationTransferredHoldback" abstract="false" name="BusinessCombinationConsiderationTransferredHoldback" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_AdvancesOnPropertyAndEquipment" abstract="false" name="AdvancesOnPropertyAndEquipment" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_OperatingVariableAndShortTermLeaseCosts" abstract="false" name="OperatingVariableAndShortTermLeaseCosts" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_DebtConversionScenarioTwoMember" abstract="true" name="DebtConversionScenarioTwoMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="fsly_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherAssetsNet" abstract="false" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherAssetsNet" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_AgencyBondsMember" abstract="true" name="AgencyBondsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fsly_DebtInstrumentRepurchaseTransactionCosts" abstract="false" name="DebtInstrumentRepurchaseTransactionCosts" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_GoodwillIntangibleAssetsAndLongLivedAssetsPolicyPolicyTextBlock" abstract="false" name="GoodwillIntangibleAssetsAndLongLivedAssetsPolicyPolicyTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:textBlockItemType"/>
  <xs:element id="fsly_RichardDanielsMember" abstract="true" name="RichardDanielsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fsly_NumberOfCofoundersWithSharesSubjectToRevesting" abstract="false" name="NumberOfCofoundersWithSharesSubjectToRevesting" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/>
  <xs:element id="fsly_StockIssuedDuringPeriodSharesRestrictedStockAwardBonusProgram" abstract="false" name="StockIssuedDuringPeriodSharesRestrictedStockAwardBonusProgram" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/>
  <xs:element id="fsly_BandwidthWithThirdPartyNetworkProvidersMember" abstract="true" name="BandwidthWithThirdPartyNetworkProvidersMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="fsly_StockIssuedDuringPeriodSharesAcquisitionSharesHeldBackForRestrictedStockAwards" abstract="false" name="StockIssuedDuringPeriodSharesAcquisitionSharesHeldBackForRestrictedStockAwards" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/>
  <xs:element id="fsly_FinanceLeaseCost" abstract="false" name="FinanceLeaseCost" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_GlitchIncMember" abstract="true" name="GlitchIncMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="fsly_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDisallowedExecutiveCompensationPercent" abstract="false" name="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDisallowedExecutiveCompensationPercent" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="fsly_DeferredTaxLiabilitiesStateTaxes" abstract="false" name="DeferredTaxLiabilitiesStateTaxes" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_ForeignGovernmentAndSupranationalSecuritiesMember" abstract="true" name="ForeignGovernmentAndSupranationalSecuritiesMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="fsly_PerformanceTargetPayoutLevelThreeMember" abstract="true" name="PerformanceTargetPayoutLevelThreeMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="fsly_VestingOfEarlyExercisedStockOptions" abstract="false" name="VestingOfEarlyExercisedStockOptions" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_PropertyPlantAndEquipmentAdvancePaymentsMember" abstract="true" name="PropertyPlantAndEquipmentAdvancePaymentsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fsly_PerformanceTargetPayoutLevelOneMember" abstract="true" name="PerformanceTargetPayoutLevelOneMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="fsly_AdvancesForPaymentsOfPropertyPlantAndEquipment" abstract="false" name="AdvancesForPaymentsOfPropertyPlantAndEquipment" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_SecuredOvernightFinanceRateMember" abstract="true" name="SecuredOvernightFinanceRateMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fsly_BusinessCombinationConsiderationTransferredHoldbackDistributions" abstract="false" name="BusinessCombinationConsiderationTransferredHoldbackDistributions" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_BrettShirkMember" abstract="true" name="BrettShirkMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fsly_StockIssuedDuringPeriodValueVestingOfEarlyExercisedStockOptions" abstract="false" name="StockIssuedDuringPeriodValueVestingOfEarlyExercisedStockOptions" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_PerformanceTargetPayoutLevelTwoMember" abstract="true" name="PerformanceTargetPayoutLevelTwoMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="fsly_CommonStockSharesRetired" abstract="false" name="CommonStockSharesRetired" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/>
  <xs:element id="fsly_A2022BonusProgramMember" abstract="true" name="A2022BonusProgramMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="fsly_PaymentsForEarlySaleOfRestrictedShares" abstract="false" name="PaymentsForEarlySaleOfRestrictedShares" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_RevenueRemainingPerformanceObligationAmountAccrued" abstract="false" name="RevenueRemainingPerformanceObligationAmountAccrued" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_ShareBasedPaymentArrangementPlanModificationNumberOfAwardsAffected" abstract="false" name="ShareBasedPaymentArrangementPlanModificationNumberOfAwardsAffected" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/>
  <xs:element id="fsly_ShareBasedPaymentArrangementPerformanceTargetDomain" abstract="true" name="ShareBasedPaymentArrangementPerformanceTargetDomain" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="fsly_BusinessCombinationUnvestedStockOptionAssumedShares" abstract="false" name="BusinessCombinationUnvestedStockOptionAssumedShares" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/>
  <xs:element id="fsly_ProceedsFromEarlySaleOfRestrictedShares" abstract="false" name="ProceedsFromEarlySaleOfRestrictedShares" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_DeferredTaxAssetLeaseLiability" abstract="false" name="DeferredTaxAssetLeaseLiability" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_A2023And2022BonusProgramMember" abstract="true" name="A2023And2022BonusProgramMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment" abstract="false" name="AssetImpairmentChargesExcludingOperatingLeaseImpairment" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_AccruedComputerAndNetworkingEquipment" abstract="false" name="AccruedComputerAndNetworkingEquipment" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_A2026ConvertibleNotesMember" abstract="true" name="A2026ConvertibleNotesMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="fsly_RonaldKislingMember" abstract="true" name="RonaldKislingMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fsly_SignalSciences2014EquityStockOptionsPlanMember" abstract="true" name="SignalSciences2014EquityStockOptionsPlanMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="fsly_DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts" abstract="false" name="DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_DebtCovenantAdjustedQuickRatioMinimumThresholdToTriggerRevenueGrowthCovenantRequirement" abstract="false" name="DebtCovenantAdjustedQuickRatioMinimumThresholdToTriggerRevenueGrowthCovenantRequirement" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:pureItemType"/>
  <xs:element id="fsly_StockSoldDuringPeriodValueRestrictedStockAward" abstract="false" name="StockSoldDuringPeriodValueRestrictedStockAward" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_DebtConversionScenarioOneMember" abstract="true" name="DebtConversionScenarioOneMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="fsly_NumberOfEquityIncentivePlans" abstract="false" name="NumberOfEquityIncentivePlans" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/>
  <xs:element id="fsly_PaymentForBusinessIncurredButNotYetPaid" abstract="false" name="PaymentForBusinessIncurredButNotYetPaid" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_SignalSciencesCorpMember" abstract="true" name="SignalSciencesCorpMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="fsly_CountriesNotSeparatelyRecognizedMember" abstract="true" name="CountriesNotSeparatelyRecognizedMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="fsly_RevenueWithCustomerDurationOfContracts" abstract="false" name="RevenueWithCustomerDurationOfContracts" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="fsly_CustomerArrangementMember" abstract="true" name="CustomerArrangementMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="fsly_SalesAndExciseTaxPayableCurrentExcludingNormalActivity" abstract="false" name="SalesAndExciseTaxPayableCurrentExcludingNormalActivity" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_NewRevenueMethodologyMember" abstract="true" name="NewRevenueMethodologyMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="fsly_ColocationServicesMember" abstract="true" name="ColocationServicesMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="fsly_A2019EquityIncentivePlanMember" abstract="true" name="A2019EquityIncentivePlanMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedAndSoldNumber" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedAndSoldNumber" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/>
  <xs:element id="fsly_BusinessCombinationConsiderationTransferredHoldbackCurrent" abstract="false" name="BusinessCombinationConsiderationTransferredHoldbackCurrent" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_ShareBasedPaymentArrangementPerformanceTargetAxis" abstract="true" name="ShareBasedPaymentArrangementPerformanceTargetAxis" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrldt:dimensionItem" type="xbrli:stringItemType"/>
  <xs:element id="fsly_SVBRevolverMember" abstract="true" name="SVBRevolverMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="fsly_DebtCovenantAdjustedQuickRatioMinimumRequirement" abstract="false" name="DebtCovenantAdjustedQuickRatioMinimumRequirement" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:pureItemType"/>
  <xs:element id="fsly_StockIssuedDuringPeriodValueRestrictedStockAwardBonusProgram" abstract="false" name="StockIssuedDuringPeriodValueRestrictedStockAwardBonusProgram" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_BonusPSUsMember" abstract="true" name="BonusPSUsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="fsly_SharesHeldBackForRestrictedStockAwardsRevestingPeriod" abstract="false" name="SharesHeldBackForRestrictedStockAwardsRevestingPeriod" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="fsly_DeferredPaymentForBusinessCombinations" abstract="false" name="DeferredPaymentForBusinessCombinations" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_InternetProtocolAddressesMember" abstract="true" name="InternetProtocolAddressesMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestingOfEarlyExercisedStockOptionsNumberOfShares" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestingOfEarlyExercisedStockOptionsNumberOfShares" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/>
  <xs:element id="fsly_DebtInstrumentFaceAmountAdditionalPrincipalIssuable" abstract="false" name="DebtInstrumentFaceAmountAdditionalPrincipalIssuable" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsProceedsFromNonvestedSharesSold" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsProceedsFromNonvestedSharesSold" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_StockIssuedDuringPeriodSharesBonusProgram" abstract="false" name="StockIssuedDuringPeriodSharesBonusProgram" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/>
  <xs:element id="fsly_MarketBasedPerformanceStockAwardsMember" abstract="true" name="MarketBasedPerformanceStockAwardsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="fsly_NonenterpriseCustomersMember" abstract="true" name="NonenterpriseCustomersMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="fsly_StockSoldDuringPeriodSharesRestrictedStockAward" abstract="false" name="StockSoldDuringPeriodSharesRestrictedStockAward" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/>
  <xs:element id="fsly_DebtConversionScenarioFourMember" abstract="true" name="DebtConversionScenarioFourMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="fsly_PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet" abstract="false" name="PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_DebtConversionScenarioThreeMember" abstract="true" name="DebtConversionScenarioThreeMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="fsly_LiabilityClassifiedAwardsMember" abstract="true" name="LiabilityClassifiedAwardsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="fsly_ReceivableRelatedToSharesOfRestrictedStock" abstract="false" name="ReceivableRelatedToSharesOfRestrictedStock" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_BusinessCombinationConsiderationTransferredHoldbackPeriodForDistribution" abstract="false" name="BusinessCombinationConsiderationTransferredHoldbackPeriodForDistribution" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="fsly_CommonStockVotingRightsNumberofVotesAllowedToEachShare" abstract="false" name="CommonStockVotingRightsNumberofVotesAllowedToEachShare" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/>
  <xs:element id="fsly_EnterpriseCustomersMember" abstract="true" name="EnterpriseCustomersMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="fsly_LesseeOperatingLeaseLeaseNotYetCommencedCommitmentAmount" abstract="false" name="LesseeOperatingLeaseLeaseNotYetCommencedCommitmentAmount" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_EnterpriseCustomerThreshold" abstract="false" name="EnterpriseCustomerThreshold" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_LeasesWeightedAverageDiscountRateAbstract" abstract="true" name="LeasesWeightedAverageDiscountRateAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="fsly_DeploymentsOfPrepaidCapitalEquipment" abstract="false" name="DeploymentsOfPrepaidCapitalEquipment" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_OperatingExpenseCommitmentsMember" abstract="true" name="OperatingExpenseCommitmentsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="fsly_ShareBasedPaymentArrangementNoncashAmountCapitalizedIntoInternalUseSoftware" abstract="false" name="ShareBasedPaymentArrangementNoncashAmountCapitalizedIntoInternalUseSoftware" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_LondonInterbankOfferedRateMember" abstract="true" name="LondonInterbankOfferedRateMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fsly_NoncashChangeInOperatingLeaseAssetsAndLiabilities" abstract="false" name="NoncashChangeInOperatingLeaseAssetsAndLiabilities" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_CostOfRevenueCommitmentMember" abstract="true" name="CostOfRevenueCommitmentMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="fsly_StockIssuedDuringPeriodValueBonusProgram" abstract="false" name="StockIssuedDuringPeriodValueBonusProgram" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_DebtInstrumentBasisSpreadAdjustment" abstract="false" name="DebtInstrumentBasisSpreadAdjustment" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="fsly_SubleasesRemainingLeaseTerms" abstract="false" name="SubleasesRemainingLeaseTerms" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="fsly_PriorRevenueMethodologyMember" abstract="true" name="PriorRevenueMethodologyMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="fsly_IncreaseDecreaseInOperatingLeaseLiabilities" abstract="false" name="IncreaseDecreaseInOperatingLeaseLiabilities" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodGrantDateFairValue" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodGrantDateFairValue" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_PayoutOfPerformanceBasedRestrictedStockUnitsPercentage" abstract="false" name="PayoutOfPerformanceBasedRestrictedStockUnitsPercentage" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types1:percentItemType"/>
  <xs:element id="fsly_SharebasedCompensationArrangementbySharebasedPaymentAwardStockPlanOfferingPeriod" abstract="false" name="SharebasedCompensationArrangementbySharebasedPaymentAwardStockPlanOfferingPeriod" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="fsly_RevestSharesMember" abstract="true" name="RevestSharesMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="fsly_A20112019EquityIncentivePlanMember" abstract="true" name="A20112019EquityIncentivePlanMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="fsly_CustomerOneMember" abstract="true" name="CustomerOneMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="fsly_WeightedAverageRemainingLeaseTermAbstract" abstract="true" name="WeightedAverageRemainingLeaseTermAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="fsly_OperatingMarkets" abstract="false" name="OperatingMarkets" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/>
  <xs:element id="fsly_ShareBasedPaymentArrangementPlanModificationExerciseValueOfAwardsAffected" abstract="false" name="ShareBasedPaymentArrangementPlanModificationExerciseValueOfAwardsAffected" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_AuditInformationAbstract" abstract="true" name="AuditInformationAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="fsly_AccruedColocationAndBandwidthCosts" abstract="false" name="AccruedColocationAndBandwidthCosts" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="fsly_CashCashEquivalentsAndMarketableSecurities" abstract="false" name="CashCashEquivalentsAndMarketableSecurities" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
</xs:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>12
<FILENAME>fsly-20231231_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2024 Workiva-->
<!--r:0811f168-84e9-4938-b9eb-eec18ec6ef5f,g:2dd75f08-7fdf-4aeb-9387-1f61559612c6-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://fastly.com/role/CONSOLIDATEDBALANCESHEETS" xlink:type="simple" xlink:href="fsly-20231231.xsd#CONSOLIDATEDBALANCESHEETS"/>
  <link:calculationLink xlink:role="http://fastly.com/role/CONSOLIDATEDBALANCESHEETS" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_aaab47af-aba3-4cbf-b674-28e01074e2c4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_565102ae-d17b-493e-8019-f80ee9958cad" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_aaab47af-aba3-4cbf-b674-28e01074e2c4" xlink:to="loc_us-gaap_AccountsPayableCurrent_565102ae-d17b-493e-8019-f80ee9958cad" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_d57156ea-f3e2-4770-ad51-8829073ee1b7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_aaab47af-aba3-4cbf-b674-28e01074e2c4" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_d57156ea-f3e2-4770-ad51-8829073ee1b7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesCurrent_c5c5b780-a08c-4cd2-85ab-69421a6a1000" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesCurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_aaab47af-aba3-4cbf-b674-28e01074e2c4" xlink:to="loc_us-gaap_OtherLiabilitiesCurrent_c5c5b780-a08c-4cd2-85ab-69421a6a1000" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityCurrent_ffea5d46-a6e9-41d7-99df-4c2dd62de469" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_aaab47af-aba3-4cbf-b674-28e01074e2c4" xlink:to="loc_us-gaap_FinanceLeaseLiabilityCurrent_ffea5d46-a6e9-41d7-99df-4c2dd62de469" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_4729ed42-c84a-47c0-9162-5911e3d24d3c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_aaab47af-aba3-4cbf-b674-28e01074e2c4" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_4729ed42-c84a-47c0-9162-5911e3d24d3c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_4b9190a2-adc7-48f4-97b3-8b3ca38f3147" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_8667a3e7-c625-4fde-9a1e-08447d0e621d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_4b9190a2-adc7-48f4-97b3-8b3ca38f3147" xlink:to="loc_us-gaap_AssetsCurrent_8667a3e7-c625-4fde-9a1e-08447d0e621d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_4051f00d-9307-4f88-8b68-f227b38b7d7e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_4b9190a2-adc7-48f4-97b3-8b3ca38f3147" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_4051f00d-9307-4f88-8b68-f227b38b7d7e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_45a0e1a4-5dd2-41d9-a38c-733e07fd1b61" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_4b9190a2-adc7-48f4-97b3-8b3ca38f3147" xlink:to="loc_us-gaap_Goodwill_45a0e1a4-5dd2-41d9-a38c-733e07fd1b61" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_18302bfe-5d12-4a92-8071-dc300e12a30d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_4b9190a2-adc7-48f4-97b3-8b3ca38f3147" xlink:to="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_18302bfe-5d12-4a92-8071-dc300e12a30d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_6a9bc2f7-1543-484a-8d9a-4c15dd07af78" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_4b9190a2-adc7-48f4-97b3-8b3ca38f3147" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_6a9bc2f7-1543-484a-8d9a-4c15dd07af78" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_ccb6d5d8-e8b3-432b-9e92-706dba9e9087" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_4b9190a2-adc7-48f4-97b3-8b3ca38f3147" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_ccb6d5d8-e8b3-432b-9e92-706dba9e9087" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MarketableSecuritiesNoncurrent_c3926daf-d36d-4dfb-ae2e-a6562e36172f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecuritiesNoncurrent"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_4b9190a2-adc7-48f4-97b3-8b3ca38f3147" xlink:to="loc_us-gaap_MarketableSecuritiesNoncurrent_c3926daf-d36d-4dfb-ae2e-a6562e36172f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities_af988811-735e-46f4-a829-76dfc65b83b7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_fc50d032-5fa0-4946-a68a-20f69d21860c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_af988811-735e-46f4-a829-76dfc65b83b7" xlink:to="loc_us-gaap_LiabilitiesCurrent_fc50d032-5fa0-4946-a68a-20f69d21860c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtNoncurrent_f58d860f-9686-43a2-81b4-986a4d4781bf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtNoncurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_af988811-735e-46f4-a829-76dfc65b83b7" xlink:to="loc_us-gaap_LongTermDebtNoncurrent_f58d860f-9686-43a2-81b4-986a4d4781bf" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_b979fdba-3fd4-4021-8e4a-228a42791157" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesNoncurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_af988811-735e-46f4-a829-76dfc65b83b7" xlink:to="loc_us-gaap_OtherLiabilitiesNoncurrent_b979fdba-3fd4-4021-8e4a-228a42791157" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityNoncurrent_37823020-0162-4b4d-ab25-8bbafb6ccd56" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_af988811-735e-46f4-a829-76dfc65b83b7" xlink:to="loc_us-gaap_FinanceLeaseLiabilityNoncurrent_37823020-0162-4b4d-ab25-8bbafb6ccd56" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_d892b77f-3a59-4e59-a9a5-1f4f0311cc74" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_af988811-735e-46f4-a829-76dfc65b83b7" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_d892b77f-3a59-4e59-a9a5-1f4f0311cc74" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_01ba8181-7ddf-418e-9f46-55754dc371df" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_01d2ee4f-bdf2-4e0e-b177-edf1585ad694" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_01ba8181-7ddf-418e-9f46-55754dc371df" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_01d2ee4f-bdf2-4e0e-b177-edf1585ad694" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MarketableSecuritiesCurrent_fab722ab-807f-4d2e-ba2c-84efb707c5a6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecuritiesCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_01ba8181-7ddf-418e-9f46-55754dc371df" xlink:to="loc_us-gaap_MarketableSecuritiesCurrent_fab722ab-807f-4d2e-ba2c-84efb707c5a6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_ff8ccf83-02cb-4c73-bd96-0b03aaa77fca" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_01ba8181-7ddf-418e-9f46-55754dc371df" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_ff8ccf83-02cb-4c73-bd96-0b03aaa77fca" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_b56dcb6a-e480-4613-997b-f0840692c7b7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_01ba8181-7ddf-418e-9f46-55754dc371df" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_b56dcb6a-e480-4613-997b-f0840692c7b7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_b5d80aa2-c4b8-4fd9-a9bb-981eed5b50e6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities_5439329a-883d-494e-9619-f5b496890ae2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_b5d80aa2-c4b8-4fd9-a9bb-981eed5b50e6" xlink:to="loc_us-gaap_Liabilities_5439329a-883d-494e-9619-f5b496890ae2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_52584cb5-8cc1-4d4a-9e42-0ca95ced180a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_b5d80aa2-c4b8-4fd9-a9bb-981eed5b50e6" xlink:to="loc_us-gaap_StockholdersEquity_52584cb5-8cc1-4d4a-9e42-0ca95ced180a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingencies_59851ba9-0007-4b0b-ae40-be131cb5a3be" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_b5d80aa2-c4b8-4fd9-a9bb-981eed5b50e6" xlink:to="loc_us-gaap_CommitmentsAndContingencies_59851ba9-0007-4b0b-ae40-be131cb5a3be" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_fdce57ef-bb12-4054-a814-8c4cfb03e2d9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue_70f7e768-08db-4cd6-afe4-2ce6d2407485" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_fdce57ef-bb12-4054-a814-8c4cfb03e2d9" xlink:to="loc_us-gaap_CommonStockValue_70f7e768-08db-4cd6-afe4-2ce6d2407485" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapital_7f61a3a2-d6fc-4291-a2eb-0ad8081494b9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapital"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_fdce57ef-bb12-4054-a814-8c4cfb03e2d9" xlink:to="loc_us-gaap_AdditionalPaidInCapital_7f61a3a2-d6fc-4291-a2eb-0ad8081494b9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_2760be1c-dc4f-45b0-b020-26b21f73e5c5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_fdce57ef-bb12-4054-a814-8c4cfb03e2d9" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_2760be1c-dc4f-45b0-b020-26b21f73e5c5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_e211fb19-451a-4b23-94d5-72dc440fe710" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_fdce57ef-bb12-4054-a814-8c4cfb03e2d9" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_e211fb19-451a-4b23-94d5-72dc440fe710" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS" xlink:type="simple" xlink:href="fsly-20231231.xsd#CONSOLIDATEDSTATEMENTSOFOPERATIONS"/>
  <link:calculationLink xlink:role="http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_22e6da29-2339-4fce-8ad8-3ce1d82ac60e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_efb8164d-34e6-48f7-9248-4bf235755000" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_22e6da29-2339-4fce-8ad8-3ce1d82ac60e" xlink:to="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_efb8164d-34e6-48f7-9248-4bf235755000" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_ed0050df-fe62-48f7-a81d-c441d04ddf51" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_22e6da29-2339-4fce-8ad8-3ce1d82ac60e" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_ed0050df-fe62-48f7-a81d-c441d04ddf51" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_21f89c5b-cb73-46ba-b7e1-4b55ec7f21c2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_22e6da29-2339-4fce-8ad8-3ce1d82ac60e" xlink:to="loc_us-gaap_OperatingIncomeLoss_21f89c5b-cb73-46ba-b7e1-4b55ec7f21c2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InvestmentIncomeInterest_4358d940-77ef-4d2e-96ae-7b13137ac443" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentIncomeInterest"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_22e6da29-2339-4fce-8ad8-3ce1d82ac60e" xlink:to="loc_us-gaap_InvestmentIncomeInterest_4358d940-77ef-4d2e-96ae-7b13137ac443" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestExpense_b041bb97-e5ec-446e-a5c5-580f3c516ab1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense"/>
    <link:calculationArc order="5" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_22e6da29-2339-4fce-8ad8-3ce1d82ac60e" xlink:to="loc_us-gaap_InterestExpense_b041bb97-e5ec-446e-a5c5-580f3c516ab1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_88d3d7b1-bffe-4283-9415-b56c0dfa4ebe" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_c0d14a7f-1dac-4d3f-b118-fcf42a520e74" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_88d3d7b1-bffe-4283-9415-b56c0dfa4ebe" xlink:to="loc_us-gaap_GrossProfit_c0d14a7f-1dac-4d3f-b118-fcf42a520e74" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses_47489530-216b-4970-82fd-c3fdcae1df30" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_88d3d7b1-bffe-4283-9415-b56c0dfa4ebe" xlink:to="loc_us-gaap_OperatingExpenses_47489530-216b-4970-82fd-c3fdcae1df30" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_5554a95c-a8c8-4393-9f95-65ebfac9042b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_ac86d4db-493d-490f-ab1a-8a0cff11df52" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_GrossProfit_5554a95c-a8c8-4393-9f95-65ebfac9042b" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_ac86d4db-493d-490f-ab1a-8a0cff11df52" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfRevenue_538562f1-69f1-4c2a-9f19-d30d5068a5f0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_GrossProfit_5554a95c-a8c8-4393-9f95-65ebfac9042b" xlink:to="loc_us-gaap_CostOfRevenue_538562f1-69f1-4c2a-9f19-d30d5068a5f0" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_c1ab01b8-3602-42f2-af07-f8c2730bfc34" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_3fae0880-ef89-4daa-a936-3c29790dab8b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_c1ab01b8-3602-42f2-af07-f8c2730bfc34" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_3fae0880-ef89-4daa-a936-3c29790dab8b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_94428706-97e2-44b0-a23e-0153b84495d4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_c1ab01b8-3602-42f2-af07-f8c2730bfc34" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_94428706-97e2-44b0-a23e-0153b84495d4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses_81d3f24b-5908-4b4e-99fb-8dfef6022f46" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_bd5a2979-007f-4cc7-8317-65eacb7537b9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingExpenses_81d3f24b-5908-4b4e-99fb-8dfef6022f46" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_bd5a2979-007f-4cc7-8317-65eacb7537b9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingAndMarketingExpense_a11ebce1-9a74-470a-bdb4-7343681d8a95" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpense"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingExpenses_81d3f24b-5908-4b4e-99fb-8dfef6022f46" xlink:to="loc_us-gaap_SellingAndMarketingExpense_a11ebce1-9a74-470a-bdb4-7343681d8a95" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpense_8b043896-60a3-472b-9ce7-7e437fbabc2f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingExpenses_81d3f24b-5908-4b4e-99fb-8dfef6022f46" xlink:to="loc_us-gaap_GeneralAndAdministrativeExpense_8b043896-60a3-472b-9ce7-7e437fbabc2f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment_935dc78b-3aae-431e-b163-f4084f8843c6" xlink:href="fsly-20231231.xsd#fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingExpenses_81d3f24b-5908-4b4e-99fb-8dfef6022f46" xlink:to="loc_fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment_935dc78b-3aae-431e-b163-f4084f8843c6" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVELOSS" xlink:type="simple" xlink:href="fsly-20231231.xsd#CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVELOSS"/>
  <link:calculationLink xlink:role="http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVELOSS" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_c3ced7d9-aae5-438a-9823-fbcfcf80c05b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_d2823ee1-23d2-4f9f-863d-e03075ce0784" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_c3ced7d9-aae5-438a-9823-fbcfcf80c05b" xlink:to="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_d2823ee1-23d2-4f9f-863d-e03075ce0784" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_915ae475-d340-4167-b264-d9dad1d2157c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_c3ced7d9-aae5-438a-9823-fbcfcf80c05b" xlink:to="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_915ae475-d340-4167-b264-d9dad1d2157c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_f8605b2c-7db6-435e-8200-f8bbdb19b422" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_705610a5-df1d-4d89-9edb-317edfdb9dfc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax_f8605b2c-7db6-435e-8200-f8bbdb19b422" xlink:to="loc_us-gaap_NetIncomeLoss_705610a5-df1d-4d89-9edb-317edfdb9dfc" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_95671d31-0ce7-4ecb-bf31-0a33ee6c6fc6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax_f8605b2c-7db6-435e-8200-f8bbdb19b422" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_95671d31-0ce7-4ecb-bf31-0a33ee6c6fc6" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" xlink:type="simple" xlink:href="fsly-20231231.xsd#CONSOLIDATEDSTATEMENTSOFCASHFLOWS"/>
  <link:calculationLink xlink:role="http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_224a2cf8-3746-4c18-b7f0-e92d0bffcbeb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_PaymentsForEarlySaleOfRestrictedShares_028dd513-5751-4a6e-be67-529500de1326" xlink:href="fsly-20231231.xsd#fsly_PaymentsForEarlySaleOfRestrictedShares"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_224a2cf8-3746-4c18-b7f0-e92d0bffcbeb" xlink:to="loc_fsly_PaymentsForEarlySaleOfRestrictedShares_028dd513-5751-4a6e-be67-529500de1326" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromStockOptionsExercised_01561b5e-b3fb-4a1c-85d0-0c3a7da47e25" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromStockOptionsExercised"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_224a2cf8-3746-4c18-b7f0-e92d0bffcbeb" xlink:to="loc_us-gaap_ProceedsFromStockOptionsExercised_01561b5e-b3fb-4a1c-85d0-0c3a7da47e25" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfDebtIssuanceCosts_963a21de-ef4c-4863-a579-a3dbffbf7135" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDebtIssuanceCosts"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_224a2cf8-3746-4c18-b7f0-e92d0bffcbeb" xlink:to="loc_us-gaap_PaymentsOfDebtIssuanceCosts_963a21de-ef4c-4863-a579-a3dbffbf7135" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ProceedsFromEarlySaleOfRestrictedShares_d55e665b-e4da-451a-bb3a-d2dafe3b03c6" xlink:href="fsly-20231231.xsd#fsly_ProceedsFromEarlySaleOfRestrictedShares"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_224a2cf8-3746-4c18-b7f0-e92d0bffcbeb" xlink:to="loc_fsly_ProceedsFromEarlySaleOfRestrictedShares_d55e665b-e4da-451a-bb3a-d2dafe3b03c6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromStockPlans_416d7a3e-ceca-493d-983a-44867cf0cd11" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromStockPlans"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_224a2cf8-3746-4c18-b7f0-e92d0bffcbeb" xlink:to="loc_us-gaap_ProceedsFromStockPlans_416d7a3e-ceca-493d-983a-44867cf0cd11" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeasePrincipalPayments_42968c67-e3cb-4b72-a3d1-95b9781c1958" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeasePrincipalPayments"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_224a2cf8-3746-4c18-b7f0-e92d0bffcbeb" xlink:to="loc_us-gaap_FinanceLeasePrincipalPayments_42968c67-e3cb-4b72-a3d1-95b9781c1958" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromConvertibleDebt_664331ee-724b-4425-b894-1b402d334866" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromConvertibleDebt"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_224a2cf8-3746-4c18-b7f0-e92d0bffcbeb" xlink:to="loc_us-gaap_ProceedsFromConvertibleDebt_664331ee-724b-4425-b894-1b402d334866" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DeferredPaymentForBusinessCombinations_2f842998-4dcc-4e1e-83af-ae8e7b171220" xlink:href="fsly-20231231.xsd#fsly_DeferredPaymentForBusinessCombinations"/>
    <link:calculationArc order="8" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_224a2cf8-3746-4c18-b7f0-e92d0bffcbeb" xlink:to="loc_fsly_DeferredPaymentForBusinessCombinations_2f842998-4dcc-4e1e-83af-ae8e7b171220" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfDebtExtinguishmentCosts_0f9605e1-8a2e-4c65-b68f-1f26882829b1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDebtExtinguishmentCosts"/>
    <link:calculationArc order="9" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_224a2cf8-3746-4c18-b7f0-e92d0bffcbeb" xlink:to="loc_us-gaap_PaymentsOfDebtExtinguishmentCosts_0f9605e1-8a2e-4c65-b68f-1f26882829b1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e9dab860-e9e6-4660-b968-738aedd477ca" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts_11bbdee3-178e-48e8-9ef8-ffba0e897046" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e9dab860-e9e6-4660-b968-738aedd477ca" xlink:to="loc_us-gaap_ProvisionForDoubtfulAccounts_11bbdee3-178e-48e8-9ef8-ffba0e897046" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_IncreaseDecreaseInOperatingLeaseLiabilities_d5dbf490-2eea-4f6a-ae6d-959e09e7d8a6" xlink:href="fsly-20231231.xsd#fsly_IncreaseDecreaseInOperatingLeaseLiabilities"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e9dab860-e9e6-4660-b968-738aedd477ca" xlink:to="loc_fsly_IncreaseDecreaseInOperatingLeaseLiabilities_d5dbf490-2eea-4f6a-ae6d-959e09e7d8a6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_4e34b2d5-7b88-4be6-8a20-7db5d6c27195" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e9dab860-e9e6-4660-b968-738aedd477ca" xlink:to="loc_us-gaap_NetIncomeLoss_4e34b2d5-7b88-4be6-8a20-7db5d6c27195" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_f6c74968-cb78-48ac-9dd7-ee38168aece9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:calculationArc order="4" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e9dab860-e9e6-4660-b968-738aedd477ca" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_f6c74968-cb78-48ac-9dd7-ee38168aece9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_71b83786-e527-4ec7-9b3f-c89478842a38" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e9dab860-e9e6-4660-b968-738aedd477ca" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_71b83786-e527-4ec7-9b3f-c89478842a38" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_b537cccc-15ef-4ed1-b749-adda53a02fcc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e9dab860-e9e6-4660-b968-738aedd477ca" xlink:to="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_b537cccc-15ef-4ed1-b749-adda53a02fcc" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_1d0fd18e-9a66-4c0b-b524-0bdda43c2f53" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e9dab860-e9e6-4660-b968-738aedd477ca" xlink:to="loc_us-gaap_ShareBasedCompensation_1d0fd18e-9a66-4c0b-b524-0bdda43c2f53" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets_b9f5c0e9-38c4-411b-9f21-2ddde8bd12e8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets"/>
    <link:calculationArc order="8" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e9dab860-e9e6-4660-b968-738aedd477ca" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets_b9f5c0e9-38c4-411b-9f21-2ddde8bd12e8" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepreciationNonproduction_f544d7dc-c559-4c19-9868-a7a7493d0502" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationNonproduction"/>
    <link:calculationArc order="9" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e9dab860-e9e6-4660-b968-738aedd477ca" xlink:to="loc_us-gaap_DepreciationNonproduction_f544d7dc-c559-4c19-9868-a7a7493d0502" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_e475b298-7509-41cb-85b6-c2149ef6a253" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:calculationArc order="10" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e9dab860-e9e6-4660-b968-738aedd477ca" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_e475b298-7509-41cb-85b6-c2149ef6a253" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNoncashIncomeExpense_2ac045b5-2a9a-40bd-b874-c1c8c0255106" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNoncashIncomeExpense"/>
    <link:calculationArc order="11" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e9dab860-e9e6-4660-b968-738aedd477ca" xlink:to="loc_us-gaap_OtherNoncashIncomeExpense_2ac045b5-2a9a-40bd-b874-c1c8c0255106" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfFinancingCostsAndDiscounts_33faacc2-fbf1-4768-85ee-c72df62565e5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfFinancingCostsAndDiscounts"/>
    <link:calculationArc order="12" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e9dab860-e9e6-4660-b968-738aedd477ca" xlink:to="loc_us-gaap_AmortizationOfFinancingCostsAndDiscounts_33faacc2-fbf1-4768-85ee-c72df62565e5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostAmortization_3949b0ea-76e0-4c68-84e3-e78e5ee04094" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostAmortization"/>
    <link:calculationArc order="13" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e9dab860-e9e6-4660-b968-738aedd477ca" xlink:to="loc_us-gaap_CapitalizedContractCostAmortization_3949b0ea-76e0-4c68-84e3-e78e5ee04094" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_ed4f3f14-92f6-46bf-a7d0-bc9d139272b5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:calculationArc order="14" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e9dab860-e9e6-4660-b968-738aedd477ca" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_ed4f3f14-92f6-46bf-a7d0-bc9d139272b5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_a6b0ddb4-4fa8-4e1c-9847-709b47b55fa2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
    <link:calculationArc order="15" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e9dab860-e9e6-4660-b968-738aedd477ca" xlink:to="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_a6b0ddb4-4fa8-4e1c-9847-709b47b55fa2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_39a5ed54-08e7-4ce4-bde5-17d1ceb4912f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities"/>
    <link:calculationArc order="16" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e9dab860-e9e6-4660-b968-738aedd477ca" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_39a5ed54-08e7-4ce4-bde5-17d1ceb4912f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_d0d50599-3762-461e-b03f-64f01cc6fb93" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments"/>
    <link:calculationArc order="17" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e9dab860-e9e6-4660-b968-738aedd477ca" xlink:to="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_d0d50599-3762-461e-b03f-64f01cc6fb93" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseImpairmentLoss_9d76e0c6-ac1a-43f3-b6fb-b7f1af340162" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseImpairmentLoss"/>
    <link:calculationArc order="18" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e9dab860-e9e6-4660-b968-738aedd477ca" xlink:to="loc_us-gaap_OperatingLeaseImpairmentLoss_9d76e0c6-ac1a-43f3-b6fb-b7f1af340162" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_f8f010d0-813d-4ba4-b5a6-d8c64edbdfc4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense"/>
    <link:calculationArc order="19" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e9dab860-e9e6-4660-b968-738aedd477ca" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_f8f010d0-813d-4ba4-b5a6-d8c64edbdfc4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_cdd5018c-daa5-49e3-85aa-b1f2c704e509" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:calculationArc order="20" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e9dab860-e9e6-4660-b968-738aedd477ca" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_cdd5018c-daa5-49e3-85aa-b1f2c704e509" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment_ce0377ad-7593-4a91-b082-499baeea112e" xlink:href="fsly-20231231.xsd#fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment"/>
    <link:calculationArc order="21" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e9dab860-e9e6-4660-b968-738aedd477ca" xlink:to="loc_fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment_ce0377ad-7593-4a91-b082-499baeea112e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_e154a5a3-2818-402e-9bf8-732cecacd90f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <link:calculationArc order="22" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e9dab860-e9e6-4660-b968-738aedd477ca" xlink:to="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_e154a5a3-2818-402e-9bf8-732cecacd90f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_0e6822e3-2b37-45a6-b0bb-b4b9c64e564c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_7e988949-4551-4db8-9e51-6131db0a7016" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_0e6822e3-2b37-45a6-b0bb-b4b9c64e564c" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_7e988949-4551-4db8-9e51-6131db0a7016" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashCurrent_480d9f40-bd93-4bdf-860c-c82519297d49" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_0e6822e3-2b37-45a6-b0bb-b4b9c64e564c" xlink:to="loc_us-gaap_RestrictedCashCurrent_480d9f40-bd93-4bdf-860c-c82519297d49" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashEquivalents_3e1fd13b-4877-40e5-88f5-be52bfe48e6f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashEquivalents"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_0e6822e3-2b37-45a6-b0bb-b4b9c64e564c" xlink:to="loc_us-gaap_RestrictedCashEquivalents_3e1fd13b-4877-40e5-88f5-be52bfe48e6f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_a8f7bcf1-2512-44af-9d63-5abd8c7b095c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForSoftware_38700d0d-e5fe-48a1-a275-f56ea3fe4bec" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForSoftware"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_a8f7bcf1-2512-44af-9d63-5abd8c7b095c" xlink:to="loc_us-gaap_PaymentsForSoftware_38700d0d-e5fe-48a1-a275-f56ea3fe4bec" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireShortTermInvestments_7a57bbf3-8e97-4fa6-9046-f57ff7184e9f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireShortTermInvestments"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_a8f7bcf1-2512-44af-9d63-5abd8c7b095c" xlink:to="loc_us-gaap_PaymentsToAcquireShortTermInvestments_7a57bbf3-8e97-4fa6-9046-f57ff7184e9f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_AdvancesForPaymentsOfPropertyPlantAndEquipment_4281f1eb-4b12-43a8-9eb5-29cc4b24d512" xlink:href="fsly-20231231.xsd#fsly_AdvancesForPaymentsOfPropertyPlantAndEquipment"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_a8f7bcf1-2512-44af-9d63-5abd8c7b095c" xlink:to="loc_fsly_AdvancesForPaymentsOfPropertyPlantAndEquipment_4281f1eb-4b12-43a8-9eb5-29cc4b24d512" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_490f6a73-437e-4fb7-a7b5-8205aa5a093b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired"/>
    <link:calculationArc order="4" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_a8f7bcf1-2512-44af-9d63-5abd8c7b095c" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_490f6a73-437e-4fb7-a7b5-8205aa5a093b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_080bb6bc-c4a6-4fd6-aa78-e86ce9a9bfd7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_a8f7bcf1-2512-44af-9d63-5abd8c7b095c" xlink:to="loc_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_080bb6bc-c4a6-4fd6-aa78-e86ce9a9bfd7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_88703875-434b-4747-bcea-7adf5109032b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_a8f7bcf1-2512-44af-9d63-5abd8c7b095c" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_88703875-434b-4747-bcea-7adf5109032b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireIntangibleAssets_9e4e4ffd-d36e-41c5-bcc7-26d460a73348" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireIntangibleAssets"/>
    <link:calculationArc order="7" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_a8f7bcf1-2512-44af-9d63-5abd8c7b095c" xlink:to="loc_us-gaap_PaymentsToAcquireIntangibleAssets_9e4e4ffd-d36e-41c5-bcc7-26d460a73348" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities_71f5a60e-0efe-40a0-b079-b2283428e612" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_a8f7bcf1-2512-44af-9d63-5abd8c7b095c" xlink:to="loc_us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities_71f5a60e-0efe-40a0-b079-b2283428e612" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities_b2f6453b-9d80-4129-8dc5-9cb5c7ee8f9d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities"/>
    <link:calculationArc order="9" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_a8f7bcf1-2512-44af-9d63-5abd8c7b095c" xlink:to="loc_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities_b2f6453b-9d80-4129-8dc5-9cb5c7ee8f9d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_7fb0aa4e-d147-4e4d-b3d3-fbc48fff7f1f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a876fd12-b5a9-4338-9739-a687b7b9dbfc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_7fb0aa4e-d147-4e4d-b3d3-fbc48fff7f1f" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a876fd12-b5a9-4338-9739-a687b7b9dbfc" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_fda2e155-7039-4bef-9814-8513cc51395c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_7fb0aa4e-d147-4e4d-b3d3-fbc48fff7f1f" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_fda2e155-7039-4bef-9814-8513cc51395c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_c5cc1bda-cfbb-40eb-b25e-4e6b3f313c2d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_7fb0aa4e-d147-4e4d-b3d3-fbc48fff7f1f" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_c5cc1bda-cfbb-40eb-b25e-4e6b3f313c2d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_abada72b-b4b0-483b-a92a-6a037ddd5412" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_7fb0aa4e-d147-4e4d-b3d3-fbc48fff7f1f" xlink:to="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_abada72b-b4b0-483b-a92a-6a037ddd5412" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://fastly.com/role/InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails"/>
  <link:calculationLink xlink:role="http://fastly.com/role/InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_fsly_CashCashEquivalentsAndMarketableSecurities_cf257a3d-28e1-4611-a4a6-5782d871e611" xlink:href="fsly-20231231.xsd#fsly_CashCashEquivalentsAndMarketableSecurities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_414fd7df-0524-42c7-ae76-24ee1b8f0161" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_fsly_CashCashEquivalentsAndMarketableSecurities_cf257a3d-28e1-4611-a4a6-5782d871e611" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_414fd7df-0524-42c7-ae76-24ee1b8f0161" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MarketableSecurities_c4d955bc-4330-4ac5-b238-2b61422eaaf4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecurities"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_fsly_CashCashEquivalentsAndMarketableSecurities_cf257a3d-28e1-4611-a4a6-5782d871e611" xlink:to="loc_us-gaap_MarketableSecurities_c4d955bc-4330-4ac5-b238-2b61422eaaf4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MarketableSecurities_1c9fb8c3-494b-4a9c-8c31-616e96398413" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecurities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MarketableSecuritiesCurrent_3b1b9ce6-6c9e-4a3d-988b-680ef16084cd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecuritiesCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_MarketableSecurities_1c9fb8c3-494b-4a9c-8c31-616e96398413" xlink:to="loc_us-gaap_MarketableSecuritiesCurrent_3b1b9ce6-6c9e-4a3d-988b-680ef16084cd" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MarketableSecuritiesNoncurrent_b7bb12a1-f4ea-4fc4-908f-8d302346134f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecuritiesNoncurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_MarketableSecurities_1c9fb8c3-494b-4a9c-8c31-616e96398413" xlink:to="loc_us-gaap_MarketableSecuritiesNoncurrent_b7bb12a1-f4ea-4fc4-908f-8d302346134f" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://fastly.com/role/InvestmentsandFairValueMeasurementsAvailableForSaleInvestmentsDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#InvestmentsandFairValueMeasurementsAvailableForSaleInvestmentsDetails"/>
  <link:calculationLink xlink:role="http://fastly.com/role/InvestmentsandFairValueMeasurementsAvailableForSaleInvestmentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_2b44abcf-fc15-494d-89b5-1389ec8ec1fb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_9cc0c233-9dc4-4c50-aeb0-f77f1cbd342c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_2b44abcf-fc15-494d-89b5-1389ec8ec1fb" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_9cc0c233-9dc4-4c50-aeb0-f77f1cbd342c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_6c65241a-5d00-4512-bac1-53da544f512d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_2b44abcf-fc15-494d-89b5-1389ec8ec1fb" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_6c65241a-5d00-4512-bac1-53da544f512d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_d2c8e943-ed4c-4a42-ba9b-10d8052c5079" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_2b44abcf-fc15-494d-89b5-1389ec8ec1fb" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_d2c8e943-ed4c-4a42-ba9b-10d8052c5079" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails"/>
  <link:calculationLink xlink:role="http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsFairValueDisclosure_71aa380d-d8be-4e87-bdcb-d5260399c0d7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsFairValueDisclosure"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashEquivalentsAtCarryingValue_5563e9b8-9211-420f-95d8-84b387f09695" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashEquivalentsAtCarryingValue"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsFairValueDisclosure_71aa380d-d8be-4e87-bdcb-d5260399c0d7" xlink:to="loc_us-gaap_CashEquivalentsAtCarryingValue_5563e9b8-9211-420f-95d8-84b387f09695" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MarketableSecurities_6a34ccb9-c4ed-45e6-a9c4-f29c7dbda797" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecurities"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsFairValueDisclosure_71aa380d-d8be-4e87-bdcb-d5260399c0d7" xlink:to="loc_us-gaap_MarketableSecurities_6a34ccb9-c4ed-45e6-a9c4-f29c7dbda797" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_1c38a052-5495-4fbd-88bc-58fd61d8ab5c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsFairValueDisclosure_71aa380d-d8be-4e87-bdcb-d5260399c0d7" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_1c38a052-5495-4fbd-88bc-58fd61d8ab5c" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://fastly.com/role/BalanceSheetInformationPropertyandequipmentDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#BalanceSheetInformationPropertyandequipmentDetails"/>
  <link:calculationLink xlink:role="http://fastly.com/role/BalanceSheetInformationPropertyandequipmentDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_e1054a61-281f-439c-ad73-03d42872cb1e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_095ad02b-b49f-4584-ac4f-1ad2f4c503aa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_e1054a61-281f-439c-ad73-03d42872cb1e" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_095ad02b-b49f-4584-ac4f-1ad2f4c503aa" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_e62d13cc-2288-4afb-80dd-e4ba2fdbcd21" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_e1054a61-281f-439c-ad73-03d42872cb1e" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_e62d13cc-2288-4afb-80dd-e4ba2fdbcd21" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://fastly.com/role/BalanceSheetInformationOtherAssetsDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#BalanceSheetInformationOtherAssetsDetails"/>
  <link:calculationLink xlink:role="http://fastly.com/role/BalanceSheetInformationOtherAssetsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_caf622fc-0db0-4fa1-afd6-2e9b1d5eca8d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsMiscellaneousNoncurrent_a7a328ea-c3d4-4e31-a6d1-6b8bcb12f46f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsMiscellaneousNoncurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherAssetsNoncurrent_caf622fc-0db0-4fa1-afd6-2e9b1d5eca8d" xlink:to="loc_us-gaap_OtherAssetsMiscellaneousNoncurrent_a7a328ea-c3d4-4e31-a6d1-6b8bcb12f46f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostNetNoncurrent_17445b04-5efa-49f3-ab86-93ac15dc4b34" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostNetNoncurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherAssetsNoncurrent_caf622fc-0db0-4fa1-afd6-2e9b1d5eca8d" xlink:to="loc_us-gaap_CapitalizedContractCostNetNoncurrent_17445b04-5efa-49f3-ab86-93ac15dc4b34" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_AdvancesOnPropertyAndEquipment_8ae1170b-d958-4ed2-abd6-9f358838ce90" xlink:href="fsly-20231231.xsd#fsly_AdvancesOnPropertyAndEquipment"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherAssetsNoncurrent_caf622fc-0db0-4fa1-afd6-2e9b1d5eca8d" xlink:to="loc_fsly_AdvancesOnPropertyAndEquipment_8ae1170b-d958-4ed2-abd6-9f358838ce90" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://fastly.com/role/BalanceSheetInformationAccruedExpensesDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#BalanceSheetInformationAccruedExpensesDetails"/>
  <link:calculationLink xlink:role="http://fastly.com/role/BalanceSheetInformationAccruedExpensesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_0618ca0c-ce24-490b-860b-7aac51743004" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_AccruedColocationAndBandwidthCosts_175f0c38-4fb4-411b-b145-03eaf3a7399a" xlink:href="fsly-20231231.xsd#fsly_AccruedColocationAndBandwidthCosts"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent_0618ca0c-ce24-490b-860b-7aac51743004" xlink:to="loc_fsly_AccruedColocationAndBandwidthCosts_175f0c38-4fb4-411b-b145-03eaf3a7399a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_0cbb5e6d-d710-45da-8dc9-dcf5aca43168" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent_0618ca0c-ce24-490b-860b-7aac51743004" xlink:to="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_0cbb5e6d-d710-45da-8dc9-dcf5aca43168" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxesPayableCurrent_4ad79923-5ea6-4c4e-9fb1-a71c823a528f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxesPayableCurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent_0618ca0c-ce24-490b-860b-7aac51743004" xlink:to="loc_us-gaap_TaxesPayableCurrent_4ad79923-5ea6-4c4e-9fb1-a71c823a528f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent_3ad8913e-4304-4877-8dff-918c3a0cad0b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAccruedLiabilitiesCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent_0618ca0c-ce24-490b-860b-7aac51743004" xlink:to="loc_us-gaap_OtherAccruedLiabilitiesCurrent_3ad8913e-4304-4877-8dff-918c3a0cad0b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedBonusesCurrent_7749818e-a63a-4e11-a410-ade5e4ed01b4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedBonusesCurrent"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent_0618ca0c-ce24-490b-860b-7aac51743004" xlink:to="loc_us-gaap_AccruedBonusesCurrent_7749818e-a63a-4e11-a410-ade5e4ed01b4" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://fastly.com/role/BalanceSheetInformationOtherCurrentLiabilitiesDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#BalanceSheetInformationOtherCurrentLiabilitiesDetails"/>
  <link:calculationLink xlink:role="http://fastly.com/role/BalanceSheetInformationOtherCurrentLiabilitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesCurrent_caa9eee4-7c41-48e0-ba67-d1bfe3491c06" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_AccruedComputerAndNetworkingEquipment_f3b3b72e-d833-4c1f-bee9-88582dc55a03" xlink:href="fsly-20231231.xsd#fsly_AccruedComputerAndNetworkingEquipment"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherLiabilitiesCurrent_caa9eee4-7c41-48e0-ba67-d1bfe3491c06" xlink:to="loc_fsly_AccruedComputerAndNetworkingEquipment_f3b3b72e-d833-4c1f-bee9-88582dc55a03" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent_ce4918ab-20a6-43ac-b8b4-81c72808459e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherLiabilitiesCurrent_caa9eee4-7c41-48e0-ba67-d1bfe3491c06" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityCurrent_ce4918ab-20a6-43ac-b8b4-81c72808459e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_BusinessCombinationConsiderationTransferredHoldbackCurrent_ef419605-281c-496f-99a1-4ad07d1507dc" xlink:href="fsly-20231231.xsd#fsly_BusinessCombinationConsiderationTransferredHoldbackCurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherLiabilitiesCurrent_caa9eee4-7c41-48e0-ba67-d1bfe3491c06" xlink:to="loc_fsly_BusinessCombinationConsiderationTransferredHoldbackCurrent_ef419605-281c-496f-99a1-4ad07d1507dc" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherSundryLiabilitiesCurrent_87a3c063-b921-4e0e-8f8f-2856192de6e0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherSundryLiabilitiesCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherLiabilitiesCurrent_caa9eee4-7c41-48e0-ba67-d1bfe3491c06" xlink:to="loc_us-gaap_OtherSundryLiabilitiesCurrent_87a3c063-b921-4e0e-8f8f-2856192de6e0" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://fastly.com/role/LeasesScheduleofLeaseCostDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#LeasesScheduleofLeaseCostDetails"/>
  <link:calculationLink xlink:role="http://fastly.com/role/LeasesScheduleofLeaseCostDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_fsly_FinanceLeaseCost_ae3bc067-af3f-4e0f-b65c-62e6ccdc95e8" xlink:href="fsly-20231231.xsd#fsly_FinanceLeaseCost"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseRightOfUseAssetAmortization_c4ceaa6a-f912-4879-8ae4-af2e6b16b57c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_fsly_FinanceLeaseCost_ae3bc067-af3f-4e0f-b65c-62e6ccdc95e8" xlink:to="loc_us-gaap_FinanceLeaseRightOfUseAssetAmortization_c4ceaa6a-f912-4879-8ae4-af2e6b16b57c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseInterestExpense_0e5ee548-2e61-403d-b5af-a814683b23e2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseInterestExpense"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_fsly_FinanceLeaseCost_ae3bc067-af3f-4e0f-b65c-62e6ccdc95e8" xlink:to="loc_us-gaap_FinanceLeaseInterestExpense_0e5ee548-2e61-403d-b5af-a814683b23e2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_OperatingVariableAndShortTermLeaseCosts_ffa613db-66bc-4504-90c6-e646dff8f3e4" xlink:href="fsly-20231231.xsd#fsly_OperatingVariableAndShortTermLeaseCosts"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableLeaseCost_a01291d3-269e-49cb-9906-d12fd70653b6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableLeaseCost"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_fsly_OperatingVariableAndShortTermLeaseCosts_ffa613db-66bc-4504-90c6-e646dff8f3e4" xlink:to="loc_us-gaap_VariableLeaseCost_a01291d3-269e-49cb-9906-d12fd70653b6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseCost_d8a312c6-c407-4b75-af94-2955e4b0d656" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseCost"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_fsly_OperatingVariableAndShortTermLeaseCosts_ffa613db-66bc-4504-90c6-e646dff8f3e4" xlink:to="loc_us-gaap_OperatingLeaseCost_d8a312c6-c407-4b75-af94-2955e4b0d656" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#LeasesScheduleofLeaseLiabilityMaturityDetails"/>
  <link:calculationLink xlink:role="http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDue_f6695e3c-b13a-4f79-b73d-8681987d3cd8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiability_42a97134-61ab-4f63-bb6e-b65edede9941" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiability"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FinanceLeaseLiabilityPaymentsDue_f6695e3c-b13a-4f79-b73d-8681987d3cd8" xlink:to="loc_us-gaap_FinanceLeaseLiability_42a97134-61ab-4f63-bb6e-b65edede9941" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_529359fa-73ea-4a88-abe2-f5a4d9f9f9eb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FinanceLeaseLiabilityPaymentsDue_f6695e3c-b13a-4f79-b73d-8681987d3cd8" xlink:to="loc_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_529359fa-73ea-4a88-abe2-f5a4d9f9f9eb" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_b822ceae-1da1-4286-a3da-4c7cf66fbfc5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_5a93dc32-b59f-4443-be7e-5123bdf9f262" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_b822ceae-1da1-4286-a3da-4c7cf66fbfc5" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_5a93dc32-b59f-4443-be7e-5123bdf9f262" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_d0117897-fbd9-4cea-a866-6ac266dfebf1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_b822ceae-1da1-4286-a3da-4c7cf66fbfc5" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_d0117897-fbd9-4cea-a866-6ac266dfebf1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_1734496e-b429-4d44-b59b-fab2b378e33e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_b822ceae-1da1-4286-a3da-4c7cf66fbfc5" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_1734496e-b429-4d44-b59b-fab2b378e33e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_e7d00fe6-c27a-45a4-a9fc-7a2757137e0c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_b822ceae-1da1-4286-a3da-4c7cf66fbfc5" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_e7d00fe6-c27a-45a4-a9fc-7a2757137e0c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_d11eaacd-3137-486a-8d19-aa906f15a3eb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_b822ceae-1da1-4286-a3da-4c7cf66fbfc5" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_d11eaacd-3137-486a-8d19-aa906f15a3eb" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_a11c4189-f553-4363-91cb-10ae28770b34" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_b822ceae-1da1-4286-a3da-4c7cf66fbfc5" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_a11c4189-f553-4363-91cb-10ae28770b34" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails_1" xlink:type="simple" xlink:href="fsly-20231231.xsd#LeasesScheduleofLeaseLiabilityMaturityDetails_1"/>
  <link:calculationLink xlink:role="http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails_1" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDue_b656ae39-017f-466b-84d5-7a7e3f7a5f10" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive_9be60c4a-a94b-4091-9c1f-ee49ccd16af8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FinanceLeaseLiabilityPaymentsDue_b656ae39-017f-466b-84d5-7a7e3f7a5f10" xlink:to="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive_9be60c4a-a94b-4091-9c1f-ee49ccd16af8" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive_26578ae2-3f41-4cf4-90f5-6d89cbf514b8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FinanceLeaseLiabilityPaymentsDue_b656ae39-017f-466b-84d5-7a7e3f7a5f10" xlink:to="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive_26578ae2-3f41-4cf4-90f5-6d89cbf514b8" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour_fefcafa2-f903-444b-a8cb-85e2f55fec8a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FinanceLeaseLiabilityPaymentsDue_b656ae39-017f-466b-84d5-7a7e3f7a5f10" xlink:to="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour_fefcafa2-f903-444b-a8cb-85e2f55fec8a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_1943f467-d493-44e7-8355-0337373b02c2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FinanceLeaseLiabilityPaymentsDue_b656ae39-017f-466b-84d5-7a7e3f7a5f10" xlink:to="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_1943f467-d493-44e7-8355-0337373b02c2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_2287d6e8-3258-46a1-a9fd-c407850b769e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FinanceLeaseLiabilityPaymentsDue_b656ae39-017f-466b-84d5-7a7e3f7a5f10" xlink:to="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_2287d6e8-3258-46a1-a9fd-c407850b769e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_1087efd8-4738-4011-a197-1a6380f4d04b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FinanceLeaseLiabilityPaymentsDue_b656ae39-017f-466b-84d5-7a7e3f7a5f10" xlink:to="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_1087efd8-4738-4011-a197-1a6380f4d04b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_6f39bc48-a9b2-415d-b6e3-17fe420bac5e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_3df9f93e-3043-486f-895a-20b24b190580" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_6f39bc48-a9b2-415d-b6e3-17fe420bac5e" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_3df9f93e-3043-486f-895a-20b24b190580" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_9217fbdd-e216-4521-8df5-9cea05e47592" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_6f39bc48-a9b2-415d-b6e3-17fe420bac5e" xlink:to="loc_us-gaap_OperatingLeaseLiability_9217fbdd-e216-4521-8df5-9cea05e47592" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofIntangibleAssetsNetDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#GoodwillandIntangibleAssetsScheduleofIntangibleAssetsNetDetails"/>
  <link:calculationLink xlink:role="http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofIntangibleAssetsNetDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_944e1e0e-5fd8-477d-8fe7-ebeb1d3fefc1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_abed46b4-6af6-434d-b1eb-b362ff76a7b0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_944e1e0e-5fd8-477d-8fe7-ebeb1d3fefc1" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_abed46b4-6af6-434d-b1eb-b362ff76a7b0" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_c3372e0b-bd0d-4535-bb16-527946e57fa6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_944e1e0e-5fd8-477d-8fe7-ebeb1d3fefc1" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_c3372e0b-bd0d-4535-bb16-527946e57fa6" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofExpectedAmortizationExpenseofIntangibleAssetsDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#GoodwillandIntangibleAssetsScheduleofExpectedAmortizationExpenseofIntangibleAssetsDetails"/>
  <link:calculationLink xlink:role="http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofExpectedAmortizationExpenseofIntangibleAssetsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_5e2ea858-41fe-43a5-b391-a5848efd9560" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_1c37cd53-4ac3-4885-8fcf-1b64c1635f2f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_5e2ea858-41fe-43a5-b391-a5848efd9560" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_1c37cd53-4ac3-4885-8fcf-1b64c1635f2f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_9d401ac2-c029-4ee1-9e9b-2d9d8e07d027" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_5e2ea858-41fe-43a5-b391-a5848efd9560" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_9d401ac2-c029-4ee1-9e9b-2d9d8e07d027" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_4d51a7ba-89bd-48da-857d-834bbfb22450" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_5e2ea858-41fe-43a5-b391-a5848efd9560" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_4d51a7ba-89bd-48da-857d-834bbfb22450" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_db8e18af-0388-4967-a726-e5caf2c91dc2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_5e2ea858-41fe-43a5-b391-a5848efd9560" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_db8e18af-0388-4967-a726-e5caf2c91dc2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_184e2ce1-4963-4246-ae3f-790c8ab40cb9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_5e2ea858-41fe-43a5-b391-a5848efd9560" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_184e2ce1-4963-4246-ae3f-790c8ab40cb9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_4af85532-a2c4-46d1-8ec1-c7d01788ad67" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_5e2ea858-41fe-43a5-b391-a5848efd9560" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_4af85532-a2c4-46d1-8ec1-c7d01788ad67" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://fastly.com/role/CommitmentsandContingenciesScheduleofPurchaseCommitmentsDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#CommitmentsandContingenciesScheduleofPurchaseCommitmentsDetails"/>
  <link:calculationLink xlink:role="http://fastly.com/role/CommitmentsandContingenciesScheduleofPurchaseCommitmentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligation_2a665f77-8029-4618-b8f8-77dd1487f7f8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligation"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueInNextTwelveMonths_1f04845e-bc39-4724-b7dd-d408cb1e7ac8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInNextTwelveMonths"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PurchaseObligation_2a665f77-8029-4618-b8f8-77dd1487f7f8" xlink:to="loc_us-gaap_PurchaseObligationDueInNextTwelveMonths_1f04845e-bc39-4724-b7dd-d408cb1e7ac8" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueInSecondYear_f45f1b02-8eac-4e8d-bb06-d04ed424abf2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInSecondYear"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PurchaseObligation_2a665f77-8029-4618-b8f8-77dd1487f7f8" xlink:to="loc_us-gaap_PurchaseObligationDueInSecondYear_f45f1b02-8eac-4e8d-bb06-d04ed424abf2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueInThirdYear_bf5136d8-b7ce-497c-9bf0-fd6ee8a492b6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInThirdYear"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PurchaseObligation_2a665f77-8029-4618-b8f8-77dd1487f7f8" xlink:to="loc_us-gaap_PurchaseObligationDueInThirdYear_bf5136d8-b7ce-497c-9bf0-fd6ee8a492b6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueInFourthYear_37435f7f-d04b-4c3e-9132-5b98b75cb71b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInFourthYear"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PurchaseObligation_2a665f77-8029-4618-b8f8-77dd1487f7f8" xlink:to="loc_us-gaap_PurchaseObligationDueInFourthYear_37435f7f-d04b-4c3e-9132-5b98b75cb71b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueInFifthYear_4ac971b4-6f72-4d9a-9df5-11f3075e9441" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInFifthYear"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PurchaseObligation_2a665f77-8029-4618-b8f8-77dd1487f7f8" xlink:to="loc_us-gaap_PurchaseObligationDueInFifthYear_4ac971b4-6f72-4d9a-9df5-11f3075e9441" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueAfterFifthYear_440f8602-c281-41be-9812-2396878f36f6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueAfterFifthYear"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PurchaseObligation_2a665f77-8029-4618-b8f8-77dd1487f7f8" xlink:to="loc_us-gaap_PurchaseObligationDueAfterFifthYear_440f8602-c281-41be-9812-2396878f36f6" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://fastly.com/role/IncomeTaxesLossBeforeIncomeTaxesDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#IncomeTaxesLossBeforeIncomeTaxesDetails"/>
  <link:calculationLink xlink:role="http://fastly.com/role/IncomeTaxesLossBeforeIncomeTaxesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_f2aca29f-166b-46d9-a3ed-6ec9e817e9fb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_67a6f602-dbfb-4cf2-b44c-7beda4c05ff3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_f2aca29f-166b-46d9-a3ed-6ec9e817e9fb" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_67a6f602-dbfb-4cf2-b44c-7beda4c05ff3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_9b847e06-b81a-41cf-9969-68d0a3d47092" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_f2aca29f-166b-46d9-a3ed-6ec9e817e9fb" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_9b847e06-b81a-41cf-9969-68d0a3d47092" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://fastly.com/role/IncomeTaxesIncomeTaxExpenseDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#IncomeTaxesIncomeTaxExpenseDetails"/>
  <link:calculationLink xlink:role="http://fastly.com/role/IncomeTaxesIncomeTaxExpenseDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_c8ca6248-5836-40dd-94a7-4cce02dbf6b0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_15367b03-da47-448b-bb57-0abc1821501d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_c8ca6248-5836-40dd-94a7-4cce02dbf6b0" xlink:to="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_15367b03-da47-448b-bb57-0abc1821501d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_f0a4bbcb-80a6-4ebf-a771-1824330dd4e2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_c8ca6248-5836-40dd-94a7-4cce02dbf6b0" xlink:to="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_f0a4bbcb-80a6-4ebf-a771-1824330dd4e2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentFederalTaxExpenseBenefit_a36cf934-7ec6-44a0-be3b-2ccb4b8a1117" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalTaxExpenseBenefit"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_c8ca6248-5836-40dd-94a7-4cce02dbf6b0" xlink:to="loc_us-gaap_CurrentFederalTaxExpenseBenefit_a36cf934-7ec6-44a0-be3b-2ccb4b8a1117" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_cca16b98-449d-4f1a-8da6-6440b37d103b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_c8ca6248-5836-40dd-94a7-4cce02dbf6b0" xlink:to="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_cca16b98-449d-4f1a-8da6-6440b37d103b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentForeignTaxExpenseBenefit_2d3e7380-81e5-46d2-8e4e-3c97fe42d146" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentForeignTaxExpenseBenefit"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_c8ca6248-5836-40dd-94a7-4cce02dbf6b0" xlink:to="loc_us-gaap_CurrentForeignTaxExpenseBenefit_2d3e7380-81e5-46d2-8e4e-3c97fe42d146" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredForeignIncomeTaxExpenseBenefit_4ce78ab8-f38a-443e-a461-0fdbf5789ba1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_c8ca6248-5836-40dd-94a7-4cce02dbf6b0" xlink:to="loc_us-gaap_DeferredForeignIncomeTaxExpenseBenefit_4ce78ab8-f38a-443e-a461-0fdbf5789ba1" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://fastly.com/role/IncomeTaxesEffectiveTaxRateReconciliationDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#IncomeTaxesEffectiveTaxRateReconciliationDetails"/>
  <link:calculationLink xlink:role="http://fastly.com/role/IncomeTaxesEffectiveTaxRateReconciliationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_2c6977eb-7be3-4bc8-b4da-c7bc7e38f300" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseRestructuringCharges_4b86c45e-00f0-449f-9ebe-b6b8872132a3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseRestructuringCharges"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_2c6977eb-7be3-4bc8-b4da-c7bc7e38f300" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseRestructuringCharges_4b86c45e-00f0-449f-9ebe-b6b8872132a3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_6dd0faaa-4c77-44bb-b1b9-a04cb4b6abb9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_2c6977eb-7be3-4bc8-b4da-c7bc7e38f300" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_6dd0faaa-4c77-44bb-b1b9-a04cb4b6abb9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_71d0a992-06c5-4c5a-b492-8c672bcbd1e2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_2c6977eb-7be3-4bc8-b4da-c7bc7e38f300" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_71d0a992-06c5-4c5a-b492-8c672bcbd1e2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_d37b7ed2-f4ea-4345-a7a0-30fbb4afdd17" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_2c6977eb-7be3-4bc8-b4da-c7bc7e38f300" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_d37b7ed2-f4ea-4345-a7a0-30fbb4afdd17" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment_da62bc1c-0aa7-478a-8bac-a6edc419d533" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_2c6977eb-7be3-4bc8-b4da-c7bc7e38f300" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment_da62bc1c-0aa7-478a-8bac-a6edc419d533" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_421cfe4a-f27d-4e4a-a94d-d074a6c64086" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_2c6977eb-7be3-4bc8-b4da-c7bc7e38f300" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_421cfe4a-f27d-4e4a-a94d-d074a6c64086" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDisallowedExecutiveCompensationPercent_ad53cf31-3403-4ce5-bce7-3034f93424e6" xlink:href="fsly-20231231.xsd#fsly_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDisallowedExecutiveCompensationPercent"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_2c6977eb-7be3-4bc8-b4da-c7bc7e38f300" xlink:to="loc_fsly_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDisallowedExecutiveCompensationPercent_ad53cf31-3403-4ce5-bce7-3034f93424e6" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"/>
  <link:calculationLink xlink:role="http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet_e0b1af7f-fa30-4f09-bcc4-1fe52437f7da" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance_38f3c707-eda8-4c08-8345-9e728d3c79e3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet_e0b1af7f-fa30-4f09-bcc4-1fe52437f7da" xlink:to="loc_us-gaap_DeferredTaxAssetsValuationAllowance_38f3c707-eda8-4c08-8345-9e728d3c79e3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsGross_f7e30a31-196b-4c23-b3b8-90ec2faa5eab" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGross"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet_e0b1af7f-fa30-4f09-bcc4-1fe52437f7da" xlink:to="loc_us-gaap_DeferredTaxAssetsGross_f7e30a31-196b-4c23-b3b8-90ec2faa5eab" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilities_62c4bdd1-47b5-4efb-b1f3-005a34b1bc29" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilities"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet_e0b1af7f-fa30-4f09-bcc4-1fe52437f7da" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilities_62c4bdd1-47b5-4efb-b1f3-005a34b1bc29" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilities_9efde2d9-1179-438f-baf8-ad22871baee6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilities_093983c3-b3c3-46e4-81c4-f852e9e60bf7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilities"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxLiabilities_9efde2d9-1179-438f-baf8-ad22871baee6" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilities_093983c3-b3c3-46e4-81c4-f852e9e60bf7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsGross_36ea6b70-d8e6-4bfa-9933-0782905fa5f6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGross"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxLiabilities_9efde2d9-1179-438f-baf8-ad22871baee6" xlink:to="loc_us-gaap_DeferredTaxAssetsGross_36ea6b70-d8e6-4bfa-9933-0782905fa5f6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance_64409790-3e66-47e8-854e-5261868a7b02" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxLiabilities_9efde2d9-1179-438f-baf8-ad22871baee6" xlink:to="loc_us-gaap_DeferredTaxAssetsValuationAllowance_64409790-3e66-47e8-854e-5261868a7b02" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilities_56198872-8dcd-49ee-a078-90981acca018" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesPrepaidExpenses_0a295422-ca87-43a2-8c2b-33822afd3bc5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesPrepaidExpenses"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilities_56198872-8dcd-49ee-a078-90981acca018" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesPrepaidExpenses_0a295422-ca87-43a2-8c2b-33822afd3bc5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DeferredTaxLiabilitiesStateTaxes_a0846b6e-06bd-4d5a-91ea-693622309e58" xlink:href="fsly-20231231.xsd#fsly_DeferredTaxLiabilitiesStateTaxes"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilities_56198872-8dcd-49ee-a078-90981acca018" xlink:to="loc_fsly_DeferredTaxLiabilitiesStateTaxes_a0846b6e-06bd-4d5a-91ea-693622309e58" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesLeasingArrangements_af876f42-3904-41f2-94c2-1a14d918dd8b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesLeasingArrangements"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilities_56198872-8dcd-49ee-a078-90981acca018" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesLeasingArrangements_af876f42-3904-41f2-94c2-1a14d918dd8b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets_0728cb37-fb25-4000-8810-3fbb89ba274e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilities_56198872-8dcd-49ee-a078-90981acca018" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets_0728cb37-fb25-4000-8810-3fbb89ba274e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsGross_ced59de2-a481-4022-9964-ca6c23c24d59" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGross"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DeferredTaxAssetLeaseLiability_b63f45ce-beb1-48ff-94a1-50589d70538c" xlink:href="fsly-20231231.xsd#fsly_DeferredTaxAssetLeaseLiability"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_ced59de2-a481-4022-9964-ca6c23c24d59" xlink:to="loc_fsly_DeferredTaxAssetLeaseLiability_b63f45ce-beb1-48ff-94a1-50589d70538c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals_c72d2354-edc1-47f4-a98c-05cf20a0fe62" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_ced59de2-a481-4022-9964-ca6c23c24d59" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals_c72d2354-edc1-47f4-a98c-05cf20a0fe62" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsDeferredIncome_1812e3b0-7a28-4f7b-b5a7-930102f1411e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsDeferredIncome"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_ced59de2-a481-4022-9964-ca6c23c24d59" xlink:to="loc_us-gaap_DeferredTaxAssetsDeferredIncome_1812e3b0-7a28-4f7b-b5a7-930102f1411e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOther_6a085a50-d171-46f3-ae9f-74dcec7928e6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOther"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_ced59de2-a481-4022-9964-ca6c23c24d59" xlink:to="loc_us-gaap_DeferredTaxAssetsOther_6a085a50-d171-46f3-ae9f-74dcec7928e6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_981a0551-bf81-4066-a1e8-8c3d60cffe90" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_ced59de2-a481-4022-9964-ca6c23c24d59" xlink:to="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_981a0551-bf81-4066-a1e8-8c3d60cffe90" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_817a3ee4-ab26-4b2d-b8b9-908a9e481540" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_ced59de2-a481-4022-9964-ca6c23c24d59" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_817a3ee4-ab26-4b2d-b8b9-908a9e481540" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_a868f37e-d2ff-4fe8-8744-999640e2dfda" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_ced59de2-a481-4022-9964-ca6c23c24d59" xlink:to="loc_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_a868f37e-d2ff-4fe8-8744-999640e2dfda" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts_c0bb984a-f2a5-4931-b2cf-2b20c307292b" xlink:href="fsly-20231231.xsd#fsly_DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_ced59de2-a481-4022-9964-ca6c23c24d59" xlink:to="loc_fsly_DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts_c0bb984a-f2a5-4931-b2cf-2b20c307292b" xlink:type="arc"/>
  </link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>13
<FILENAME>fsly-20231231_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2024 Workiva-->
<!--r:0811f168-84e9-4938-b9eb-eec18ec6ef5f,g:2dd75f08-7fdf-4aeb-9387-1f61559612c6-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member"/>
  <link:roleRef roleURI="http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" xlink:type="simple" xlink:href="fsly-20231231.xsd#CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"/>
  <link:definitionLink xlink:role="http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_eda26541-37f4-4696-8334-5cb26143a7b4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_fb8ba5e3-9b46-4287-9230-bb2e905d1cbb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_eda26541-37f4-4696-8334-5cb26143a7b4" xlink:to="loc_us-gaap_StatementTable_fb8ba5e3-9b46-4287-9230-bb2e905d1cbb" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_a99c11e8-a805-4ccb-9aba-042adc17d573" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_fb8ba5e3-9b46-4287-9230-bb2e905d1cbb" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_a99c11e8-a805-4ccb-9aba-042adc17d573" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_a99c11e8-a805-4ccb-9aba-042adc17d573_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_a99c11e8-a805-4ccb-9aba-042adc17d573" xlink:to="loc_us-gaap_EquityComponentDomain_a99c11e8-a805-4ccb-9aba-042adc17d573_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_26d926f1-beb7-4612-a0ff-0fcd72edc500" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_a99c11e8-a805-4ccb-9aba-042adc17d573" xlink:to="loc_us-gaap_EquityComponentDomain_26d926f1-beb7-4612-a0ff-0fcd72edc500" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_704c0c0e-ba83-4d83-960e-111e87258d1a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_26d926f1-beb7-4612-a0ff-0fcd72edc500" xlink:to="loc_us-gaap_CommonStockMember_704c0c0e-ba83-4d83-960e-111e87258d1a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_32d139e2-8f16-4727-88e3-8e9c3b0e3685" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_26d926f1-beb7-4612-a0ff-0fcd72edc500" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_32d139e2-8f16-4727-88e3-8e9c3b0e3685" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_0790eaa4-e9c1-4f84-b3fb-0236adcade91" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_26d926f1-beb7-4612-a0ff-0fcd72edc500" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_0790eaa4-e9c1-4f84-b3fb-0236adcade91" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_92e1842a-3550-4ced-b86a-64e2535318bd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_26d926f1-beb7-4612-a0ff-0fcd72edc500" xlink:to="loc_us-gaap_RetainedEarningsMember_92e1842a-3550-4ced-b86a-64e2535318bd" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_9a26b164-d0fc-4d13-a8e7-a7f14368b96e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_fb8ba5e3-9b46-4287-9230-bb2e905d1cbb" xlink:to="loc_us-gaap_StatementClassOfStockAxis_9a26b164-d0fc-4d13-a8e7-a7f14368b96e" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_9a26b164-d0fc-4d13-a8e7-a7f14368b96e_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_9a26b164-d0fc-4d13-a8e7-a7f14368b96e" xlink:to="loc_us-gaap_ClassOfStockDomain_9a26b164-d0fc-4d13-a8e7-a7f14368b96e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_3e7804b0-e453-4b3d-bfe0-922022e98766" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_9a26b164-d0fc-4d13-a8e7-a7f14368b96e" xlink:to="loc_us-gaap_ClassOfStockDomain_3e7804b0-e453-4b3d-bfe0-922022e98766" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember_b5084acf-ff6a-4e98-bae0-34ae232c8fee" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonClassAMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_3e7804b0-e453-4b3d-bfe0-922022e98766" xlink:to="loc_us-gaap_CommonClassAMember_b5084acf-ff6a-4e98-bae0-34ae232c8fee" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassBMember_b599ef7e-2fc7-4e86-8eec-210bcdec03f9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonClassBMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_3e7804b0-e453-4b3d-bfe0-922022e98766" xlink:to="loc_us-gaap_CommonClassBMember_b599ef7e-2fc7-4e86-8eec-210bcdec03f9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_a85f292d-ae33-4e5d-974c-8fe14e5fa439" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_fb8ba5e3-9b46-4287-9230-bb2e905d1cbb" xlink:to="loc_us-gaap_AwardTypeAxis_a85f292d-ae33-4e5d-974c-8fe14e5fa439" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_a85f292d-ae33-4e5d-974c-8fe14e5fa439_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_a85f292d-ae33-4e5d-974c-8fe14e5fa439" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_a85f292d-ae33-4e5d-974c-8fe14e5fa439_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_a455eec0-718f-4434-b1f1-ad698e186dd1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_a85f292d-ae33-4e5d-974c-8fe14e5fa439" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_a455eec0-718f-4434-b1f1-ad698e186dd1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_b49d053f-1f1f-4e2f-904a-8c4127d6a30b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_a455eec0-718f-4434-b1f1-ad698e186dd1" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_b49d053f-1f1f-4e2f-904a-8c4127d6a30b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember_8eca153e-bd06-4a93-8b5b-b1d4fe5eb920" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_a455eec0-718f-4434-b1f1-ad698e186dd1" xlink:to="loc_us-gaap_RestrictedStockMember_8eca153e-bd06-4a93-8b5b-b1d4fe5eb920" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_eda26541-37f4-4696-8334-5cb26143a7b4" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_14885402-c2a0-422f-b3ad-4923b3a72351" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_14885402-c2a0-422f-b3ad-4923b3a72351" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_1b11b629-8500-4436-afbf-aa86f5c99c44" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_us-gaap_StockholdersEquity_1b11b629-8500-4436-afbf-aa86f5c99c44" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_aae118b7-f1ab-453d-a0a6-99ecf6291c0d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_aae118b7-f1ab-453d-a0a6-99ecf6291c0d" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_760d350e-c005-45c8-bccc-4bb97c22c6ca" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_760d350e-c005-45c8-bccc-4bb97c22c6ca" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestingOfEarlyExercisedStockOptionsNumberOfShares_0326f448-e8c0-4976-8de5-bd60f1b240d6" xlink:href="fsly-20231231.xsd#fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestingOfEarlyExercisedStockOptionsNumberOfShares"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestingOfEarlyExercisedStockOptionsNumberOfShares_0326f448-e8c0-4976-8de5-bd60f1b240d6" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_StockIssuedDuringPeriodValueVestingOfEarlyExercisedStockOptions_e22f6f79-9bd6-4ed6-99c5-75ca91ecc8f8" xlink:href="fsly-20231231.xsd#fsly_StockIssuedDuringPeriodValueVestingOfEarlyExercisedStockOptions"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_fsly_StockIssuedDuringPeriodValueVestingOfEarlyExercisedStockOptions_e22f6f79-9bd6-4ed6-99c5-75ca91ecc8f8" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_1ab37c85-7ea9-44d4-b0c4-b26100d07915" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_1ab37c85-7ea9-44d4-b0c4-b26100d07915" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross_226482c6-9555-4756-81d4-1ec33c2a5d6d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross_226482c6-9555-4756-81d4-1ec33c2a5d6d" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_StockIssuedDuringPeriodSharesBonusProgram_6fb8dc8c-1d56-4588-8dc2-f69db2f820da" xlink:href="fsly-20231231.xsd#fsly_StockIssuedDuringPeriodSharesBonusProgram"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_fsly_StockIssuedDuringPeriodSharesBonusProgram_6fb8dc8c-1d56-4588-8dc2-f69db2f820da" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_StockIssuedDuringPeriodValueBonusProgram_efac7684-7f61-48e6-b98a-9ebd012eb47e" xlink:href="fsly-20231231.xsd#fsly_StockIssuedDuringPeriodValueBonusProgram"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_fsly_StockIssuedDuringPeriodValueBonusProgram_efac7684-7f61-48e6-b98a-9ebd012eb47e" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_StockSoldDuringPeriodSharesRestrictedStockAward_e88f513d-d2fd-44f3-9a7f-151e5d153737" xlink:href="fsly-20231231.xsd#fsly_StockSoldDuringPeriodSharesRestrictedStockAward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_fsly_StockSoldDuringPeriodSharesRestrictedStockAward_e88f513d-d2fd-44f3-9a7f-151e5d153737" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_StockSoldDuringPeriodValueRestrictedStockAward_d3c35f55-953f-443a-9593-4af006cd7e97" xlink:href="fsly-20231231.xsd#fsly_StockSoldDuringPeriodValueRestrictedStockAward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_fsly_StockSoldDuringPeriodValueRestrictedStockAward_d3c35f55-953f-443a-9593-4af006cd7e97" xlink:type="arc" order="12"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_7ef3a25f-bfb0-4bbb-a75b-2333eab8f617" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_7ef3a25f-bfb0-4bbb-a75b-2333eab8f617" xlink:type="arc" order="13"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_1dea3726-4c21-4c30-941a-f7b2a7260b27" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_1dea3726-4c21-4c30-941a-f7b2a7260b27" xlink:type="arc" order="14"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_9e88ea8b-a22a-4163-b1d1-200bcf28e8b2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_9e88ea8b-a22a-4163-b1d1-200bcf28e8b2" xlink:type="arc" order="15"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_452eb48c-e9d2-4f78-abd6-6f4d0b97ac1e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_452eb48c-e9d2-4f78-abd6-6f4d0b97ac1e" xlink:type="arc" order="16"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities_773bddb7-11f7-4a89-86be-05a12a2b1916" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities_773bddb7-11f7-4a89-86be-05a12a2b1916" xlink:type="arc" order="17"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_c03585ac-7a9e-4b3f-8fcb-ebb66782bb44" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_us-gaap_NetIncomeLoss_c03585ac-7a9e-4b3f-8fcb-ebb66782bb44" xlink:type="arc" order="18"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_b3a1e302-c033-4d94-81ee-29d2f7ab061b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_b3a1e302-c033-4d94-81ee-29d2f7ab061b" xlink:type="arc" order="19"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_fd607504-bc1d-428c-9b7a-cea5a872d734" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_dfc4a3e9-d210-451f-be05-f5e5aa2b4807" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/SummaryofSignificantAccountingPoliciesConcentrationsofCreditRiskDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#SummaryofSignificantAccountingPoliciesConcentrationsofCreditRiskDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/SummaryofSignificantAccountingPoliciesConcentrationsofCreditRiskDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskLineItems_6871b340-a169-4ec0-b161-878a1f30578f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTable_0e41fd06-942a-4841-807f-1802a0f7c429" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_6871b340-a169-4ec0-b161-878a1f30578f" xlink:to="loc_us-gaap_ConcentrationRiskTable_0e41fd06-942a-4841-807f-1802a0f7c429" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_39e7f3c4-387a-4991-913c-38f954caccfe" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ConcentrationRiskTable_0e41fd06-942a-4841-807f-1802a0f7c429" xlink:to="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_39e7f3c4-387a-4991-913c-38f954caccfe" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_39e7f3c4-387a-4991-913c-38f954caccfe_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_39e7f3c4-387a-4991-913c-38f954caccfe" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_39e7f3c4-387a-4991-913c-38f954caccfe_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_e9e863a8-4d92-40f8-b64b-4c03dbed7aa3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_39e7f3c4-387a-4991-913c-38f954caccfe" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_e9e863a8-4d92-40f8-b64b-4c03dbed7aa3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableMember_54c12097-2dac-4535-84cb-c4183c92a716" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_e9e863a8-4d92-40f8-b64b-4c03dbed7aa3" xlink:to="loc_us-gaap_AccountsReceivableMember_54c12097-2dac-4535-84cb-c4183c92a716" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesRevenueNetMember_30a8a813-3530-4575-b8f6-7cafde800a24" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_e9e863a8-4d92-40f8-b64b-4c03dbed7aa3" xlink:to="loc_us-gaap_SalesRevenueNetMember_30a8a813-3530-4575-b8f6-7cafde800a24" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MajorCustomersAxis_a9c1cec7-9af7-4aa3-871c-f3c79aa01f9d" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ConcentrationRiskTable_0e41fd06-942a-4841-807f-1802a0f7c429" xlink:to="loc_srt_MajorCustomersAxis_a9c1cec7-9af7-4aa3-871c-f3c79aa01f9d" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain_a9c1cec7-9af7-4aa3-871c-f3c79aa01f9d_default" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_MajorCustomersAxis_a9c1cec7-9af7-4aa3-871c-f3c79aa01f9d" xlink:to="loc_srt_NameOfMajorCustomerDomain_a9c1cec7-9af7-4aa3-871c-f3c79aa01f9d_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain_3cd7b1e5-d89e-4d92-99f6-b6a29dd93be2" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_MajorCustomersAxis_a9c1cec7-9af7-4aa3-871c-f3c79aa01f9d" xlink:to="loc_srt_NameOfMajorCustomerDomain_3cd7b1e5-d89e-4d92-99f6-b6a29dd93be2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_CustomerOneMember_f90c8633-57d7-41ae-b95a-834f1dd75ea6" xlink:href="fsly-20231231.xsd#fsly_CustomerOneMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_NameOfMajorCustomerDomain_3cd7b1e5-d89e-4d92-99f6-b6a29dd93be2" xlink:to="loc_fsly_CustomerOneMember_f90c8633-57d7-41ae-b95a-834f1dd75ea6" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByTypeAxis_d3b18fef-8334-4e69-a722-61fd3b5355ab" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ConcentrationRiskTable_0e41fd06-942a-4841-807f-1802a0f7c429" xlink:to="loc_us-gaap_ConcentrationRiskByTypeAxis_d3b18fef-8334-4e69-a722-61fd3b5355ab" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain_d3b18fef-8334-4e69-a722-61fd3b5355ab_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis_d3b18fef-8334-4e69-a722-61fd3b5355ab" xlink:to="loc_us-gaap_ConcentrationRiskTypeDomain_d3b18fef-8334-4e69-a722-61fd3b5355ab_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain_7ec38302-8e45-458e-9d2d-b29494866a65" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis_d3b18fef-8334-4e69-a722-61fd3b5355ab" xlink:to="loc_us-gaap_ConcentrationRiskTypeDomain_7ec38302-8e45-458e-9d2d-b29494866a65" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerConcentrationRiskMember_cb27a698-e6e3-46d8-8534-a1d4354bbf5c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskTypeDomain_7ec38302-8e45-458e-9d2d-b29494866a65" xlink:to="loc_us-gaap_CustomerConcentrationRiskMember_cb27a698-e6e3-46d8-8534-a1d4354bbf5c" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskPercentage1_a8584be9-ab90-4b1f-b412-b6405120e5a9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_6871b340-a169-4ec0-b161-878a1f30578f" xlink:to="loc_us-gaap_ConcentrationRiskPercentage1_a8584be9-ab90-4b1f-b412-b6405120e5a9" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/SummaryofSignificantAccountingPoliciesIncrementalCoststoObtainaContractWithCustomerDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#SummaryofSignificantAccountingPoliciesIncrementalCoststoObtainaContractWithCustomerDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/SummaryofSignificantAccountingPoliciesIncrementalCoststoObtainaContractWithCustomerDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostLineItems_d47285f5-a9b1-440a-bb68-e3bebdf6fdf0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostTable_733a2da9-9682-4c56-9c82-b87014448a5c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_CapitalizedContractCostLineItems_d47285f5-a9b1-440a-bb68-e3bebdf6fdf0" xlink:to="loc_us-gaap_CapitalizedContractCostTable_733a2da9-9682-4c56-9c82-b87014448a5c" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostAxis_9c9196d2-b744-4994-8047-3dd86b7c0c72" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_CapitalizedContractCostTable_733a2da9-9682-4c56-9c82-b87014448a5c" xlink:to="loc_us-gaap_CapitalizedContractCostAxis_9c9196d2-b744-4994-8047-3dd86b7c0c72" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostDomain_9c9196d2-b744-4994-8047-3dd86b7c0c72_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_CapitalizedContractCostAxis_9c9196d2-b744-4994-8047-3dd86b7c0c72" xlink:to="loc_us-gaap_CapitalizedContractCostDomain_9c9196d2-b744-4994-8047-3dd86b7c0c72_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostDomain_1efc5f8a-46f9-41e7-95f2-57ca59cbbc72" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_CapitalizedContractCostAxis_9c9196d2-b744-4994-8047-3dd86b7c0c72" xlink:to="loc_us-gaap_CapitalizedContractCostDomain_1efc5f8a-46f9-41e7-95f2-57ca59cbbc72" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_CustomerArrangementMember_c30db5b0-083a-4591-a5ad-b301a556e8f2" xlink:href="fsly-20231231.xsd#fsly_CustomerArrangementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CapitalizedContractCostDomain_1efc5f8a-46f9-41e7-95f2-57ca59cbbc72" xlink:to="loc_fsly_CustomerArrangementMember_c30db5b0-083a-4591-a5ad-b301a556e8f2" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostAmortizationPeriod_dc7b9407-bd3e-4c8b-8b42-1c157fa9a37e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostAmortizationPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CapitalizedContractCostLineItems_d47285f5-a9b1-440a-bb68-e3bebdf6fdf0" xlink:to="loc_us-gaap_CapitalizedContractCostAmortizationPeriod_dc7b9407-bd3e-4c8b-8b42-1c157fa9a37e" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofPropertyandEquipmentDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#SummaryofSignificantAccountingPoliciesScheduleofPropertyandEquipmentDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofPropertyandEquipmentDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_dd9253dc-906e-4e8b-b273-f6d30bd94b9c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_927f4718-5f26-476d-bd11-7e3cdf66bbf3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_dd9253dc-906e-4e8b-b273-f6d30bd94b9c" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_927f4718-5f26-476d-bd11-7e3cdf66bbf3" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_d638d0e0-7a96-4895-848d-20c53141f302" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_927f4718-5f26-476d-bd11-7e3cdf66bbf3" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_d638d0e0-7a96-4895-848d-20c53141f302" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d638d0e0-7a96-4895-848d-20c53141f302_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_d638d0e0-7a96-4895-848d-20c53141f302" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d638d0e0-7a96-4895-848d-20c53141f302_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_0da043d0-bff7-4a8b-84fd-4c3a1fe65911" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_d638d0e0-7a96-4895-848d-20c53141f302" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_0da043d0-bff7-4a8b-84fd-4c3a1fe65911" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComputerEquipmentMember_f815dbef-66eb-4c33-98d3-42642e318300" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerEquipmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_0da043d0-bff7-4a8b-84fd-4c3a1fe65911" xlink:to="loc_us-gaap_ComputerEquipmentMember_f815dbef-66eb-4c33-98d3-42642e318300" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseholdImprovementsMember_e91f852f-aaf2-4f9b-ba3c-412271d92c6d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_0da043d0-bff7-4a8b-84fd-4c3a1fe65911" xlink:to="loc_us-gaap_LeaseholdImprovementsMember_e91f852f-aaf2-4f9b-ba3c-412271d92c6d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FurnitureAndFixturesMember_af32e77a-ea84-4af1-9baa-d87adec89efd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FurnitureAndFixturesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_0da043d0-bff7-4a8b-84fd-4c3a1fe65911" xlink:to="loc_us-gaap_FurnitureAndFixturesMember_af32e77a-ea84-4af1-9baa-d87adec89efd" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OfficeEquipmentMember_4d067f68-6b75-44f2-92e3-aa2e5db0ded9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OfficeEquipmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_0da043d0-bff7-4a8b-84fd-4c3a1fe65911" xlink:to="loc_us-gaap_OfficeEquipmentMember_4d067f68-6b75-44f2-92e3-aa2e5db0ded9" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SoftwareDevelopmentMember_0913bf83-fe3a-4e3e-972f-88db3a276c67" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SoftwareDevelopmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_0da043d0-bff7-4a8b-84fd-4c3a1fe65911" xlink:to="loc_us-gaap_SoftwareDevelopmentMember_0913bf83-fe3a-4e3e-972f-88db3a276c67" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_11887438-7461-4f2c-bc78-fe767bd7de7b" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_927f4718-5f26-476d-bd11-7e3cdf66bbf3" xlink:to="loc_srt_RangeAxis_11887438-7461-4f2c-bc78-fe767bd7de7b" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_11887438-7461-4f2c-bc78-fe767bd7de7b_default" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_11887438-7461-4f2c-bc78-fe767bd7de7b" xlink:to="loc_srt_RangeMember_11887438-7461-4f2c-bc78-fe767bd7de7b_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_2b315b8d-cbce-4f5d-802e-d3d9bb911908" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_11887438-7461-4f2c-bc78-fe767bd7de7b" xlink:to="loc_srt_RangeMember_2b315b8d-cbce-4f5d-802e-d3d9bb911908" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_5c168cb0-7639-469c-8102-9670897e9024" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_2b315b8d-cbce-4f5d-802e-d3d9bb911908" xlink:to="loc_srt_MinimumMember_5c168cb0-7639-469c-8102-9670897e9024" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_df227416-072b-45ba-bff7-3decff96ec1c" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_2b315b8d-cbce-4f5d-802e-d3d9bb911908" xlink:to="loc_srt_MaximumMember_df227416-072b-45ba-bff7-3decff96ec1c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_6e92ef28-78c1-4cc6-859b-579f74f2f4f1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_dd9253dc-906e-4e8b-b273-f6d30bd94b9c" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_6e92ef28-78c1-4cc6-859b-579f74f2f4f1" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/SummaryofSignificantAccountingPoliciesInternalUseSoftwareDevelopmentCostsDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#SummaryofSignificantAccountingPoliciesInternalUseSoftwareDevelopmentCostsDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/SummaryofSignificantAccountingPoliciesInternalUseSoftwareDevelopmentCostsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_735a76c5-3f2f-4ceb-85a5-69ba9f0ab9ff" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_9fe482fa-0bb8-495e-8564-1dd2ae5a69e1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_735a76c5-3f2f-4ceb-85a5-69ba9f0ab9ff" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_9fe482fa-0bb8-495e-8564-1dd2ae5a69e1" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_988d5fa5-b93b-4e24-99a1-054d82f7a977" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_9fe482fa-0bb8-495e-8564-1dd2ae5a69e1" xlink:to="loc_srt_RangeAxis_988d5fa5-b93b-4e24-99a1-054d82f7a977" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_988d5fa5-b93b-4e24-99a1-054d82f7a977_default" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_988d5fa5-b93b-4e24-99a1-054d82f7a977" xlink:to="loc_srt_RangeMember_988d5fa5-b93b-4e24-99a1-054d82f7a977_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_20974ee6-59bf-4b0f-9c93-6e531ac4c0ec" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_988d5fa5-b93b-4e24-99a1-054d82f7a977" xlink:to="loc_srt_RangeMember_20974ee6-59bf-4b0f-9c93-6e531ac4c0ec" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_245485f4-4104-4fa1-a744-b01da66035e3" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_20974ee6-59bf-4b0f-9c93-6e531ac4c0ec" xlink:to="loc_srt_MinimumMember_245485f4-4104-4fa1-a744-b01da66035e3" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_9043c6eb-3c0a-4dab-a9bc-c1772a51ae46" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_20974ee6-59bf-4b0f-9c93-6e531ac4c0ec" xlink:to="loc_srt_MaximumMember_9043c6eb-3c0a-4dab-a9bc-c1772a51ae46" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_03319f6b-538b-4977-ad7a-a6aa2bae8145" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_9fe482fa-0bb8-495e-8564-1dd2ae5a69e1" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_03319f6b-538b-4977-ad7a-a6aa2bae8145" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_03319f6b-538b-4977-ad7a-a6aa2bae8145_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_03319f6b-538b-4977-ad7a-a6aa2bae8145" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_03319f6b-538b-4977-ad7a-a6aa2bae8145_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_588a4077-009d-407c-9fac-1edc9d462cf0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_03319f6b-538b-4977-ad7a-a6aa2bae8145" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_588a4077-009d-407c-9fac-1edc9d462cf0" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SoftwareDevelopmentMember_ad3cbe0e-e828-43f3-9cb4-8115736e903d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SoftwareDevelopmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_588a4077-009d-407c-9fac-1edc9d462cf0" xlink:to="loc_us-gaap_SoftwareDevelopmentMember_ad3cbe0e-e828-43f3-9cb4-8115736e903d" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_e8337156-f35f-4f4f-a44e-3fe73889de6d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_735a76c5-3f2f-4ceb-85a5-69ba9f0ab9ff" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_e8337156-f35f-4f4f-a44e-3fe73889de6d" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofIntangibleAssetsDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#SummaryofSignificantAccountingPoliciesScheduleofIntangibleAssetsDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofIntangibleAssetsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_751dbdca-cc91-4e9e-8acf-fbc8da951239" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_ba21f421-e161-4b74-8cf2-bf51332169a1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_751dbdca-cc91-4e9e-8acf-fbc8da951239" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_ba21f421-e161-4b74-8cf2-bf51332169a1" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_a7336e5d-00d0-4a2b-80ff-1a74f891a968" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_ba21f421-e161-4b74-8cf2-bf51332169a1" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_a7336e5d-00d0-4a2b-80ff-1a74f891a968" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_a7336e5d-00d0-4a2b-80ff-1a74f891a968_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_a7336e5d-00d0-4a2b-80ff-1a74f891a968" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_a7336e5d-00d0-4a2b-80ff-1a74f891a968_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_32744ffd-8ec5-46e7-80f7-29c482474111" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_a7336e5d-00d0-4a2b-80ff-1a74f891a968" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_32744ffd-8ec5-46e7-80f7-29c482474111" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember_186734af-9eb8-4750-8126-53e3909ca384" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelationshipsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_32744ffd-8ec5-46e7-80f7-29c482474111" xlink:to="loc_us-gaap_CustomerRelationshipsMember_186734af-9eb8-4750-8126-53e3909ca384" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember_bc74ac53-1b92-4835-9b87-ca6b31114e27" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DevelopedTechnologyRightsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_32744ffd-8ec5-46e7-80f7-29c482474111" xlink:to="loc_us-gaap_DevelopedTechnologyRightsMember_bc74ac53-1b92-4835-9b87-ca6b31114e27" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TradeNamesMember_a1670929-0bbd-4fe8-9f0b-d603c66cdcd3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradeNamesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_32744ffd-8ec5-46e7-80f7-29c482474111" xlink:to="loc_us-gaap_TradeNamesMember_a1670929-0bbd-4fe8-9f0b-d603c66cdcd3" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrderOrProductionBacklogMember_b5160ac9-c197-4785-a255-c19d58b74132" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrderOrProductionBacklogMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_32744ffd-8ec5-46e7-80f7-29c482474111" xlink:to="loc_us-gaap_OrderOrProductionBacklogMember_b5160ac9-c197-4785-a255-c19d58b74132" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_InternetProtocolAddressesMember_3170e82d-0871-404a-9d58-1eb4b8654eef" xlink:href="fsly-20231231.xsd#fsly_InternetProtocolAddressesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_32744ffd-8ec5-46e7-80f7-29c482474111" xlink:to="loc_fsly_InternetProtocolAddressesMember_3170e82d-0871-404a-9d58-1eb4b8654eef" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_d3b73e13-76bd-4697-9f66-5cf5534ae1d6" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_ba21f421-e161-4b74-8cf2-bf51332169a1" xlink:to="loc_srt_RangeAxis_d3b73e13-76bd-4697-9f66-5cf5534ae1d6" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_d3b73e13-76bd-4697-9f66-5cf5534ae1d6_default" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_d3b73e13-76bd-4697-9f66-5cf5534ae1d6" xlink:to="loc_srt_RangeMember_d3b73e13-76bd-4697-9f66-5cf5534ae1d6_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_0346a688-cec7-4c39-a5ad-1c05c60a3303" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_d3b73e13-76bd-4697-9f66-5cf5534ae1d6" xlink:to="loc_srt_RangeMember_0346a688-cec7-4c39-a5ad-1c05c60a3303" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_a143a655-e1d4-4c5a-b353-6b1a65a3e94b" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_0346a688-cec7-4c39-a5ad-1c05c60a3303" xlink:to="loc_srt_MinimumMember_a143a655-e1d4-4c5a-b353-6b1a65a3e94b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_32cff8ea-5ef0-4ccb-a12f-40a4c364bd23" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_0346a688-cec7-4c39-a5ad-1c05c60a3303" xlink:to="loc_srt_MaximumMember_32cff8ea-5ef0-4ccb-a12f-40a4c364bd23" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_494062d9-ea6e-4e2f-b398-469742b1e92d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_751dbdca-cc91-4e9e-8acf-fbc8da951239" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_494062d9-ea6e-4e2f-b398-469742b1e92d" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/SummaryofSignificantAccountingPoliciesCostofRevenueDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#SummaryofSignificantAccountingPoliciesCostofRevenueDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/SummaryofSignificantAccountingPoliciesCostofRevenueDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_25856155-9e07-49dd-a7bd-df262ade3710" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_7f0930f5-5a2f-4cbc-8871-29535299d641" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_25856155-9e07-49dd-a7bd-df262ade3710" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_7f0930f5-5a2f-4cbc-8871-29535299d641" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_867fdd93-681e-4322-bc4b-1549a2400d3e" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_7f0930f5-5a2f-4cbc-8871-29535299d641" xlink:to="loc_srt_ProductOrServiceAxis_867fdd93-681e-4322-bc4b-1549a2400d3e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_867fdd93-681e-4322-bc4b-1549a2400d3e_default" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ProductOrServiceAxis_867fdd93-681e-4322-bc4b-1549a2400d3e" xlink:to="loc_srt_ProductsAndServicesDomain_867fdd93-681e-4322-bc4b-1549a2400d3e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_3fe5faf9-5577-4214-8969-b2bdc15059e8" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ProductOrServiceAxis_867fdd93-681e-4322-bc4b-1549a2400d3e" xlink:to="loc_srt_ProductsAndServicesDomain_3fe5faf9-5577-4214-8969-b2bdc15059e8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_BandwidthWithThirdPartyNetworkProvidersMember_b009a1ba-6d77-49a9-af55-527834f46b4b" xlink:href="fsly-20231231.xsd#fsly_BandwidthWithThirdPartyNetworkProvidersMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_3fe5faf9-5577-4214-8969-b2bdc15059e8" xlink:to="loc_fsly_BandwidthWithThirdPartyNetworkProvidersMember_b009a1ba-6d77-49a9-af55-527834f46b4b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ColocationServicesMember_2a120252-c680-4c1b-96ae-c3866c3e355c" xlink:href="fsly-20231231.xsd#fsly_ColocationServicesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_3fe5faf9-5577-4214-8969-b2bdc15059e8" xlink:to="loc_fsly_ColocationServicesMember_2a120252-c680-4c1b-96ae-c3866c3e355c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_37296765-fb09-4c72-a03d-2df9de2ea7b1" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_7f0930f5-5a2f-4cbc-8871-29535299d641" xlink:to="loc_srt_RangeAxis_37296765-fb09-4c72-a03d-2df9de2ea7b1" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_37296765-fb09-4c72-a03d-2df9de2ea7b1_default" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_37296765-fb09-4c72-a03d-2df9de2ea7b1" xlink:to="loc_srt_RangeMember_37296765-fb09-4c72-a03d-2df9de2ea7b1_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_4e337425-c7a0-4442-8ecc-923ba4c2b184" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_37296765-fb09-4c72-a03d-2df9de2ea7b1" xlink:to="loc_srt_RangeMember_4e337425-c7a0-4442-8ecc-923ba4c2b184" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_8acba598-3a95-4df8-b59a-710775d4b736" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_4e337425-c7a0-4442-8ecc-923ba4c2b184" xlink:to="loc_srt_MinimumMember_8acba598-3a95-4df8-b59a-710775d4b736" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_014fafe9-28db-4710-b41a-1ab9b85cd671" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_4e337425-c7a0-4442-8ecc-923ba4c2b184" xlink:to="loc_srt_MaximumMember_014fafe9-28db-4710-b41a-1ab9b85cd671" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_RevenueWithCustomerDurationOfContracts_0f795cc8-6e4d-465c-9c44-d31e88ea3ce6" xlink:href="fsly-20231231.xsd#fsly_RevenueWithCustomerDurationOfContracts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_25856155-9e07-49dd-a7bd-df262ade3710" xlink:to="loc_fsly_RevenueWithCustomerDurationOfContracts_0f795cc8-6e4d-465c-9c44-d31e88ea3ce6" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/SummaryofSignificantAccountingPoliciesAccountingforStockBasedCompensationDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#SummaryofSignificantAccountingPoliciesAccountingforStockBasedCompensationDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/SummaryofSignificantAccountingPoliciesAccountingforStockBasedCompensationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_1197d3bd-3641-4b3f-9563-410bd0f61509" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_a72321d8-eb4c-484d-9cf9-94de66808df2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_1197d3bd-3641-4b3f-9563-410bd0f61509" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_a72321d8-eb4c-484d-9cf9-94de66808df2" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_1e7a8290-3c9a-4ddb-ba05-aed9cc025146" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_a72321d8-eb4c-484d-9cf9-94de66808df2" xlink:to="loc_srt_RangeAxis_1e7a8290-3c9a-4ddb-ba05-aed9cc025146" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_1e7a8290-3c9a-4ddb-ba05-aed9cc025146_default" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_1e7a8290-3c9a-4ddb-ba05-aed9cc025146" xlink:to="loc_srt_RangeMember_1e7a8290-3c9a-4ddb-ba05-aed9cc025146_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_5337114d-1d21-448f-a020-a4d724b8796a" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_1e7a8290-3c9a-4ddb-ba05-aed9cc025146" xlink:to="loc_srt_RangeMember_5337114d-1d21-448f-a020-a4d724b8796a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_bb0b0d56-3b43-481f-9f6f-70f355c5572a" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_5337114d-1d21-448f-a020-a4d724b8796a" xlink:to="loc_srt_MinimumMember_bb0b0d56-3b43-481f-9f6f-70f355c5572a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_23db7a78-ab24-42f5-b215-b2d8bdab4cdb" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_5337114d-1d21-448f-a020-a4d724b8796a" xlink:to="loc_srt_MaximumMember_23db7a78-ab24-42f5-b215-b2d8bdab4cdb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1_825c824f-bf25-46ea-b339-106f00ee8a0d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_1197d3bd-3641-4b3f-9563-410bd0f61509" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1_825c824f-bf25-46ea-b339-106f00ee8a0d" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/RevenueRevenuebyGeographicAreaDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#RevenueRevenuebyGeographicAreaDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/RevenueRevenuebyGeographicAreaDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_e4718157-b739-4aac-8b7b-8437c4d51858" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_a5449a2a-e4b1-456b-a467-0b6144a4e8b2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_e4718157-b739-4aac-8b7b-8437c4d51858" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_a5449a2a-e4b1-456b-a467-0b6144a4e8b2" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementGeographicalAxis_05359ff9-37da-4732-82a7-63dc0b22dcbb" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_a5449a2a-e4b1-456b-a467-0b6144a4e8b2" xlink:to="loc_srt_StatementGeographicalAxis_05359ff9-37da-4732-82a7-63dc0b22dcbb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_05359ff9-37da-4732-82a7-63dc0b22dcbb_default" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_StatementGeographicalAxis_05359ff9-37da-4732-82a7-63dc0b22dcbb" xlink:to="loc_srt_SegmentGeographicalDomain_05359ff9-37da-4732-82a7-63dc0b22dcbb_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_2b5399b4-f34e-4e9b-89ac-effb90dfabce" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_StatementGeographicalAxis_05359ff9-37da-4732-82a7-63dc0b22dcbb" xlink:to="loc_srt_SegmentGeographicalDomain_2b5399b4-f34e-4e9b-89ac-effb90dfabce" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_US_c0fa6c82-6e85-4f4b-8739-6e605a8880ce" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_2b5399b4-f34e-4e9b-89ac-effb90dfabce" xlink:to="loc_country_US_c0fa6c82-6e85-4f4b-8739-6e605a8880ce" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_AsiaPacificMember_252a078e-737d-4c1e-b166-b9e88f7a929a" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_AsiaPacificMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_2b5399b4-f34e-4e9b-89ac-effb90dfabce" xlink:to="loc_srt_AsiaPacificMember_252a078e-737d-4c1e-b166-b9e88f7a929a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_EuropeMember_e0e9b598-c2bd-41ae-a003-44667c3d1a17" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EuropeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_2b5399b4-f34e-4e9b-89ac-effb90dfabce" xlink:to="loc_srt_EuropeMember_e0e9b598-c2bd-41ae-a003-44667c3d1a17" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_CountriesNotSeparatelyRecognizedMember_37af1c87-5f34-4194-997c-20f7690f4c90" xlink:href="fsly-20231231.xsd#fsly_CountriesNotSeparatelyRecognizedMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_2b5399b4-f34e-4e9b-89ac-effb90dfabce" xlink:to="loc_fsly_CountriesNotSeparatelyRecognizedMember_37af1c87-5f34-4194-997c-20f7690f4c90" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_1b44a63a-fdb3-4521-9532-1ace7b30a869" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_e4718157-b739-4aac-8b7b-8437c4d51858" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_1b44a63a-fdb3-4521-9532-1ace7b30a869" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/RevenueRevenuebyCustomerTypeDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#RevenueRevenuebyCustomerTypeDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/RevenueRevenuebyCustomerTypeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_a0c7e617-f805-4dab-b4c8-72920d9d005a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_8f9577e9-9730-4cbe-8289-423017dbf4c2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_a0c7e617-f805-4dab-b4c8-72920d9d005a" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_8f9577e9-9730-4cbe-8289-423017dbf4c2" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MajorCustomersAxis_defbde63-0abd-46be-8a68-4fb8e9b04bb6" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_8f9577e9-9730-4cbe-8289-423017dbf4c2" xlink:to="loc_srt_MajorCustomersAxis_defbde63-0abd-46be-8a68-4fb8e9b04bb6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain_defbde63-0abd-46be-8a68-4fb8e9b04bb6_default" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_MajorCustomersAxis_defbde63-0abd-46be-8a68-4fb8e9b04bb6" xlink:to="loc_srt_NameOfMajorCustomerDomain_defbde63-0abd-46be-8a68-4fb8e9b04bb6_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain_068df419-68c2-49d8-8bd5-04dc3df5388f" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_MajorCustomersAxis_defbde63-0abd-46be-8a68-4fb8e9b04bb6" xlink:to="loc_srt_NameOfMajorCustomerDomain_068df419-68c2-49d8-8bd5-04dc3df5388f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_EnterpriseCustomersMember_6ce092e4-b9e4-4321-a407-f686ccdca69c" xlink:href="fsly-20231231.xsd#fsly_EnterpriseCustomersMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_NameOfMajorCustomerDomain_068df419-68c2-49d8-8bd5-04dc3df5388f" xlink:to="loc_fsly_EnterpriseCustomersMember_6ce092e4-b9e4-4321-a407-f686ccdca69c" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_NonenterpriseCustomersMember_784e192b-ffd4-4f8d-a691-510c731d474e" xlink:href="fsly-20231231.xsd#fsly_NonenterpriseCustomersMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_NameOfMajorCustomerDomain_068df419-68c2-49d8-8bd5-04dc3df5388f" xlink:to="loc_fsly_NonenterpriseCustomersMember_784e192b-ffd4-4f8d-a691-510c731d474e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ChangeInAccountingEstimateByTypeAxis_3f3f91ac-c6c9-4cc5-b4d8-da7dfe5eca98" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ChangeInAccountingEstimateByTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_8f9577e9-9730-4cbe-8289-423017dbf4c2" xlink:to="loc_us-gaap_ChangeInAccountingEstimateByTypeAxis_3f3f91ac-c6c9-4cc5-b4d8-da7dfe5eca98" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ChangeInAccountingEstimateTypeDomain_3f3f91ac-c6c9-4cc5-b4d8-da7dfe5eca98_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ChangeInAccountingEstimateTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ChangeInAccountingEstimateByTypeAxis_3f3f91ac-c6c9-4cc5-b4d8-da7dfe5eca98" xlink:to="loc_us-gaap_ChangeInAccountingEstimateTypeDomain_3f3f91ac-c6c9-4cc5-b4d8-da7dfe5eca98_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ChangeInAccountingEstimateTypeDomain_c592c103-077e-49ce-b368-a20739cedd76" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ChangeInAccountingEstimateTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ChangeInAccountingEstimateByTypeAxis_3f3f91ac-c6c9-4cc5-b4d8-da7dfe5eca98" xlink:to="loc_us-gaap_ChangeInAccountingEstimateTypeDomain_c592c103-077e-49ce-b368-a20739cedd76" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_PriorRevenueMethodologyMember_365b0d62-e3b2-475e-97d7-bbddd2c4a70d" xlink:href="fsly-20231231.xsd#fsly_PriorRevenueMethodologyMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ChangeInAccountingEstimateTypeDomain_c592c103-077e-49ce-b368-a20739cedd76" xlink:to="loc_fsly_PriorRevenueMethodologyMember_365b0d62-e3b2-475e-97d7-bbddd2c4a70d" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_NewRevenueMethodologyMember_c6525776-1810-4079-8726-96a26feda5de" xlink:href="fsly-20231231.xsd#fsly_NewRevenueMethodologyMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ChangeInAccountingEstimateTypeDomain_c592c103-077e-49ce-b368-a20739cedd76" xlink:to="loc_fsly_NewRevenueMethodologyMember_c6525776-1810-4079-8726-96a26feda5de" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_8170a082-62fa-472f-a7e0-bfdea0d1d8c4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_a0c7e617-f805-4dab-b4c8-72920d9d005a" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_8170a082-62fa-472f-a7e0-bfdea0d1d8c4" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/RevenueRemainingPerformanceObligationDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#RevenueRemainingPerformanceObligationDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/RevenueRemainingPerformanceObligationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_80d13d1d-3a14-40aa-8a53-46eb4bc4da2a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_91ee039d-6d24-45f7-9a13-31f42d4794e6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_80d13d1d-3a14-40aa-8a53-46eb4bc4da2a" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_91ee039d-6d24-45f7-9a13-31f42d4794e6" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_45b571f7-b6c8-45e4-a2d6-4d5977d46649" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_91ee039d-6d24-45f7-9a13-31f42d4794e6" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_45b571f7-b6c8-45e4-a2d6-4d5977d46649" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeAxis_cbb13554-da63-4cde-a03c-47a62114f60c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_91ee039d-6d24-45f7-9a13-31f42d4794e6" xlink:to="loc_us-gaap_SubsequentEventTypeAxis_cbb13554-da63-4cde-a03c-47a62114f60c" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_cbb13554-da63-4cde-a03c-47a62114f60c_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_cbb13554-da63-4cde-a03c-47a62114f60c" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_cbb13554-da63-4cde-a03c-47a62114f60c_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_a2b54a82-3b60-41a7-9cc7-41dd1985dc2b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_cbb13554-da63-4cde-a03c-47a62114f60c" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_a2b54a82-3b60-41a7-9cc7-41dd1985dc2b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventMember_6ad6545f-10d3-4c6e-926f-9193cf75bc7b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SubsequentEventTypeDomain_a2b54a82-3b60-41a7-9cc7-41dd1985dc2b" xlink:to="loc_us-gaap_SubsequentEventMember_6ad6545f-10d3-4c6e-926f-9193cf75bc7b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligation_b5516e23-e5ad-4915-93e4-28fa263c005c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_80d13d1d-3a14-40aa-8a53-46eb4bc4da2a" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligation_b5516e23-e5ad-4915-93e4-28fa263c005c" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_RevenueRemainingPerformanceObligationAmountAccrued_9b8e9a07-5be2-45d0-a64d-2aa3ae6f7a2c" xlink:href="fsly-20231231.xsd#fsly_RevenueRemainingPerformanceObligationAmountAccrued"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_80d13d1d-3a14-40aa-8a53-46eb4bc4da2a" xlink:to="loc_fsly_RevenueRemainingPerformanceObligationAmountAccrued_9b8e9a07-5be2-45d0-a64d-2aa3ae6f7a2c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_6b11f063-7952-44b0-898d-d94e6a26be35" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_80d13d1d-3a14-40aa-8a53-46eb4bc4da2a" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_6b11f063-7952-44b0-898d-d94e6a26be35" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_4e398a93-35d8-40b4-8202-a58946ae81cd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_80d13d1d-3a14-40aa-8a53-46eb4bc4da2a" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_4e398a93-35d8-40b4-8202-a58946ae81cd" xlink:type="arc" order="3"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/RevenueRemainingPerformanceObligationDetails_1" xlink:type="simple" xlink:href="fsly-20231231.xsd#RevenueRemainingPerformanceObligationDetails_1"/>
  <link:definitionLink xlink:role="http://fastly.com/role/RevenueRemainingPerformanceObligationDetails_1" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_80d13d1d-3a14-40aa-8a53-46eb4bc4da2a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_91ee039d-6d24-45f7-9a13-31f42d4794e6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_80d13d1d-3a14-40aa-8a53-46eb4bc4da2a" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_91ee039d-6d24-45f7-9a13-31f42d4794e6" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeAxis_cbb13554-da63-4cde-a03c-47a62114f60c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_91ee039d-6d24-45f7-9a13-31f42d4794e6" xlink:to="loc_us-gaap_SubsequentEventTypeAxis_cbb13554-da63-4cde-a03c-47a62114f60c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_cbb13554-da63-4cde-a03c-47a62114f60c_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_cbb13554-da63-4cde-a03c-47a62114f60c" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_cbb13554-da63-4cde-a03c-47a62114f60c_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_a2b54a82-3b60-41a7-9cc7-41dd1985dc2b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_cbb13554-da63-4cde-a03c-47a62114f60c" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_a2b54a82-3b60-41a7-9cc7-41dd1985dc2b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventMember_6ad6545f-10d3-4c6e-926f-9193cf75bc7b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SubsequentEventTypeDomain_a2b54a82-3b60-41a7-9cc7-41dd1985dc2b" xlink:to="loc_us-gaap_SubsequentEventMember_6ad6545f-10d3-4c6e-926f-9193cf75bc7b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligation_b5516e23-e5ad-4915-93e4-28fa263c005c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_80d13d1d-3a14-40aa-8a53-46eb4bc4da2a" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligation_b5516e23-e5ad-4915-93e4-28fa263c005c" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_RevenueRemainingPerformanceObligationAmountAccrued_9b8e9a07-5be2-45d0-a64d-2aa3ae6f7a2c" xlink:href="fsly-20231231.xsd#fsly_RevenueRemainingPerformanceObligationAmountAccrued"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_80d13d1d-3a14-40aa-8a53-46eb4bc4da2a" xlink:to="loc_fsly_RevenueRemainingPerformanceObligationAmountAccrued_9b8e9a07-5be2-45d0-a64d-2aa3ae6f7a2c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_6b11f063-7952-44b0-898d-d94e6a26be35" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_80d13d1d-3a14-40aa-8a53-46eb4bc4da2a" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_6b11f063-7952-44b0-898d-d94e6a26be35" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_4e398a93-35d8-40b4-8202-a58946ae81cd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_80d13d1d-3a14-40aa-8a53-46eb4bc4da2a" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_4e398a93-35d8-40b4-8202-a58946ae81cd" xlink:type="arc" order="3"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_7666bba1-beec-4152-b6f9-86d5eba083fb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleTable_2d3eb384-60f6-4867-b706-dbab46691a8c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_7666bba1-beec-4152-b6f9-86d5eba083fb" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleTable_2d3eb384-60f6-4867-b706-dbab46691a8c" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAxis_0144dc7f-f29b-4d49-9c77-35842687251a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleTable_2d3eb384-60f6-4867-b706-dbab46691a8c" xlink:to="loc_us-gaap_CashAndCashEquivalentsAxis_0144dc7f-f29b-4d49-9c77-35842687251a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_0144dc7f-f29b-4d49-9c77-35842687251a_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_CashAndCashEquivalentsAxis_0144dc7f-f29b-4d49-9c77-35842687251a" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_0144dc7f-f29b-4d49-9c77-35842687251a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_96eba84e-1173-413f-b690-9436f94a4668" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_CashAndCashEquivalentsAxis_0144dc7f-f29b-4d49-9c77-35842687251a" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_96eba84e-1173-413f-b690-9436f94a4668" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashMember_af63ed93-3437-4be7-b2c6-82c06e3e0686" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_96eba84e-1173-413f-b690-9436f94a4668" xlink:to="loc_us-gaap_CashMember_af63ed93-3437-4be7-b2c6-82c06e3e0686" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_679766e9-317c-4ac8-8cff-c2b63ea529d3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_96eba84e-1173-413f-b690-9436f94a4668" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_679766e9-317c-4ac8-8cff-c2b63ea529d3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MoneyMarketFundsMember_7eca8aad-d0a3-47f1-b4c7-5f2eeabfe361" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MoneyMarketFundsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_96eba84e-1173-413f-b690-9436f94a4668" xlink:to="loc_us-gaap_MoneyMarketFundsMember_7eca8aad-d0a3-47f1-b4c7-5f2eeabfe361" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommercialPaperMember_6f4fb5a5-79e0-4b9c-acaa-0d5848e5d18b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommercialPaperMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_96eba84e-1173-413f-b690-9436f94a4668" xlink:to="loc_us-gaap_CommercialPaperMember_6f4fb5a5-79e0-4b9c-acaa-0d5848e5d18b" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_f4cbbe44-6390-4bea-aa70-e0eca1e6cb98" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleTable_2d3eb384-60f6-4867-b706-dbab46691a8c" xlink:to="loc_us-gaap_FinancialInstrumentAxis_f4cbbe44-6390-4bea-aa70-e0eca1e6cb98" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_f4cbbe44-6390-4bea-aa70-e0eca1e6cb98_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FinancialInstrumentAxis_f4cbbe44-6390-4bea-aa70-e0eca1e6cb98" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_f4cbbe44-6390-4bea-aa70-e0eca1e6cb98_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_8661e0af-d378-43aa-9b5b-550084b59086" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FinancialInstrumentAxis_f4cbbe44-6390-4bea-aa70-e0eca1e6cb98" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_8661e0af-d378-43aa-9b5b-550084b59086" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_1ba669a0-06de-4d90-8793-f780984f4aaf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_8661e0af-d378-43aa-9b5b-550084b59086" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_1ba669a0-06de-4d90-8793-f780984f4aaf" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateDebtSecuritiesMember_f82522b8-d979-4b59-a5d7-4b12d4945486" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CorporateDebtSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_8661e0af-d378-43aa-9b5b-550084b59086" xlink:to="loc_us-gaap_CorporateDebtSecuritiesMember_f82522b8-d979-4b59-a5d7-4b12d4945486" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommercialPaperMember_5d3b7031-5154-4af4-b5c3-9ab75eabf01e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommercialPaperMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_8661e0af-d378-43aa-9b5b-550084b59086" xlink:to="loc_us-gaap_CommercialPaperMember_5d3b7031-5154-4af4-b5c3-9ab75eabf01e" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_AgencyBondsMember_42da18cc-2332-437b-bec2-6ec61b90e2d9" xlink:href="fsly-20231231.xsd#fsly_AgencyBondsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_8661e0af-d378-43aa-9b5b-550084b59086" xlink:to="loc_fsly_AgencyBondsMember_42da18cc-2332-437b-bec2-6ec61b90e2d9" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_7ddcfa2f-d987-4ae4-a727-43232270b293" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetBackedSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_8661e0af-d378-43aa-9b5b-550084b59086" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_7ddcfa2f-d987-4ae4-a727-43232270b293" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MunicipalNotesMember_5de0bf9e-ab70-406e-83b2-9616e6a9117f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MunicipalNotesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_8661e0af-d378-43aa-9b5b-550084b59086" xlink:to="loc_us-gaap_MunicipalNotesMember_5de0bf9e-ab70-406e-83b2-9616e6a9117f" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ForeignGovernmentAndSupranationalSecuritiesMember_ac343d49-0e87-4bae-b600-3bcdfeb47d47" xlink:href="fsly-20231231.xsd#fsly_ForeignGovernmentAndSupranationalSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_8661e0af-d378-43aa-9b5b-550084b59086" xlink:to="loc_fsly_ForeignGovernmentAndSupranationalSecuritiesMember_ac343d49-0e87-4bae-b600-3bcdfeb47d47" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_a7c7862f-dc50-47f9-8c83-b3f993e2fe2b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_7666bba1-beec-4152-b6f9-86d5eba083fb" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_a7c7862f-dc50-47f9-8c83-b3f993e2fe2b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MarketableSecuritiesCurrent_ef61c90f-af2a-4a21-9c3b-047d02578dac" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecuritiesCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_7666bba1-beec-4152-b6f9-86d5eba083fb" xlink:to="loc_us-gaap_MarketableSecuritiesCurrent_ef61c90f-af2a-4a21-9c3b-047d02578dac" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MarketableSecuritiesNoncurrent_a13bbc95-d4d5-4a45-9999-3a534d4b66a0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecuritiesNoncurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_7666bba1-beec-4152-b6f9-86d5eba083fb" xlink:to="loc_us-gaap_MarketableSecuritiesNoncurrent_a13bbc95-d4d5-4a45-9999-3a534d4b66a0" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MarketableSecurities_e664c75f-110c-4cee-a877-9f4c38bf722a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecurities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_7666bba1-beec-4152-b6f9-86d5eba083fb" xlink:to="loc_us-gaap_MarketableSecurities_e664c75f-110c-4cee-a877-9f4c38bf722a" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_CashCashEquivalentsAndMarketableSecurities_b513ec70-7476-45ae-b321-1340d900108b" xlink:href="fsly-20231231.xsd#fsly_CashCashEquivalentsAndMarketableSecurities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_7666bba1-beec-4152-b6f9-86d5eba083fb" xlink:to="loc_fsly_CashCashEquivalentsAndMarketableSecurities_b513ec70-7476-45ae-b321-1340d900108b" xlink:type="arc" order="4"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/InvestmentsandFairValueMeasurementsAvailableForSaleInvestmentsDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#InvestmentsandFairValueMeasurementsAvailableForSaleInvestmentsDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/InvestmentsandFairValueMeasurementsAvailableForSaleInvestmentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_58ab0a2f-8b55-4b7a-8edb-91cea9901348" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleTable_2454ef60-f1d4-424b-a5fc-9843f0dc4325" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_58ab0a2f-8b55-4b7a-8edb-91cea9901348" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleTable_2454ef60-f1d4-424b-a5fc-9843f0dc4325" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAxis_1456e70c-9396-4a94-b84b-9138d9b2ee5b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleTable_2454ef60-f1d4-424b-a5fc-9843f0dc4325" xlink:to="loc_us-gaap_CashAndCashEquivalentsAxis_1456e70c-9396-4a94-b84b-9138d9b2ee5b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_1456e70c-9396-4a94-b84b-9138d9b2ee5b_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_CashAndCashEquivalentsAxis_1456e70c-9396-4a94-b84b-9138d9b2ee5b" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_1456e70c-9396-4a94-b84b-9138d9b2ee5b_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_07f0256e-1814-4163-b505-7b3389346f8d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_CashAndCashEquivalentsAxis_1456e70c-9396-4a94-b84b-9138d9b2ee5b" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_07f0256e-1814-4163-b505-7b3389346f8d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_3155b06b-7295-4793-9b05-ceecd296ee8c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_07f0256e-1814-4163-b505-7b3389346f8d" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_3155b06b-7295-4793-9b05-ceecd296ee8c" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommercialPaperMember_aac83c03-e0a6-460f-9c10-f41b2bd7ad00" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommercialPaperMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_07f0256e-1814-4163-b505-7b3389346f8d" xlink:to="loc_us-gaap_CommercialPaperMember_aac83c03-e0a6-460f-9c10-f41b2bd7ad00" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_3ccd583b-e0d8-46b9-9b60-227d976363b5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleTable_2454ef60-f1d4-424b-a5fc-9843f0dc4325" xlink:to="loc_us-gaap_FinancialInstrumentAxis_3ccd583b-e0d8-46b9-9b60-227d976363b5" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_3ccd583b-e0d8-46b9-9b60-227d976363b5_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FinancialInstrumentAxis_3ccd583b-e0d8-46b9-9b60-227d976363b5" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_3ccd583b-e0d8-46b9-9b60-227d976363b5_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_9455ec2b-f123-41d3-9b8c-44ffd395cf7f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FinancialInstrumentAxis_3ccd583b-e0d8-46b9-9b60-227d976363b5" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_9455ec2b-f123-41d3-9b8c-44ffd395cf7f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_0fe2a95b-7faa-4e5f-9df4-a1ba9e0faa56" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_9455ec2b-f123-41d3-9b8c-44ffd395cf7f" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_0fe2a95b-7faa-4e5f-9df4-a1ba9e0faa56" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateDebtSecuritiesMember_5b180a12-c4a0-47ca-8007-c3125e0c4bb1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CorporateDebtSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_9455ec2b-f123-41d3-9b8c-44ffd395cf7f" xlink:to="loc_us-gaap_CorporateDebtSecuritiesMember_5b180a12-c4a0-47ca-8007-c3125e0c4bb1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommercialPaperMember_5daf00d5-6bb6-4ebe-9230-d69830906a7a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommercialPaperMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_9455ec2b-f123-41d3-9b8c-44ffd395cf7f" xlink:to="loc_us-gaap_CommercialPaperMember_5daf00d5-6bb6-4ebe-9230-d69830906a7a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_7409c6fc-b1cf-4bcf-a465-3d8621a78897" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetBackedSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_9455ec2b-f123-41d3-9b8c-44ffd395cf7f" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_7409c6fc-b1cf-4bcf-a465-3d8621a78897" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MunicipalNotesMember_ffd961b7-03dd-4730-9a7c-7879e51bb3ad" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MunicipalNotesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_9455ec2b-f123-41d3-9b8c-44ffd395cf7f" xlink:to="loc_us-gaap_MunicipalNotesMember_ffd961b7-03dd-4730-9a7c-7879e51bb3ad" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ForeignGovernmentAndSupranationalSecuritiesMember_e1faa5f3-039c-41ed-9293-27fe81bb5f85" xlink:href="fsly-20231231.xsd#fsly_ForeignGovernmentAndSupranationalSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_9455ec2b-f123-41d3-9b8c-44ffd395cf7f" xlink:to="loc_fsly_ForeignGovernmentAndSupranationalSecuritiesMember_e1faa5f3-039c-41ed-9293-27fe81bb5f85" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_AgencyBondsMember_6c92de3f-efcc-4e15-9763-7c4854103380" xlink:href="fsly-20231231.xsd#fsly_AgencyBondsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_9455ec2b-f123-41d3-9b8c-44ffd395cf7f" xlink:to="loc_fsly_AgencyBondsMember_6c92de3f-efcc-4e15-9763-7c4854103380" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_17dd197b-5fcb-4c99-aafe-144dbd4e783f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_58ab0a2f-8b55-4b7a-8edb-91cea9901348" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_17dd197b-5fcb-4c99-aafe-144dbd4e783f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_d6cf0a4e-5ca6-469e-9944-e8763ed97e84" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_58ab0a2f-8b55-4b7a-8edb-91cea9901348" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_d6cf0a4e-5ca6-469e-9944-e8763ed97e84" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_d6a83eba-af2c-4b1b-9733-5dbb29d0df2c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_58ab0a2f-8b55-4b7a-8edb-91cea9901348" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_d6a83eba-af2c-4b1b-9733-5dbb29d0df2c" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_e8907357-e3f4-4643-afde-f9625fb4cf23" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_58ab0a2f-8b55-4b7a-8edb-91cea9901348" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_e8907357-e3f4-4643-afde-f9625fb4cf23" xlink:type="arc" order="3"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_810316b1-bf69-4177-9cc3-a71ca4f2e205" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_f8791f62-ae12-469b-8cf7-eccc225cd738" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_810316b1-bf69-4177-9cc3-a71ca4f2e205" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_f8791f62-ae12-469b-8cf7-eccc225cd738" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_343cb51c-304b-48b6-99b2-418f9258e5ae" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_f8791f62-ae12-469b-8cf7-eccc225cd738" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_343cb51c-304b-48b6-99b2-418f9258e5ae" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_343cb51c-304b-48b6-99b2-418f9258e5ae_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_343cb51c-304b-48b6-99b2-418f9258e5ae" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_343cb51c-304b-48b6-99b2-418f9258e5ae_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_3112e149-d5cb-499b-b8b8-410bc5d6bb3e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_343cb51c-304b-48b6-99b2-418f9258e5ae" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_3112e149-d5cb-499b-b8b8-410bc5d6bb3e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel1Member_0486f0fa-c82d-4075-8cce-3f019e1d5493" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel1Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_3112e149-d5cb-499b-b8b8-410bc5d6bb3e" xlink:to="loc_us-gaap_FairValueInputsLevel1Member_0486f0fa-c82d-4075-8cce-3f019e1d5493" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel2Member_35774b28-7401-4ed3-9948-393e836848e1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel2Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_3112e149-d5cb-499b-b8b8-410bc5d6bb3e" xlink:to="loc_us-gaap_FairValueInputsLevel2Member_35774b28-7401-4ed3-9948-393e836848e1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_f79b9410-e2af-4fd9-b772-c7d5c9320952" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel3Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_3112e149-d5cb-499b-b8b8-410bc5d6bb3e" xlink:to="loc_us-gaap_FairValueInputsLevel3Member_f79b9410-e2af-4fd9-b772-c7d5c9320952" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAxis_13e7089c-1819-4c8f-a366-d8e070aa5aec" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_f8791f62-ae12-469b-8cf7-eccc225cd738" xlink:to="loc_us-gaap_CashAndCashEquivalentsAxis_13e7089c-1819-4c8f-a366-d8e070aa5aec" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_13e7089c-1819-4c8f-a366-d8e070aa5aec_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_CashAndCashEquivalentsAxis_13e7089c-1819-4c8f-a366-d8e070aa5aec" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_13e7089c-1819-4c8f-a366-d8e070aa5aec_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_53c17021-a6d1-449a-8daf-f9dd8b0095ad" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_CashAndCashEquivalentsAxis_13e7089c-1819-4c8f-a366-d8e070aa5aec" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_53c17021-a6d1-449a-8daf-f9dd8b0095ad" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MoneyMarketFundsMember_e80e7c9a-a657-4b42-87fc-417914cfcd65" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MoneyMarketFundsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_53c17021-a6d1-449a-8daf-f9dd8b0095ad" xlink:to="loc_us-gaap_MoneyMarketFundsMember_e80e7c9a-a657-4b42-87fc-417914cfcd65" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_e722444c-4ed9-41db-81fc-9826081b38df" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_53c17021-a6d1-449a-8daf-f9dd8b0095ad" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_e722444c-4ed9-41db-81fc-9826081b38df" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommercialPaperMember_19d09b18-97e4-460b-894e-6b4aebff45ec" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommercialPaperMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_53c17021-a6d1-449a-8daf-f9dd8b0095ad" xlink:to="loc_us-gaap_CommercialPaperMember_19d09b18-97e4-460b-894e-6b4aebff45ec" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_69de9b1e-13be-4aa4-a08d-0959dcf3168b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_f8791f62-ae12-469b-8cf7-eccc225cd738" xlink:to="loc_us-gaap_FinancialInstrumentAxis_69de9b1e-13be-4aa4-a08d-0959dcf3168b" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_69de9b1e-13be-4aa4-a08d-0959dcf3168b_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FinancialInstrumentAxis_69de9b1e-13be-4aa4-a08d-0959dcf3168b" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_69de9b1e-13be-4aa4-a08d-0959dcf3168b_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b3a0a739-bf28-45ed-bdd7-683c5dfbbe59" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FinancialInstrumentAxis_69de9b1e-13be-4aa4-a08d-0959dcf3168b" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b3a0a739-bf28-45ed-bdd7-683c5dfbbe59" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_72a854c7-e1cb-4241-a88d-7266b2fd6d63" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b3a0a739-bf28-45ed-bdd7-683c5dfbbe59" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_72a854c7-e1cb-4241-a88d-7266b2fd6d63" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateDebtSecuritiesMember_9199e03d-6f5c-4738-a3a3-a3cdca0e254e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CorporateDebtSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b3a0a739-bf28-45ed-bdd7-683c5dfbbe59" xlink:to="loc_us-gaap_CorporateDebtSecuritiesMember_9199e03d-6f5c-4738-a3a3-a3cdca0e254e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommercialPaperMember_b11d2865-ab16-4fab-bac5-c86641e5676a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommercialPaperMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b3a0a739-bf28-45ed-bdd7-683c5dfbbe59" xlink:to="loc_us-gaap_CommercialPaperMember_b11d2865-ab16-4fab-bac5-c86641e5676a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_b3ce61ac-bf75-49cb-907a-bdd879acb4dc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetBackedSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b3a0a739-bf28-45ed-bdd7-683c5dfbbe59" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_b3ce61ac-bf75-49cb-907a-bdd879acb4dc" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_AgencyBondsMember_8a875c86-c6c9-487f-a032-d356ec331ec1" xlink:href="fsly-20231231.xsd#fsly_AgencyBondsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b3a0a739-bf28-45ed-bdd7-683c5dfbbe59" xlink:to="loc_fsly_AgencyBondsMember_8a875c86-c6c9-487f-a032-d356ec331ec1" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MunicipalNotesMember_81f2d028-2d82-48ed-82ab-972ff01d4777" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MunicipalNotesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b3a0a739-bf28-45ed-bdd7-683c5dfbbe59" xlink:to="loc_us-gaap_MunicipalNotesMember_81f2d028-2d82-48ed-82ab-972ff01d4777" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ForeignGovernmentAndSupranationalSecuritiesMember_4acbc515-d716-4a0a-87af-3474b4a257aa" xlink:href="fsly-20231231.xsd#fsly_ForeignGovernmentAndSupranationalSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b3a0a739-bf28-45ed-bdd7-683c5dfbbe59" xlink:to="loc_fsly_ForeignGovernmentAndSupranationalSecuritiesMember_4acbc515-d716-4a0a-87af-3474b4a257aa" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashEquivalentsAtCarryingValue_9e84861f-866c-4537-8de2-b04836976d80" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashEquivalentsAtCarryingValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_810316b1-bf69-4177-9cc3-a71ca4f2e205" xlink:to="loc_us-gaap_CashEquivalentsAtCarryingValue_9e84861f-866c-4537-8de2-b04836976d80" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MarketableSecurities_2b4fdd88-08b4-406a-ae2b-575396b66f34" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecurities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_810316b1-bf69-4177-9cc3-a71ca4f2e205" xlink:to="loc_us-gaap_MarketableSecurities_2b4fdd88-08b4-406a-ae2b-575396b66f34" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_837b1e2e-0053-4861-af88-b5030ca87070" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_810316b1-bf69-4177-9cc3-a71ca4f2e205" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_837b1e2e-0053-4861-af88-b5030ca87070" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsFairValueDisclosure_e9cf8254-af8a-40dc-a802-80d9b2282378" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsFairValueDisclosure"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_810316b1-bf69-4177-9cc3-a71ca4f2e205" xlink:to="loc_us-gaap_AssetsFairValueDisclosure_e9cf8254-af8a-40dc-a802-80d9b2282378" xlink:type="arc" order="3"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/BusinessCombinationsNarrativeDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#BusinessCombinationsNarrativeDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/BusinessCombinationsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_8bf49a14-8c77-439c-a9ac-0fb22f5d20db" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_80b16902-30ba-4b5b-b867-679a8a131110" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_8bf49a14-8c77-439c-a9ac-0fb22f5d20db" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_80b16902-30ba-4b5b-b867-679a8a131110" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_912a6893-3ec5-4c70-8ffa-4bfd086ee003" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_80b16902-30ba-4b5b-b867-679a8a131110" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_912a6893-3ec5-4c70-8ffa-4bfd086ee003" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_912a6893-3ec5-4c70-8ffa-4bfd086ee003_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_912a6893-3ec5-4c70-8ffa-4bfd086ee003" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_912a6893-3ec5-4c70-8ffa-4bfd086ee003_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_105f8866-61ea-4afe-9bb8-e9546a7eb63c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_912a6893-3ec5-4c70-8ffa-4bfd086ee003" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_105f8866-61ea-4afe-9bb8-e9546a7eb63c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_GlitchIncMember_4b2dc192-5c0b-46c4-9880-c6ba269b44b4" xlink:href="fsly-20231231.xsd#fsly_GlitchIncMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_105f8866-61ea-4afe-9bb8-e9546a7eb63c" xlink:to="loc_fsly_GlitchIncMember_4b2dc192-5c0b-46c4-9880-c6ba269b44b4" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired_5d7bd922-88ee-42d5-9d39-3091d51b2875" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_8bf49a14-8c77-439c-a9ac-0fb22f5d20db" xlink:to="loc_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired_5d7bd922-88ee-42d5-9d39-3091d51b2875" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferred1_e6558db3-028c-45e3-9241-8cf512d2da9b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationConsiderationTransferred1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_8bf49a14-8c77-439c-a9ac-0fb22f5d20db" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferred1_e6558db3-028c-45e3-9241-8cf512d2da9b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_BusinessCombinationConsiderationTransferredHoldback_ed03824a-50fd-4fba-b71b-c8ad87f0e9e9" xlink:href="fsly-20231231.xsd#fsly_BusinessCombinationConsiderationTransferredHoldback"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_8bf49a14-8c77-439c-a9ac-0fb22f5d20db" xlink:to="loc_fsly_BusinessCombinationConsiderationTransferredHoldback_ed03824a-50fd-4fba-b71b-c8ad87f0e9e9" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_BusinessCombinationConsiderationTransferredHoldbackDistributions_39ac6da6-133c-4d8c-873b-cf4cf3d505b7" xlink:href="fsly-20231231.xsd#fsly_BusinessCombinationConsiderationTransferredHoldbackDistributions"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_8bf49a14-8c77-439c-a9ac-0fb22f5d20db" xlink:to="loc_fsly_BusinessCombinationConsiderationTransferredHoldbackDistributions_39ac6da6-133c-4d8c-873b-cf4cf3d505b7" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_BusinessCombinationConsiderationTransferredHoldbackPeriodForDistribution_939c31bf-db26-4515-a486-5cccafdb6ec3" xlink:href="fsly-20231231.xsd#fsly_BusinessCombinationConsiderationTransferredHoldbackPeriodForDistribution"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_8bf49a14-8c77-439c-a9ac-0fb22f5d20db" xlink:to="loc_fsly_BusinessCombinationConsiderationTransferredHoldbackPeriodForDistribution_939c31bf-db26-4515-a486-5cccafdb6ec3" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_c865b72c-701d-4eed-8cbd-c3a9fe10082b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_8bf49a14-8c77-439c-a9ac-0fb22f5d20db" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_c865b72c-701d-4eed-8cbd-c3a9fe10082b" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_9351ae23-b648-4aca-8f79-be23660c077f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_8bf49a14-8c77-439c-a9ac-0fb22f5d20db" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_9351ae23-b648-4aca-8f79-be23660c077f" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherAssetsNet_560eece5-ce23-4055-a339-202a6d47cbe0" xlink:href="fsly-20231231.xsd#fsly_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherAssetsNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_8bf49a14-8c77-439c-a9ac-0fb22f5d20db" xlink:to="loc_fsly_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherAssetsNet_560eece5-ce23-4055-a339-202a6d47cbe0" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_92f732a7-4d0f-4026-8413-729cbe166cd0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_8bf49a14-8c77-439c-a9ac-0fb22f5d20db" xlink:to="loc_us-gaap_Goodwill_92f732a7-4d0f-4026-8413-729cbe166cd0" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationAcquisitionRelatedCosts_85abe832-2487-48d8-b2d9-e295e6692b4f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_8bf49a14-8c77-439c-a9ac-0fb22f5d20db" xlink:to="loc_us-gaap_BusinessCombinationAcquisitionRelatedCosts_85abe832-2487-48d8-b2d9-e295e6692b4f" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_d08becd2-b434-43c7-abde-e8ee3f95158b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_8bf49a14-8c77-439c-a9ac-0fb22f5d20db" xlink:to="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_d08becd2-b434-43c7-abde-e8ee3f95158b" xlink:type="arc" order="10"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/BusinessCombinationsScheduleofIdentifiableFiniteLivedIntangibleAssetsDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#BusinessCombinationsScheduleofIdentifiableFiniteLivedIntangibleAssetsDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/BusinessCombinationsScheduleofIdentifiableFiniteLivedIntangibleAssetsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_8b5459cf-10e0-4672-bd61-7ce5ed5091b8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_e585b76f-9186-43db-ac9b-2ac6ff41d048" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_8b5459cf-10e0-4672-bd61-7ce5ed5091b8" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_e585b76f-9186-43db-ac9b-2ac6ff41d048" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_09175924-c817-4565-8779-cec2b0534f6e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_e585b76f-9186-43db-ac9b-2ac6ff41d048" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_09175924-c817-4565-8779-cec2b0534f6e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_09175924-c817-4565-8779-cec2b0534f6e_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_09175924-c817-4565-8779-cec2b0534f6e" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_09175924-c817-4565-8779-cec2b0534f6e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_6a49a5fd-a486-43b5-a3d5-059537db7e12" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_09175924-c817-4565-8779-cec2b0534f6e" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_6a49a5fd-a486-43b5-a3d5-059537db7e12" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_GlitchIncMember_3e780974-9ad1-459d-816e-bb4ef9494f57" xlink:href="fsly-20231231.xsd#fsly_GlitchIncMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_6a49a5fd-a486-43b5-a3d5-059537db7e12" xlink:to="loc_fsly_GlitchIncMember_3e780974-9ad1-459d-816e-bb4ef9494f57" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_92a108ea-41ef-4fb4-8cc6-5bacad205fa1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_e585b76f-9186-43db-ac9b-2ac6ff41d048" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_92a108ea-41ef-4fb4-8cc6-5bacad205fa1" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_92a108ea-41ef-4fb4-8cc6-5bacad205fa1_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_92a108ea-41ef-4fb4-8cc6-5bacad205fa1" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_92a108ea-41ef-4fb4-8cc6-5bacad205fa1_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_781f1585-5a28-432e-9d49-ddb7d8d303de" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_92a108ea-41ef-4fb4-8cc6-5bacad205fa1" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_781f1585-5a28-432e-9d49-ddb7d8d303de" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember_1b3256ac-ed63-4b51-83b3-927d7497924c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DevelopedTechnologyRightsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_781f1585-5a28-432e-9d49-ddb7d8d303de" xlink:to="loc_us-gaap_DevelopedTechnologyRightsMember_1b3256ac-ed63-4b51-83b3-927d7497924c" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember_dbb12d46-65f9-4b46-90cf-8469912bb312" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelationshipsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_781f1585-5a28-432e-9d49-ddb7d8d303de" xlink:to="loc_us-gaap_CustomerRelationshipsMember_dbb12d46-65f9-4b46-90cf-8469912bb312" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TradeNamesMember_bc188c51-85d4-4e06-9487-40d356175116" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradeNamesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_781f1585-5a28-432e-9d49-ddb7d8d303de" xlink:to="loc_us-gaap_TradeNamesMember_bc188c51-85d4-4e06-9487-40d356175116" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_94bd22fe-5f00-4d84-beb4-ae9f2d30ac19" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_8b5459cf-10e0-4672-bd61-7ce5ed5091b8" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_94bd22fe-5f00-4d84-beb4-ae9f2d30ac19" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_a67ebe89-e2ff-43ab-86b9-576f233c2f2d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_8b5459cf-10e0-4672-bd61-7ce5ed5091b8" xlink:to="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_a67ebe89-e2ff-43ab-86b9-576f233c2f2d" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/BalanceSheetInformationPropertyandequipmentDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#BalanceSheetInformationPropertyandequipmentDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/BalanceSheetInformationPropertyandequipmentDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_46971db0-2742-4c81-ac14-c25cef227ea0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_8c5b1a58-a8b5-4ae3-b30b-93bfe89637f2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_46971db0-2742-4c81-ac14-c25cef227ea0" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_8c5b1a58-a8b5-4ae3-b30b-93bfe89637f2" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_d9b6a0e4-ea9f-4b42-b138-a03a7ed21501" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_8c5b1a58-a8b5-4ae3-b30b-93bfe89637f2" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_d9b6a0e4-ea9f-4b42-b138-a03a7ed21501" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d9b6a0e4-ea9f-4b42-b138-a03a7ed21501_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_d9b6a0e4-ea9f-4b42-b138-a03a7ed21501" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d9b6a0e4-ea9f-4b42-b138-a03a7ed21501_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_acda92e7-1ac0-4353-a999-76356a965f28" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_d9b6a0e4-ea9f-4b42-b138-a03a7ed21501" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_acda92e7-1ac0-4353-a999-76356a965f28" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComputerEquipmentMember_beac4e92-6b23-4560-9472-e96c2358db7e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerEquipmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_acda92e7-1ac0-4353-a999-76356a965f28" xlink:to="loc_us-gaap_ComputerEquipmentMember_beac4e92-6b23-4560-9472-e96c2358db7e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseholdImprovementsMember_9be54131-2e61-4331-9d6c-bddbab702637" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_acda92e7-1ac0-4353-a999-76356a965f28" xlink:to="loc_us-gaap_LeaseholdImprovementsMember_9be54131-2e61-4331-9d6c-bddbab702637" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FurnitureAndFixturesMember_8586447a-e5fd-42fa-b5cf-726b84b14af9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FurnitureAndFixturesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_acda92e7-1ac0-4353-a999-76356a965f28" xlink:to="loc_us-gaap_FurnitureAndFixturesMember_8586447a-e5fd-42fa-b5cf-726b84b14af9" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OfficeEquipmentMember_9e69cf88-8c35-46ba-bf40-efa72f7b98cd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OfficeEquipmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_acda92e7-1ac0-4353-a999-76356a965f28" xlink:to="loc_us-gaap_OfficeEquipmentMember_9e69cf88-8c35-46ba-bf40-efa72f7b98cd" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SoftwareDevelopmentMember_e0fe9da3-f078-417b-826d-f114f445a81a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SoftwareDevelopmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_acda92e7-1ac0-4353-a999-76356a965f28" xlink:to="loc_us-gaap_SoftwareDevelopmentMember_e0fe9da3-f078-417b-826d-f114f445a81a" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_fa342d73-b746-4e7c-9a9a-dd896defb747" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_46971db0-2742-4c81-ac14-c25cef227ea0" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_fa342d73-b746-4e7c-9a9a-dd896defb747" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_073a03a2-d230-4e9c-aafd-f608bc4fae86" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_46971db0-2742-4c81-ac14-c25cef227ea0" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_073a03a2-d230-4e9c-aafd-f608bc4fae86" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_6a0b5dc0-7330-4c12-a1c4-9f83f4517af0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_46971db0-2742-4c81-ac14-c25cef227ea0" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_6a0b5dc0-7330-4c12-a1c4-9f83f4517af0" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/BalanceSheetInformationNarrativeDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#BalanceSheetInformationNarrativeDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/BalanceSheetInformationNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_7c79c9e2-9b70-4719-aba3-608cebd80786" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_47dbaff3-4a05-4557-8e8f-6302a6be0084" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_7c79c9e2-9b70-4719-aba3-608cebd80786" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_47dbaff3-4a05-4557-8e8f-6302a6be0084" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_6efeef09-8770-4edc-a7fd-a70fa5b21ad8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_47dbaff3-4a05-4557-8e8f-6302a6be0084" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_6efeef09-8770-4edc-a7fd-a70fa5b21ad8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_6efeef09-8770-4edc-a7fd-a70fa5b21ad8_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_6efeef09-8770-4edc-a7fd-a70fa5b21ad8" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_6efeef09-8770-4edc-a7fd-a70fa5b21ad8_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_a619d7ee-0e66-49d2-87d1-41a09a76e2b8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_6efeef09-8770-4edc-a7fd-a70fa5b21ad8" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_a619d7ee-0e66-49d2-87d1-41a09a76e2b8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentMember_3af4c6a3-b8a0-45fe-959f-37b2f448ba5d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_a619d7ee-0e66-49d2-87d1-41a09a76e2b8" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentMember_3af4c6a3-b8a0-45fe-959f-37b2f448ba5d" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_PropertyPlantAndEquipmentAdvancePaymentsMember_0685dcb8-2fa8-4c8e-b03a-44f32c3a9db2" xlink:href="fsly-20231231.xsd#fsly_PropertyPlantAndEquipmentAdvancePaymentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_a619d7ee-0e66-49d2-87d1-41a09a76e2b8" xlink:to="loc_fsly_PropertyPlantAndEquipmentAdvancePaymentsMember_0685dcb8-2fa8-4c8e-b03a-44f32c3a9db2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SoftwareDevelopmentMember_8fc8d7a2-b2df-45ec-ae6f-f896ee19e458" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SoftwareDevelopmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_a619d7ee-0e66-49d2-87d1-41a09a76e2b8" xlink:to="loc_us-gaap_SoftwareDevelopmentMember_8fc8d7a2-b2df-45ec-ae6f-f896ee19e458" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComputerEquipmentMember_82360be5-8452-40eb-a63b-e2b99788a49c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerEquipmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_a619d7ee-0e66-49d2-87d1-41a09a76e2b8" xlink:to="loc_us-gaap_ComputerEquipmentMember_82360be5-8452-40eb-a63b-e2b99788a49c" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment_d949ab57-6149-4360-ab45-49db51cda5e2" xlink:href="fsly-20231231.xsd#fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_7c79c9e2-9b70-4719-aba3-608cebd80786" xlink:to="loc_fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment_d949ab57-6149-4360-ab45-49db51cda5e2" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation_22fa8afe-6c87-4ac9-ae6a-09fd308e384a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_7c79c9e2-9b70-4719-aba3-608cebd80786" xlink:to="loc_us-gaap_Depreciation_22fa8afe-6c87-4ac9-ae6a-09fd308e384a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_74ff24bf-5c11-42ee-a89d-6aa9e1b077e8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_7c79c9e2-9b70-4719-aba3-608cebd80786" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_74ff24bf-5c11-42ee-a89d-6aa9e1b077e8" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization_e3318eec-a065-40a0-b230-aeeb7e36c51a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_7c79c9e2-9b70-4719-aba3-608cebd80786" xlink:to="loc_us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization_e3318eec-a065-40a0-b230-aeeb7e36c51a" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization_b9c25750-45ce-44be-a4f1-40cc0d3e4d57" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_7c79c9e2-9b70-4719-aba3-608cebd80786" xlink:to="loc_us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization_b9c25750-45ce-44be-a4f1-40cc0d3e4d57" xlink:type="arc" order="4"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/BalanceSheetInformationAccumulatedOtherComprehensiveIncomeLossDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#BalanceSheetInformationAccumulatedOtherComprehensiveIncomeLossDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/BalanceSheetInformationAccumulatedOtherComprehensiveIncomeLossDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_aa650b18-0363-4d9a-9efc-b3bca1580b5d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_31de3889-289d-475f-89ff-afc46498bdda" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_aa650b18-0363-4d9a-9efc-b3bca1580b5d" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_31de3889-289d-475f-89ff-afc46498bdda" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_93f5d069-b9be-4be2-9f65-3e53d178006b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_31de3889-289d-475f-89ff-afc46498bdda" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_93f5d069-b9be-4be2-9f65-3e53d178006b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_93f5d069-b9be-4be2-9f65-3e53d178006b_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_93f5d069-b9be-4be2-9f65-3e53d178006b" xlink:to="loc_us-gaap_EquityComponentDomain_93f5d069-b9be-4be2-9f65-3e53d178006b_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_4dcdb0f3-b6b6-4f4d-8877-78a29ff30ab0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_93f5d069-b9be-4be2-9f65-3e53d178006b" xlink:to="loc_us-gaap_EquityComponentDomain_4dcdb0f3-b6b6-4f4d-8877-78a29ff30ab0" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedTranslationAdjustmentMember_c5205c85-6fa4-464a-8262-a0dbd5ee7f7a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedTranslationAdjustmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_4dcdb0f3-b6b6-4f4d-8877-78a29ff30ab0" xlink:to="loc_us-gaap_AccumulatedTranslationAdjustmentMember_c5205c85-6fa4-464a-8262-a0dbd5ee7f7a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember_b6dfa44f-a002-4419-b8ef-ff68ba5d5050" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_4dcdb0f3-b6b6-4f4d-8877-78a29ff30ab0" xlink:to="loc_us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember_b6dfa44f-a002-4419-b8ef-ff68ba5d5050" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_be70559f-67c5-4f9e-a2fe-9a2932049176" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_4dcdb0f3-b6b6-4f4d-8877-78a29ff30ab0" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_be70559f-67c5-4f9e-a2fe-9a2932049176" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_3df1737e-4c61-46b8-bc6b-063a497c9385" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AOCIAttributableToParentNetOfTaxRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_aa650b18-0363-4d9a-9efc-b3bca1580b5d" xlink:to="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_3df1737e-4c61-46b8-bc6b-063a497c9385" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_cd207ee0-fa22-4e2f-9186-617c79e96c29" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_3df1737e-4c61-46b8-bc6b-063a497c9385" xlink:to="loc_us-gaap_StockholdersEquity_cd207ee0-fa22-4e2f-9186-617c79e96c29" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_4d177e8b-ce6e-4d81-a99d-d0318c2a9c3a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_3df1737e-4c61-46b8-bc6b-063a497c9385" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_4d177e8b-ce6e-4d81-a99d-d0318c2a9c3a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_074954a6-772b-41a1-ac69-669a07579fbf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/LeasesNarrativeDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#LeasesNarrativeDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/LeasesNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionLineItems_48dc9b4e-815b-41c1-8a50-de37415b5f6d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionTable_225afdd1-a65e-44f1-90f7-afcaebc6b0ee" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_48dc9b4e-815b-41c1-8a50-de37415b5f6d" xlink:to="loc_us-gaap_LesseeLeaseDescriptionTable_225afdd1-a65e-44f1-90f7-afcaebc6b0ee" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_94304f0c-fb49-4f1b-8b2d-6013f16bbf7e" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable_225afdd1-a65e-44f1-90f7-afcaebc6b0ee" xlink:to="loc_srt_RangeAxis_94304f0c-fb49-4f1b-8b2d-6013f16bbf7e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_94304f0c-fb49-4f1b-8b2d-6013f16bbf7e_default" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_94304f0c-fb49-4f1b-8b2d-6013f16bbf7e" xlink:to="loc_srt_RangeMember_94304f0c-fb49-4f1b-8b2d-6013f16bbf7e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_36aba644-4b0d-4d09-941f-7393a0b284c8" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_94304f0c-fb49-4f1b-8b2d-6013f16bbf7e" xlink:to="loc_srt_RangeMember_36aba644-4b0d-4d09-941f-7393a0b284c8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_38fd28e8-8488-4479-bd1e-f8683d6c1757" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_36aba644-4b0d-4d09-941f-7393a0b284c8" xlink:to="loc_srt_MinimumMember_38fd28e8-8488-4479-bd1e-f8683d6c1757" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_6ee82cec-1e6c-4b18-a598-4c9ee268ff92" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_36aba644-4b0d-4d09-941f-7393a0b284c8" xlink:to="loc_srt_MaximumMember_6ee82cec-1e6c-4b18-a598-4c9ee268ff92" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseRemainingLeaseTerm_9c15db5c-4792-4e46-a661-17d03c68b8aa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseRemainingLeaseTerm"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_48dc9b4e-815b-41c1-8a50-de37415b5f6d" xlink:to="loc_us-gaap_LesseeOperatingLeaseRemainingLeaseTerm_9c15db5c-4792-4e46-a661-17d03c68b8aa" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeFinanceLeaseRemainingLeaseTerm_102f07f8-6933-4f1e-befd-1950b2eb8a4e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeFinanceLeaseRemainingLeaseTerm"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_48dc9b4e-815b-41c1-8a50-de37415b5f6d" xlink:to="loc_us-gaap_LesseeFinanceLeaseRemainingLeaseTerm_102f07f8-6933-4f1e-befd-1950b2eb8a4e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_SubleasesRemainingLeaseTerms_aa7826b5-8b74-44ac-956f-f3dfd5040cc6" xlink:href="fsly-20231231.xsd#fsly_SubleasesRemainingLeaseTerms"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_48dc9b4e-815b-41c1-8a50-de37415b5f6d" xlink:to="loc_fsly_SubleasesRemainingLeaseTerms_aa7826b5-8b74-44ac-956f-f3dfd5040cc6" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubleaseIncome_61c431c6-cb8f-4dff-8e91-f03555a30efc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubleaseIncome"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_48dc9b4e-815b-41c1-8a50-de37415b5f6d" xlink:to="loc_us-gaap_SubleaseIncome_61c431c6-cb8f-4dff-8e91-f03555a30efc" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseImpairmentLoss_6e0f4444-79ff-49cc-9607-414e95b058bb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseImpairmentLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_48dc9b4e-815b-41c1-8a50-de37415b5f6d" xlink:to="loc_us-gaap_OperatingLeaseImpairmentLoss_6e0f4444-79ff-49cc-9607-414e95b058bb" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_LesseeOperatingLeaseLeaseNotYetCommencedCommitmentAmount_7375b2d6-db10-409b-8ef2-b6ab18d4a078" xlink:href="fsly-20231231.xsd#fsly_LesseeOperatingLeaseLeaseNotYetCommencedCommitmentAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_48dc9b4e-815b-41c1-8a50-de37415b5f6d" xlink:to="loc_fsly_LesseeOperatingLeaseLeaseNotYetCommencedCommitmentAmount_7375b2d6-db10-409b-8ef2-b6ab18d4a078" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1_e1f875bd-64b5-491d-bbbb-0b43e530d261" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_48dc9b4e-815b-41c1-8a50-de37415b5f6d" xlink:to="loc_us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1_e1f875bd-64b5-491d-bbbb-0b43e530d261" xlink:type="arc" order="6"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/GoodwillandIntangibleAssetsNarrativeDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#GoodwillandIntangibleAssetsNarrativeDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/GoodwillandIntangibleAssetsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_33e0c909-2848-4f10-a186-a916987ae408" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_009f949b-fc5f-41f7-b406-33253e4e2adc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_33e0c909-2848-4f10-a186-a916987ae408" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_009f949b-fc5f-41f7-b406-33253e4e2adc" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_d5107f79-bd92-422d-b909-535606708afd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_009f949b-fc5f-41f7-b406-33253e4e2adc" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_d5107f79-bd92-422d-b909-535606708afd" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_d5107f79-bd92-422d-b909-535606708afd_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_d5107f79-bd92-422d-b909-535606708afd" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_d5107f79-bd92-422d-b909-535606708afd_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_cacf55a2-4c65-494d-8c11-5dd796d674c8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_d5107f79-bd92-422d-b909-535606708afd" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_cacf55a2-4c65-494d-8c11-5dd796d674c8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_GlitchIncMember_c1107bcb-e88b-4376-8378-89315b945479" xlink:href="fsly-20231231.xsd#fsly_GlitchIncMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_cacf55a2-4c65-494d-8c11-5dd796d674c8" xlink:to="loc_fsly_GlitchIncMember_c1107bcb-e88b-4376-8378-89315b945479" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillImpairmentLoss_f419ac88-6937-4520-9ae5-e779b9fcc30d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillImpairmentLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_33e0c909-2848-4f10-a186-a916987ae408" xlink:to="loc_us-gaap_GoodwillImpairmentLoss_f419ac88-6937-4520-9ae5-e779b9fcc30d" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_d9f2cd4d-8a50-4551-b838-1a0d082e2007" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_33e0c909-2848-4f10-a186-a916987ae408" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_d9f2cd4d-8a50-4551-b838-1a0d082e2007" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireIntangibleAssets_0bc3b05f-8057-46f7-b9b5-5e1875530924" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireIntangibleAssets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_33e0c909-2848-4f10-a186-a916987ae408" xlink:to="loc_us-gaap_PaymentsToAcquireIntangibleAssets_0bc3b05f-8057-46f7-b9b5-5e1875530924" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofIntangibleAssetsNetDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#GoodwillandIntangibleAssetsScheduleofIntangibleAssetsNetDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofIntangibleAssetsNetDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_cafa7e4c-ff18-413a-a14f-3adb42548c77" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_e36327bb-5348-4a02-8563-26e5ce47125e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_cafa7e4c-ff18-413a-a14f-3adb42548c77" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_e36327bb-5348-4a02-8563-26e5ce47125e" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_6314fede-ee45-4709-a86f-1871fbc282e7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_e36327bb-5348-4a02-8563-26e5ce47125e" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_6314fede-ee45-4709-a86f-1871fbc282e7" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_6314fede-ee45-4709-a86f-1871fbc282e7_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_6314fede-ee45-4709-a86f-1871fbc282e7" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_6314fede-ee45-4709-a86f-1871fbc282e7_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_c480356d-e49e-4a57-99d3-75acc6296860" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_6314fede-ee45-4709-a86f-1871fbc282e7" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_c480356d-e49e-4a57-99d3-75acc6296860" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember_16845bdf-3db9-4b0a-bef0-a823edd20d7e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelationshipsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_c480356d-e49e-4a57-99d3-75acc6296860" xlink:to="loc_us-gaap_CustomerRelationshipsMember_16845bdf-3db9-4b0a-bef0-a823edd20d7e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember_e48f2b79-9677-4dfb-8b67-ba2b24ccace1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DevelopedTechnologyRightsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_c480356d-e49e-4a57-99d3-75acc6296860" xlink:to="loc_us-gaap_DevelopedTechnologyRightsMember_e48f2b79-9677-4dfb-8b67-ba2b24ccace1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TradeNamesMember_0fcbc826-1420-4352-a429-201c0ed2200a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradeNamesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_c480356d-e49e-4a57-99d3-75acc6296860" xlink:to="loc_us-gaap_TradeNamesMember_0fcbc826-1420-4352-a429-201c0ed2200a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_InternetProtocolAddressesMember_1f13f4bb-8149-46e7-ab26-1752cfe97586" xlink:href="fsly-20231231.xsd#fsly_InternetProtocolAddressesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_c480356d-e49e-4a57-99d3-75acc6296860" xlink:to="loc_fsly_InternetProtocolAddressesMember_1f13f4bb-8149-46e7-ab26-1752cfe97586" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrderOrProductionBacklogMember_d1eca0cd-2086-4974-abde-a3a3b280469b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrderOrProductionBacklogMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_c480356d-e49e-4a57-99d3-75acc6296860" xlink:to="loc_us-gaap_OrderOrProductionBacklogMember_d1eca0cd-2086-4974-abde-a3a3b280469b" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_b447ebf4-5192-4060-87eb-ff098a69d138" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_cafa7e4c-ff18-413a-a14f-3adb42548c77" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_b447ebf4-5192-4060-87eb-ff098a69d138" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_56224097-a4d9-4037-940b-38a31e661034" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_cafa7e4c-ff18-413a-a14f-3adb42548c77" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_56224097-a4d9-4037-940b-38a31e661034" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_5ee8d72f-0e8e-4d7f-9fbd-af3024a6a992" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_cafa7e4c-ff18-413a-a14f-3adb42548c77" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_5ee8d72f-0e8e-4d7f-9fbd-af3024a6a992" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/DebtInstrumentsSeniorSecuredCreditFacilitiesAgreementDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#DebtInstrumentsSeniorSecuredCreditFacilitiesAgreementDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/DebtInstrumentsSeniorSecuredCreditFacilitiesAgreementDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_f3f53da8-644c-4091-ba87-8bed9df6e21d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_84f8b813-1231-4533-8601-61f6051e72ff" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DebtInstrumentLineItems_f3f53da8-644c-4091-ba87-8bed9df6e21d" xlink:to="loc_us-gaap_DebtInstrumentTable_84f8b813-1231-4533-8601-61f6051e72ff" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_0d263480-7b26-41ee-b935-344bde45fe5b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_84f8b813-1231-4533-8601-61f6051e72ff" xlink:to="loc_us-gaap_DebtInstrumentAxis_0d263480-7b26-41ee-b935-344bde45fe5b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_0d263480-7b26-41ee-b935-344bde45fe5b_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DebtInstrumentAxis_0d263480-7b26-41ee-b935-344bde45fe5b" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_0d263480-7b26-41ee-b935-344bde45fe5b_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_e608bc77-5494-42fa-9aca-34e5edd47f11" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DebtInstrumentAxis_0d263480-7b26-41ee-b935-344bde45fe5b" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_e608bc77-5494-42fa-9aca-34e5edd47f11" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_SVBRevolverMember_8d7ab822-ae0f-4cd8-bb8b-21bfd710c650" xlink:href="fsly-20231231.xsd#fsly_SVBRevolverMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_e608bc77-5494-42fa-9aca-34e5edd47f11" xlink:to="loc_fsly_SVBRevolverMember_8d7ab822-ae0f-4cd8-bb8b-21bfd710c650" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_783ce907-7911-4953-ac04-6f16eadab966" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_84f8b813-1231-4533-8601-61f6051e72ff" xlink:to="loc_srt_RangeAxis_783ce907-7911-4953-ac04-6f16eadab966" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_783ce907-7911-4953-ac04-6f16eadab966_default" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_783ce907-7911-4953-ac04-6f16eadab966" xlink:to="loc_srt_RangeMember_783ce907-7911-4953-ac04-6f16eadab966_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_bd153b11-1403-45a3-9fec-4ddc2e6abfa9" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_783ce907-7911-4953-ac04-6f16eadab966" xlink:to="loc_srt_RangeMember_bd153b11-1403-45a3-9fec-4ddc2e6abfa9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_6d31c0bb-7b78-42fa-ad4f-9c9fea4e21ec" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_bd153b11-1403-45a3-9fec-4ddc2e6abfa9" xlink:to="loc_srt_MinimumMember_6d31c0bb-7b78-42fa-ad4f-9c9fea4e21ec" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_db320b26-6546-4a08-9374-a1c22cedf3c4" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_bd153b11-1403-45a3-9fec-4ddc2e6abfa9" xlink:to="loc_srt_MaximumMember_db320b26-6546-4a08-9374-a1c22cedf3c4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateAxis_361a40fe-8941-4944-a634-ad7a9c197d9e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_84f8b813-1231-4533-8601-61f6051e72ff" xlink:to="loc_us-gaap_VariableRateAxis_361a40fe-8941-4944-a634-ad7a9c197d9e" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain_361a40fe-8941-4944-a634-ad7a9c197d9e_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_VariableRateAxis_361a40fe-8941-4944-a634-ad7a9c197d9e" xlink:to="loc_us-gaap_VariableRateDomain_361a40fe-8941-4944-a634-ad7a9c197d9e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain_5a0307b1-dbda-4b2a-a862-9f12db431bdf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_VariableRateAxis_361a40fe-8941-4944-a634-ad7a9c197d9e" xlink:to="loc_us-gaap_VariableRateDomain_5a0307b1-dbda-4b2a-a862-9f12db431bdf" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_LondonInterbankOfferedRateMember_c47d4eec-1cce-4789-9fe0-28240c628c7e" xlink:href="fsly-20231231.xsd#fsly_LondonInterbankOfferedRateMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VariableRateDomain_5a0307b1-dbda-4b2a-a862-9f12db431bdf" xlink:to="loc_fsly_LondonInterbankOfferedRateMember_c47d4eec-1cce-4789-9fe0-28240c628c7e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_SecuredOvernightFinanceRateMember_07009d6f-15ed-45db-a5aa-419d2cee28a5" xlink:href="fsly-20231231.xsd#fsly_SecuredOvernightFinanceRateMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VariableRateDomain_5a0307b1-dbda-4b2a-a862-9f12db431bdf" xlink:to="loc_fsly_SecuredOvernightFinanceRateMember_07009d6f-15ed-45db-a5aa-419d2cee28a5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BaseRateMember_1efd59fe-42bc-4d87-97be-59230c62e394" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BaseRateMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VariableRateDomain_5a0307b1-dbda-4b2a-a862-9f12db431bdf" xlink:to="loc_us-gaap_BaseRateMember_1efd59fe-42bc-4d87-97be-59230c62e394" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_3030708e-b319-4095-9024-e576096c8a1e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_f3f53da8-644c-4091-ba87-8bed9df6e21d" xlink:to="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_3030708e-b319-4095-9024-e576096c8a1e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFinanceCostsGross_8afff7ca-91d9-4c6f-9fc6-01f54119a123" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFinanceCostsGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_f3f53da8-644c-4091-ba87-8bed9df6e21d" xlink:to="loc_us-gaap_DeferredFinanceCostsGross_8afff7ca-91d9-4c6f-9fc6-01f54119a123" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_5b11187a-02d1-4a71-95af-cc85535ad707" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_f3f53da8-644c-4091-ba87-8bed9df6e21d" xlink:to="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_5b11187a-02d1-4a71-95af-cc85535ad707" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DebtInstrumentBasisSpreadAdjustment_1c6d789b-316b-4523-bfc9-c5db318e8346" xlink:href="fsly-20231231.xsd#fsly_DebtInstrumentBasisSpreadAdjustment"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_f3f53da8-644c-4091-ba87-8bed9df6e21d" xlink:to="loc_fsly_DebtInstrumentBasisSpreadAdjustment_1c6d789b-316b-4523-bfc9-c5db318e8346" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_fe684503-24fd-4a06-93b3-d9f50a26ac59" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_f3f53da8-644c-4091-ba87-8bed9df6e21d" xlink:to="loc_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_fe684503-24fd-4a06-93b3-d9f50a26ac59" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DebtCovenantAdjustedQuickRatioMinimumRequirement_a837f364-77c6-49ab-abfe-7bd56d028a04" xlink:href="fsly-20231231.xsd#fsly_DebtCovenantAdjustedQuickRatioMinimumRequirement"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_f3f53da8-644c-4091-ba87-8bed9df6e21d" xlink:to="loc_fsly_DebtCovenantAdjustedQuickRatioMinimumRequirement_a837f364-77c6-49ab-abfe-7bd56d028a04" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DebtCovenantAdjustedQuickRatioMinimumThresholdToTriggerRevenueGrowthCovenantRequirement_cb512e51-28ee-4a93-8691-169ffa6560cc" xlink:href="fsly-20231231.xsd#fsly_DebtCovenantAdjustedQuickRatioMinimumThresholdToTriggerRevenueGrowthCovenantRequirement"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_f3f53da8-644c-4091-ba87-8bed9df6e21d" xlink:to="loc_fsly_DebtCovenantAdjustedQuickRatioMinimumThresholdToTriggerRevenueGrowthCovenantRequirement_cb512e51-28ee-4a93-8691-169ffa6560cc" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromLinesOfCredit_6bcd0481-9dcd-4726-9f61-55aac20ed6ff" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromLinesOfCredit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_f3f53da8-644c-4091-ba87-8bed9df6e21d" xlink:to="loc_us-gaap_ProceedsFromLinesOfCredit_6bcd0481-9dcd-4726-9f61-55aac20ed6ff" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCredit_07be4f66-86d8-4574-9625-9683cb84e3d1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCredit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_f3f53da8-644c-4091-ba87-8bed9df6e21d" xlink:to="loc_us-gaap_LineOfCredit_07be4f66-86d8-4574-9625-9683cb84e3d1" xlink:type="arc" order="8"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#DebtInstrumentsConvertibleSeniorNotesDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_0cd1847c-451b-44e8-bf92-d7f3093c8c81" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_d133d4ae-21ef-4008-b19f-7d9a6130c8d8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DebtInstrumentLineItems_0cd1847c-451b-44e8-bf92-d7f3093c8c81" xlink:to="loc_us-gaap_DebtInstrumentTable_d133d4ae-21ef-4008-b19f-7d9a6130c8d8" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_3f5910bf-da0e-4577-9c36-5a28a8fdf2ad" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_d133d4ae-21ef-4008-b19f-7d9a6130c8d8" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_3f5910bf-da0e-4577-9c36-5a28a8fdf2ad" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_3f5910bf-da0e-4577-9c36-5a28a8fdf2ad_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_3f5910bf-da0e-4577-9c36-5a28a8fdf2ad" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_3f5910bf-da0e-4577-9c36-5a28a8fdf2ad_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_4f10c4c9-8231-43a3-b90d-cee3ff1a9390" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_3f5910bf-da0e-4577-9c36-5a28a8fdf2ad" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_4f10c4c9-8231-43a3-b90d-cee3ff1a9390" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertibleDebtMember_c90f1f54-6eea-4a5c-8ac4-d58b0baec108" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_4f10c4c9-8231-43a3-b90d-cee3ff1a9390" xlink:to="loc_us-gaap_ConvertibleDebtMember_c90f1f54-6eea-4a5c-8ac4-d58b0baec108" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_3293f636-c5d3-4d3f-a6d0-d96381094cdd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_d133d4ae-21ef-4008-b19f-7d9a6130c8d8" xlink:to="loc_us-gaap_DebtInstrumentAxis_3293f636-c5d3-4d3f-a6d0-d96381094cdd" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_3293f636-c5d3-4d3f-a6d0-d96381094cdd_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DebtInstrumentAxis_3293f636-c5d3-4d3f-a6d0-d96381094cdd" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_3293f636-c5d3-4d3f-a6d0-d96381094cdd_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_7aca567f-bd8d-4a1f-a16e-88a62288a136" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DebtInstrumentAxis_3293f636-c5d3-4d3f-a6d0-d96381094cdd" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_7aca567f-bd8d-4a1f-a16e-88a62288a136" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_A2026ConvertibleNotesMember_d9f561ef-0ee7-4fcd-b9c7-4ad72ef29cff" xlink:href="fsly-20231231.xsd#fsly_A2026ConvertibleNotesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_7aca567f-bd8d-4a1f-a16e-88a62288a136" xlink:to="loc_fsly_A2026ConvertibleNotesMember_d9f561ef-0ee7-4fcd-b9c7-4ad72ef29cff" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtConversionByUniqueDescriptionAxis_7ca02b0b-35ba-4dec-a53e-b72c24161341" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtConversionByUniqueDescriptionAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_d133d4ae-21ef-4008-b19f-7d9a6130c8d8" xlink:to="loc_us-gaap_DebtConversionByUniqueDescriptionAxis_7ca02b0b-35ba-4dec-a53e-b72c24161341" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtConversionNameDomain_7ca02b0b-35ba-4dec-a53e-b72c24161341_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtConversionNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DebtConversionByUniqueDescriptionAxis_7ca02b0b-35ba-4dec-a53e-b72c24161341" xlink:to="loc_us-gaap_DebtConversionNameDomain_7ca02b0b-35ba-4dec-a53e-b72c24161341_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtConversionNameDomain_24bdfba6-9c11-46e0-a89a-350309de1678" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtConversionNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DebtConversionByUniqueDescriptionAxis_7ca02b0b-35ba-4dec-a53e-b72c24161341" xlink:to="loc_us-gaap_DebtConversionNameDomain_24bdfba6-9c11-46e0-a89a-350309de1678" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DebtConversionScenarioOneMember_eabe770e-30af-472b-92d5-a7b7b697cb45" xlink:href="fsly-20231231.xsd#fsly_DebtConversionScenarioOneMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtConversionNameDomain_24bdfba6-9c11-46e0-a89a-350309de1678" xlink:to="loc_fsly_DebtConversionScenarioOneMember_eabe770e-30af-472b-92d5-a7b7b697cb45" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DebtConversionScenarioTwoMember_5b149621-9bff-4d2a-aac4-6b82a34d56fd" xlink:href="fsly-20231231.xsd#fsly_DebtConversionScenarioTwoMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtConversionNameDomain_24bdfba6-9c11-46e0-a89a-350309de1678" xlink:to="loc_fsly_DebtConversionScenarioTwoMember_5b149621-9bff-4d2a-aac4-6b82a34d56fd" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DebtConversionScenarioThreeMember_1d121b86-1ff6-4fae-944b-d03c7d36da03" xlink:href="fsly-20231231.xsd#fsly_DebtConversionScenarioThreeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtConversionNameDomain_24bdfba6-9c11-46e0-a89a-350309de1678" xlink:to="loc_fsly_DebtConversionScenarioThreeMember_1d121b86-1ff6-4fae-944b-d03c7d36da03" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DebtConversionScenarioFourMember_828d46aa-9073-4fb7-95c2-4cd0236455dd" xlink:href="fsly-20231231.xsd#fsly_DebtConversionScenarioFourMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtConversionNameDomain_24bdfba6-9c11-46e0-a89a-350309de1678" xlink:to="loc_fsly_DebtConversionScenarioFourMember_828d46aa-9073-4fb7-95c2-4cd0236455dd" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_5c657b80-d53b-4f6f-bd5b-9f66304a0267" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_d133d4ae-21ef-4008-b19f-7d9a6130c8d8" xlink:to="loc_us-gaap_StatementClassOfStockAxis_5c657b80-d53b-4f6f-bd5b-9f66304a0267" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_5c657b80-d53b-4f6f-bd5b-9f66304a0267_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_5c657b80-d53b-4f6f-bd5b-9f66304a0267" xlink:to="loc_us-gaap_ClassOfStockDomain_5c657b80-d53b-4f6f-bd5b-9f66304a0267_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_57b45d51-5f63-4be1-a22b-921b0286bc96" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_5c657b80-d53b-4f6f-bd5b-9f66304a0267" xlink:to="loc_us-gaap_ClassOfStockDomain_57b45d51-5f63-4be1-a22b-921b0286bc96" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember_4c420aa6-558a-4729-b294-063c3fe21c14" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonClassAMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_57b45d51-5f63-4be1-a22b-921b0286bc96" xlink:to="loc_us-gaap_CommonClassAMember_4c420aa6-558a-4729-b294-063c3fe21c14" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentFaceAmount_a8340691-8481-4da2-9506-828002003961" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_0cd1847c-451b-44e8-bf92-d7f3093c8c81" xlink:to="loc_us-gaap_DebtInstrumentFaceAmount_a8340691-8481-4da2-9506-828002003961" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_068f7cea-fd63-4d78-83e6-162282294004" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_0cd1847c-451b-44e8-bf92-d7f3093c8c81" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_068f7cea-fd63-4d78-83e6-162282294004" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DebtInstrumentFaceAmountAdditionalPrincipalIssuable_e88ba50c-48b3-45f7-823c-6b83a59b1e18" xlink:href="fsly-20231231.xsd#fsly_DebtInstrumentFaceAmountAdditionalPrincipalIssuable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_0cd1847c-451b-44e8-bf92-d7f3093c8c81" xlink:to="loc_fsly_DebtInstrumentFaceAmountAdditionalPrincipalIssuable_e88ba50c-48b3-45f7-823c-6b83a59b1e18" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromConvertibleDebt_c9018e4f-1b81-44ef-9ba7-d97d4b036464" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromConvertibleDebt"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_0cd1847c-451b-44e8-bf92-d7f3093c8c81" xlink:to="loc_us-gaap_ProceedsFromConvertibleDebt_c9018e4f-1b81-44ef-9ba7-d97d4b036464" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPricePercentage_41c0c74c-9153-420d-be06-0629afca2c96" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentRedemptionPricePercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_0cd1847c-451b-44e8-bf92-d7f3093c8c81" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPricePercentage_41c0c74c-9153-420d-be06-0629afca2c96" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger_60bd82fd-f78e-49ef-9401-bbaa2baefd06" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_0cd1847c-451b-44e8-bf92-d7f3093c8c81" xlink:to="loc_us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger_60bd82fd-f78e-49ef-9401-bbaa2baefd06" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentConvertibleThresholdTradingDays_f4e82049-32fb-4282-876c-bcaed16e3404" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleThresholdTradingDays"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_0cd1847c-451b-44e8-bf92-d7f3093c8c81" xlink:to="loc_us-gaap_DebtInstrumentConvertibleThresholdTradingDays_f4e82049-32fb-4282-876c-bcaed16e3404" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1_f53acbad-5b0e-4959-b29a-fea5094e5224" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_0cd1847c-451b-44e8-bf92-d7f3093c8c81" xlink:to="loc_us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1_f53acbad-5b0e-4959-b29a-fea5094e5224" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentConvertibleConversionRatio1_9d11a1b5-3617-4c00-84cf-ee8c4b23bcb8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleConversionRatio1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_0cd1847c-451b-44e8-bf92-d7f3093c8c81" xlink:to="loc_us-gaap_DebtInstrumentConvertibleConversionRatio1_9d11a1b5-3617-4c00-84cf-ee8c4b23bcb8" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentConvertibleConversionPrice1_9bb6483b-fb30-4173-b289-756af83f5ab6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_0cd1847c-451b-44e8-bf92-d7f3093c8c81" xlink:to="loc_us-gaap_DebtInstrumentConvertibleConversionPrice1_9bb6483b-fb30-4173-b289-756af83f5ab6" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet_5548df8e-0661-41cd-8d54-292b90c8d392" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_0cd1847c-451b-44e8-bf92-d7f3093c8c81" xlink:to="loc_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet_5548df8e-0661-41cd-8d54-292b90c8d392" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRepurchasedFaceAmount_dccab8cc-7676-424c-9729-96848475190d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentRepurchasedFaceAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_0cd1847c-451b-44e8-bf92-d7f3093c8c81" xlink:to="loc_us-gaap_DebtInstrumentRepurchasedFaceAmount_dccab8cc-7676-424c-9729-96848475190d" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRepurchaseAmount_1317d5c8-128c-4ec3-8360-a66c5fdca78c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentRepurchaseAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_0cd1847c-451b-44e8-bf92-d7f3093c8c81" xlink:to="loc_us-gaap_DebtInstrumentRepurchaseAmount_1317d5c8-128c-4ec3-8360-a66c5fdca78c" xlink:type="arc" order="12"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DebtInstrumentRepurchaseTransactionCosts_95a9f275-ce3e-454c-ae32-2afeadbc80d6" xlink:href="fsly-20231231.xsd#fsly_DebtInstrumentRepurchaseTransactionCosts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_0cd1847c-451b-44e8-bf92-d7f3093c8c81" xlink:to="loc_fsly_DebtInstrumentRepurchaseTransactionCosts_95a9f275-ce3e-454c-ae32-2afeadbc80d6" xlink:type="arc" order="13"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_426639c7-9dbe-4d88-86d2-57dbeef899ba" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_0cd1847c-451b-44e8-bf92-d7f3093c8c81" xlink:to="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_426639c7-9dbe-4d88-86d2-57dbeef899ba" xlink:type="arc" order="14"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/DebtInstrumentsScheduleofOutstandingDebtDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#DebtInstrumentsScheduleofOutstandingDebtDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/DebtInstrumentsScheduleofOutstandingDebtDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_e3c82144-3a9f-4de5-a014-aca4787a2db8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_b16123a8-0e2e-4dd1-b244-c26466c7bb32" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DebtInstrumentLineItems_e3c82144-3a9f-4de5-a014-aca4787a2db8" xlink:to="loc_us-gaap_DebtInstrumentTable_b16123a8-0e2e-4dd1-b244-c26466c7bb32" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_79f6ee34-6ad2-492b-8788-0185e7172148" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_b16123a8-0e2e-4dd1-b244-c26466c7bb32" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_79f6ee34-6ad2-492b-8788-0185e7172148" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_79f6ee34-6ad2-492b-8788-0185e7172148_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_79f6ee34-6ad2-492b-8788-0185e7172148" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_79f6ee34-6ad2-492b-8788-0185e7172148_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_1ef76989-a289-448b-a0c3-06d4b2f7dd89" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_79f6ee34-6ad2-492b-8788-0185e7172148" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_1ef76989-a289-448b-a0c3-06d4b2f7dd89" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertibleDebtMember_74640db5-ad83-4426-b332-caa8f24084bb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_1ef76989-a289-448b-a0c3-06d4b2f7dd89" xlink:to="loc_us-gaap_ConvertibleDebtMember_74640db5-ad83-4426-b332-caa8f24084bb" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_70f26b0b-b180-4d13-a3ec-5439dfea90fb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_b16123a8-0e2e-4dd1-b244-c26466c7bb32" xlink:to="loc_us-gaap_DebtInstrumentAxis_70f26b0b-b180-4d13-a3ec-5439dfea90fb" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_70f26b0b-b180-4d13-a3ec-5439dfea90fb_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DebtInstrumentAxis_70f26b0b-b180-4d13-a3ec-5439dfea90fb" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_70f26b0b-b180-4d13-a3ec-5439dfea90fb_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_742209fd-ec9e-47b1-ae36-05f7eb7d1fe2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DebtInstrumentAxis_70f26b0b-b180-4d13-a3ec-5439dfea90fb" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_742209fd-ec9e-47b1-ae36-05f7eb7d1fe2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_A2026ConvertibleNotesMember_af4cfdbc-8ffe-4ae1-92fd-e02244138655" xlink:href="fsly-20231231.xsd#fsly_A2026ConvertibleNotesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_742209fd-ec9e-47b1-ae36-05f7eb7d1fe2" xlink:to="loc_fsly_A2026ConvertibleNotesMember_af4cfdbc-8ffe-4ae1-92fd-e02244138655" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateDuringPeriod_08b54ec8-cd09-4e83-aac6-a151ba0f910e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateDuringPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_e3c82144-3a9f-4de5-a014-aca4787a2db8" xlink:to="loc_us-gaap_DebtInstrumentInterestRateDuringPeriod_08b54ec8-cd09-4e83-aac6-a151ba0f910e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentCarryingAmount_81b0216e-2bd0-47b4-ba6d-f0c2bf1bacba" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentCarryingAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_e3c82144-3a9f-4de5-a014-aca4787a2db8" xlink:to="loc_us-gaap_DebtInstrumentCarryingAmount_81b0216e-2bd0-47b4-ba6d-f0c2bf1bacba" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentUnamortizedDiscount_d232104b-fa1a-45e5-be3e-5abc768978a3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentUnamortizedDiscount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_e3c82144-3a9f-4de5-a014-aca4787a2db8" xlink:to="loc_us-gaap_DebtInstrumentUnamortizedDiscount_d232104b-fa1a-45e5-be3e-5abc768978a3" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtCurrent_6eb37f7b-ceb7-4261-b666-649b7f7a07d4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_e3c82144-3a9f-4de5-a014-aca4787a2db8" xlink:to="loc_us-gaap_LongTermDebtCurrent_6eb37f7b-ceb7-4261-b666-649b7f7a07d4" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebt_0c246511-de90-4c77-9ebb-4f25dc205676" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_e3c82144-3a9f-4de5-a014-aca4787a2db8" xlink:to="loc_us-gaap_LongTermDebt_0c246511-de90-4c77-9ebb-4f25dc205676" xlink:type="arc" order="4"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/CommitmentsandContingenciesScheduleofPurchaseCommitmentsDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#CommitmentsandContingenciesScheduleofPurchaseCommitmentsDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/CommitmentsandContingenciesScheduleofPurchaseCommitmentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermPurchaseCommitmentLineItems_57a052da-da13-4f7a-99f3-af6a7df954bf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermPurchaseCommitmentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermPurchaseCommitmentTable_ea51f279-572e-4e2e-b212-38d200756198" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermPurchaseCommitmentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentLineItems_57a052da-da13-4f7a-99f3-af6a7df954bf" xlink:to="loc_us-gaap_LongTermPurchaseCommitmentTable_ea51f279-572e-4e2e-b212-38d200756198" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RecordedUnconditionalPurchaseObligationByCategoryOfItemPurchasedAxis_92599813-ea72-4f71-9bfb-9b2c02d6ec9a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RecordedUnconditionalPurchaseObligationByCategoryOfItemPurchasedAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentTable_ea51f279-572e-4e2e-b212-38d200756198" xlink:to="loc_us-gaap_RecordedUnconditionalPurchaseObligationByCategoryOfItemPurchasedAxis_92599813-ea72-4f71-9bfb-9b2c02d6ec9a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnconditionalPurchaseObligationCategoryOfGoodsOrServicesAcquiredDomain_92599813-ea72-4f71-9bfb-9b2c02d6ec9a_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnconditionalPurchaseObligationCategoryOfGoodsOrServicesAcquiredDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RecordedUnconditionalPurchaseObligationByCategoryOfItemPurchasedAxis_92599813-ea72-4f71-9bfb-9b2c02d6ec9a" xlink:to="loc_us-gaap_UnconditionalPurchaseObligationCategoryOfGoodsOrServicesAcquiredDomain_92599813-ea72-4f71-9bfb-9b2c02d6ec9a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnconditionalPurchaseObligationCategoryOfGoodsOrServicesAcquiredDomain_95686a0f-2d1d-40c9-aac7-9f9ada758dcc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnconditionalPurchaseObligationCategoryOfGoodsOrServicesAcquiredDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RecordedUnconditionalPurchaseObligationByCategoryOfItemPurchasedAxis_92599813-ea72-4f71-9bfb-9b2c02d6ec9a" xlink:to="loc_us-gaap_UnconditionalPurchaseObligationCategoryOfGoodsOrServicesAcquiredDomain_95686a0f-2d1d-40c9-aac7-9f9ada758dcc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_CostOfRevenueCommitmentMember_84f57620-29f9-4a3c-ab58-d02c3fe5b0bc" xlink:href="fsly-20231231.xsd#fsly_CostOfRevenueCommitmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_UnconditionalPurchaseObligationCategoryOfGoodsOrServicesAcquiredDomain_95686a0f-2d1d-40c9-aac7-9f9ada758dcc" xlink:to="loc_fsly_CostOfRevenueCommitmentMember_84f57620-29f9-4a3c-ab58-d02c3fe5b0bc" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_OperatingExpenseCommitmentsMember_6b93bd84-1e84-46ee-8d45-0f1f2eb366c3" xlink:href="fsly-20231231.xsd#fsly_OperatingExpenseCommitmentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_UnconditionalPurchaseObligationCategoryOfGoodsOrServicesAcquiredDomain_95686a0f-2d1d-40c9-aac7-9f9ada758dcc" xlink:to="loc_fsly_OperatingExpenseCommitmentsMember_6b93bd84-1e84-46ee-8d45-0f1f2eb366c3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueInNextTwelveMonths_b0044bc4-71a0-4dd8-bf61-5780878f05c6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInNextTwelveMonths"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentLineItems_57a052da-da13-4f7a-99f3-af6a7df954bf" xlink:to="loc_us-gaap_PurchaseObligationDueInNextTwelveMonths_b0044bc4-71a0-4dd8-bf61-5780878f05c6" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueInSecondYear_03259352-92d5-4052-92c3-b5f23955bb57" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInSecondYear"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentLineItems_57a052da-da13-4f7a-99f3-af6a7df954bf" xlink:to="loc_us-gaap_PurchaseObligationDueInSecondYear_03259352-92d5-4052-92c3-b5f23955bb57" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueInThirdYear_ae21f08b-5198-49bd-8d39-522e6e5aa796" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInThirdYear"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentLineItems_57a052da-da13-4f7a-99f3-af6a7df954bf" xlink:to="loc_us-gaap_PurchaseObligationDueInThirdYear_ae21f08b-5198-49bd-8d39-522e6e5aa796" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueInFourthYear_7051b128-d7f6-4de2-a594-6e9926c65053" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInFourthYear"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentLineItems_57a052da-da13-4f7a-99f3-af6a7df954bf" xlink:to="loc_us-gaap_PurchaseObligationDueInFourthYear_7051b128-d7f6-4de2-a594-6e9926c65053" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueInFifthYear_f49f3b27-0d32-46bb-bfc5-31b5aa061ef1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInFifthYear"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentLineItems_57a052da-da13-4f7a-99f3-af6a7df954bf" xlink:to="loc_us-gaap_PurchaseObligationDueInFifthYear_f49f3b27-0d32-46bb-bfc5-31b5aa061ef1" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueAfterFifthYear_c4f5e02d-506f-4b6e-ae3d-1c55d7e3e80c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueAfterFifthYear"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentLineItems_57a052da-da13-4f7a-99f3-af6a7df954bf" xlink:to="loc_us-gaap_PurchaseObligationDueAfterFifthYear_c4f5e02d-506f-4b6e-ae3d-1c55d7e3e80c" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligation_62824d9f-46d6-4c80-9b9f-a195270d07da" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentLineItems_57a052da-da13-4f7a-99f3-af6a7df954bf" xlink:to="loc_us-gaap_PurchaseObligation_62824d9f-46d6-4c80-9b9f-a195270d07da" xlink:type="arc" order="6"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/StockholdersEquityCommonStockandPreferredStockDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#StockholdersEquityCommonStockandPreferredStockDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/StockholdersEquityCommonStockandPreferredStockDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockLineItems_e55ce1c6-8b6e-4368-b387-4f0efee1cc86" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfStockByClassTable_6dca8f0e-7369-4515-84ce-feef2a0de956" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfStockByClassTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ClassOfStockLineItems_e55ce1c6-8b6e-4368-b387-4f0efee1cc86" xlink:to="loc_us-gaap_ScheduleOfStockByClassTable_6dca8f0e-7369-4515-84ce-feef2a0de956" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_5063dea7-651e-4f16-a868-e640b8bdb577" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_6dca8f0e-7369-4515-84ce-feef2a0de956" xlink:to="loc_us-gaap_StatementClassOfStockAxis_5063dea7-651e-4f16-a868-e640b8bdb577" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_5063dea7-651e-4f16-a868-e640b8bdb577_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_5063dea7-651e-4f16-a868-e640b8bdb577" xlink:to="loc_us-gaap_ClassOfStockDomain_5063dea7-651e-4f16-a868-e640b8bdb577_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_450f17eb-d2a6-4fdd-b8b2-07140508e33a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_5063dea7-651e-4f16-a868-e640b8bdb577" xlink:to="loc_us-gaap_ClassOfStockDomain_450f17eb-d2a6-4fdd-b8b2-07140508e33a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember_52d60c07-b566-47c3-9ce8-5e13c0be2647" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonClassAMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_450f17eb-d2a6-4fdd-b8b2-07140508e33a" xlink:to="loc_us-gaap_CommonClassAMember_52d60c07-b566-47c3-9ce8-5e13c0be2647" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassBMember_6251c06a-bd8b-4276-9794-207ac51b9448" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonClassBMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_450f17eb-d2a6-4fdd-b8b2-07140508e33a" xlink:to="loc_us-gaap_CommonClassBMember_6251c06a-bd8b-4276-9794-207ac51b9448" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_d2a014cd-247d-47bf-91b3-1b407b9d64e7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_e55ce1c6-8b6e-4368-b387-4f0efee1cc86" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_d2a014cd-247d-47bf-91b3-1b407b9d64e7" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_7bd64bad-ff7d-41d7-9212-b8f1ed406310" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_e55ce1c6-8b6e-4368-b387-4f0efee1cc86" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_7bd64bad-ff7d-41d7-9212-b8f1ed406310" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_CommonStockVotingRightsNumberofVotesAllowedToEachShare_76e117ca-403d-4d1a-bf56-ee64082fdb44" xlink:href="fsly-20231231.xsd#fsly_CommonStockVotingRightsNumberofVotesAllowedToEachShare"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_e55ce1c6-8b6e-4368-b387-4f0efee1cc86" xlink:to="loc_fsly_CommonStockVotingRightsNumberofVotesAllowedToEachShare_76e117ca-403d-4d1a-bf56-ee64082fdb44" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_CommonStockSharesRetired_6478c5ed-34ad-414b-ace0-23198970c7ab" xlink:href="fsly-20231231.xsd#fsly_CommonStockSharesRetired"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_e55ce1c6-8b6e-4368-b387-4f0efee1cc86" xlink:to="loc_fsly_CommonStockSharesRetired_6478c5ed-34ad-414b-ace0-23198970c7ab" xlink:type="arc" order="3"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/StockholdersEquityEquityIncentivePlansDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#StockholdersEquityEquityIncentivePlansDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/StockholdersEquityEquityIncentivePlansDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_5b494f9d-7702-42b5-a6d5-798df749ecc8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_26c6859e-e2ce-451e-8c57-e26ce0ed74d1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_5b494f9d-7702-42b5-a6d5-798df749ecc8" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_26c6859e-e2ce-451e-8c57-e26ce0ed74d1" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_08fae2eb-02d8-485a-b3cd-efaaf6379c80" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_26c6859e-e2ce-451e-8c57-e26ce0ed74d1" xlink:to="loc_us-gaap_PlanNameAxis_08fae2eb-02d8-485a-b3cd-efaaf6379c80" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_08fae2eb-02d8-485a-b3cd-efaaf6379c80_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PlanNameAxis_08fae2eb-02d8-485a-b3cd-efaaf6379c80" xlink:to="loc_us-gaap_PlanNameDomain_08fae2eb-02d8-485a-b3cd-efaaf6379c80_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_3ff920f0-7e4a-40cd-bbc2-13428bfb427f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PlanNameAxis_08fae2eb-02d8-485a-b3cd-efaaf6379c80" xlink:to="loc_us-gaap_PlanNameDomain_3ff920f0-7e4a-40cd-bbc2-13428bfb427f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_SignalSciences2014EquityStockOptionsPlanMember_ab9e9fad-69e1-40d7-abad-026f1bd2e22a" xlink:href="fsly-20231231.xsd#fsly_SignalSciences2014EquityStockOptionsPlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_3ff920f0-7e4a-40cd-bbc2-13428bfb427f" xlink:to="loc_fsly_SignalSciences2014EquityStockOptionsPlanMember_ab9e9fad-69e1-40d7-abad-026f1bd2e22a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_A2019EquityIncentivePlanMember_f763bff1-5603-466d-83a7-89c4583b320f" xlink:href="fsly-20231231.xsd#fsly_A2019EquityIncentivePlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_3ff920f0-7e4a-40cd-bbc2-13428bfb427f" xlink:to="loc_fsly_A2019EquityIncentivePlanMember_f763bff1-5603-466d-83a7-89c4583b320f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_3e842ea9-4ed3-4976-afe0-5ec0e62ac67c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_26c6859e-e2ce-451e-8c57-e26ce0ed74d1" xlink:to="loc_us-gaap_StatementClassOfStockAxis_3e842ea9-4ed3-4976-afe0-5ec0e62ac67c" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_3e842ea9-4ed3-4976-afe0-5ec0e62ac67c_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_3e842ea9-4ed3-4976-afe0-5ec0e62ac67c" xlink:to="loc_us-gaap_ClassOfStockDomain_3e842ea9-4ed3-4976-afe0-5ec0e62ac67c_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_eefd0d17-eaa6-4b79-bf82-e2768bdf2fc5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_3e842ea9-4ed3-4976-afe0-5ec0e62ac67c" xlink:to="loc_us-gaap_ClassOfStockDomain_eefd0d17-eaa6-4b79-bf82-e2768bdf2fc5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember_3e8f7554-d428-4e11-ae34-2a0ff0840866" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonClassAMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_eefd0d17-eaa6-4b79-bf82-e2768bdf2fc5" xlink:to="loc_us-gaap_CommonClassAMember_3e8f7554-d428-4e11-ae34-2a0ff0840866" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassBMember_4ce13bde-096c-4a70-aab5-3146be5bef51" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonClassBMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_eefd0d17-eaa6-4b79-bf82-e2768bdf2fc5" xlink:to="loc_us-gaap_CommonClassBMember_4ce13bde-096c-4a70-aab5-3146be5bef51" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_NumberOfEquityIncentivePlans_cafef3bf-ba70-41ad-9d49-06ac8c0164c0" xlink:href="fsly-20231231.xsd#fsly_NumberOfEquityIncentivePlans"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_5b494f9d-7702-42b5-a6d5-798df749ecc8" xlink:to="loc_fsly_NumberOfEquityIncentivePlans_cafef3bf-ba70-41ad-9d49-06ac8c0164c0" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_BusinessCombinationUnvestedStockOptionAssumedShares_0439fab4-dcc9-42b9-80f6-b91567cf94a9" xlink:href="fsly-20231231.xsd#fsly_BusinessCombinationUnvestedStockOptionAssumedShares"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_5b494f9d-7702-42b5-a6d5-798df749ecc8" xlink:to="loc_fsly_BusinessCombinationUnvestedStockOptionAssumedShares_0439fab4-dcc9-42b9-80f6-b91567cf94a9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_d5d25712-7d41-4edd-9300-7cd340b12b55" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_5b494f9d-7702-42b5-a6d5-798df749ecc8" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_d5d25712-7d41-4edd-9300-7cd340b12b55" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued_0486e1a9-be9d-43f3-bcf7-616c775e3993" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_5b494f9d-7702-42b5-a6d5-798df749ecc8" xlink:to="loc_us-gaap_CommonStockSharesIssued_0486e1a9-be9d-43f3-bcf7-616c775e3993" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_c57ceff0-d0ec-4b43-9fbf-1cd73fa159b2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_5b494f9d-7702-42b5-a6d5-798df749ecc8" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_c57ceff0-d0ec-4b43-9fbf-1cd73fa159b2" xlink:type="arc" order="4"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/StockholdersEquityStockOptionsNarrativeDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#StockholdersEquityStockOptionsNarrativeDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/StockholdersEquityStockOptionsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1a8c7c07-6498-4e5b-9948-da1e4ee0bb6a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6db7ca97-6008-4041-8002-6615a02f29c5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1a8c7c07-6498-4e5b-9948-da1e4ee0bb6a" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6db7ca97-6008-4041-8002-6615a02f29c5" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_31556714-213f-47d7-bbdb-11f58c43f8b9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6db7ca97-6008-4041-8002-6615a02f29c5" xlink:to="loc_us-gaap_AwardTypeAxis_31556714-213f-47d7-bbdb-11f58c43f8b9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_31556714-213f-47d7-bbdb-11f58c43f8b9_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_31556714-213f-47d7-bbdb-11f58c43f8b9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_31556714-213f-47d7-bbdb-11f58c43f8b9_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_97f97c75-de08-46b1-84a7-bbc99410b0d4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_31556714-213f-47d7-bbdb-11f58c43f8b9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_97f97c75-de08-46b1-84a7-bbc99410b0d4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember_cfd6e0eb-81c5-4f6a-aa69-50b8cd67de4a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_97f97c75-de08-46b1-84a7-bbc99410b0d4" xlink:to="loc_us-gaap_EmployeeStockOptionMember_cfd6e0eb-81c5-4f6a-aa69-50b8cd67de4a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_6bb7e76f-e5a2-4025-a3e9-7cc9af4b3a71" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_97f97c75-de08-46b1-84a7-bbc99410b0d4" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_6bb7e76f-e5a2-4025-a3e9-7cc9af4b3a71" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_44d96840-3489-4e7d-adad-ee9955751bff" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6db7ca97-6008-4041-8002-6615a02f29c5" xlink:to="loc_us-gaap_PlanNameAxis_44d96840-3489-4e7d-adad-ee9955751bff" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_44d96840-3489-4e7d-adad-ee9955751bff_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PlanNameAxis_44d96840-3489-4e7d-adad-ee9955751bff" xlink:to="loc_us-gaap_PlanNameDomain_44d96840-3489-4e7d-adad-ee9955751bff_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_b3ef7213-414b-4c6e-9463-fb90d22af1fa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PlanNameAxis_44d96840-3489-4e7d-adad-ee9955751bff" xlink:to="loc_us-gaap_PlanNameDomain_b3ef7213-414b-4c6e-9463-fb90d22af1fa" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_A20112019EquityIncentivePlanMember_e508fa35-a09a-449a-98a2-879e1a806ed4" xlink:href="fsly-20231231.xsd#fsly_A20112019EquityIncentivePlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_b3ef7213-414b-4c6e-9463-fb90d22af1fa" xlink:to="loc_fsly_A20112019EquityIncentivePlanMember_e508fa35-a09a-449a-98a2-879e1a806ed4" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingAxis_19ec5f4b-2620-4569-a452-a12b9ca004bc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6db7ca97-6008-4041-8002-6615a02f29c5" xlink:to="loc_us-gaap_VestingAxis_19ec5f4b-2620-4569-a452-a12b9ca004bc" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingDomain_19ec5f4b-2620-4569-a452-a12b9ca004bc_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_VestingAxis_19ec5f4b-2620-4569-a452-a12b9ca004bc" xlink:to="loc_us-gaap_VestingDomain_19ec5f4b-2620-4569-a452-a12b9ca004bc_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingDomain_60e9b4e1-57a7-4a22-95b0-4a4f022a6368" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_VestingAxis_19ec5f4b-2620-4569-a452-a12b9ca004bc" xlink:to="loc_us-gaap_VestingDomain_60e9b4e1-57a7-4a22-95b0-4a4f022a6368" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember_f354e86e-c00c-4e13-92d4-63278aaea6a8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VestingDomain_60e9b4e1-57a7-4a22-95b0-4a4f022a6368" xlink:to="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember_f354e86e-c00c-4e13-92d4-63278aaea6a8" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_84b93d6c-2c28-46a5-b5ba-30ed767b0005" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VestingDomain_60e9b4e1-57a7-4a22-95b0-4a4f022a6368" xlink:to="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_84b93d6c-2c28-46a5-b5ba-30ed767b0005" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_bb73e212-397a-4442-ae50-cc21da8d7aae" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1a8c7c07-6498-4e5b-9948-da1e4ee0bb6a" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_bb73e212-397a-4442-ae50-cc21da8d7aae" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_3fa0c027-94de-4d76-a93c-69efd866577c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1a8c7c07-6498-4e5b-9948-da1e4ee0bb6a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_3fa0c027-94de-4d76-a93c-69efd866577c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_469b2107-c8f2-456c-b668-186126908e11" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1a8c7c07-6498-4e5b-9948-da1e4ee0bb6a" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_469b2107-c8f2-456c-b668-186126908e11" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_5ba6de50-27c5-4f42-b29b-6b92ad94357d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1a8c7c07-6498-4e5b-9948-da1e4ee0bb6a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_5ba6de50-27c5-4f42-b29b-6b92ad94357d" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_9ad88b57-dfc4-479d-8d6c-2dfb16814936" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1a8c7c07-6498-4e5b-9948-da1e4ee0bb6a" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_9ad88b57-dfc4-479d-8d6c-2dfb16814936" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_b4457d99-1878-462d-9829-a4eb209ddb9f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1a8c7c07-6498-4e5b-9948-da1e4ee0bb6a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_b4457d99-1878-462d-9829-a4eb209ddb9f" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_566198c7-ab75-4aa9-bff6-b09e138eee7e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1a8c7c07-6498-4e5b-9948-da1e4ee0bb6a" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_566198c7-ab75-4aa9-bff6-b09e138eee7e" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_8732b44b-71f0-4378-bb5e-11ee2ec20895" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1a8c7c07-6498-4e5b-9948-da1e4ee0bb6a" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_8732b44b-71f0-4378-bb5e-11ee2ec20895" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_26762a04-dab4-4873-9c11-f6dcf4cab675" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1a8c7c07-6498-4e5b-9948-da1e4ee0bb6a" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_26762a04-dab4-4873-9c11-f6dcf4cab675" xlink:type="arc" order="8"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/StockholdersEquityFairValueAssumptionsStockOptionsDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#StockholdersEquityFairValueAssumptionsStockOptionsDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/StockholdersEquityFairValueAssumptionsStockOptionsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0c348fe2-fd43-479e-b070-2488b222c1f6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_84852ac6-ff92-4bae-bd3f-975728ec0a96" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0c348fe2-fd43-479e-b070-2488b222c1f6" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_84852ac6-ff92-4bae-bd3f-975728ec0a96" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_24e74bee-edfc-4707-9a90-7a40a750a941" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_84852ac6-ff92-4bae-bd3f-975728ec0a96" xlink:to="loc_us-gaap_AwardTypeAxis_24e74bee-edfc-4707-9a90-7a40a750a941" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_24e74bee-edfc-4707-9a90-7a40a750a941_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_24e74bee-edfc-4707-9a90-7a40a750a941" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_24e74bee-edfc-4707-9a90-7a40a750a941_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_ff7e58a0-582d-4f24-8212-261ce42de768" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_24e74bee-edfc-4707-9a90-7a40a750a941" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_ff7e58a0-582d-4f24-8212-261ce42de768" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember_91680b50-a787-4f1f-a49e-a02eed21304b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_ff7e58a0-582d-4f24-8212-261ce42de768" xlink:to="loc_us-gaap_EmployeeStockOptionMember_91680b50-a787-4f1f-a49e-a02eed21304b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharePrice_3bf82496-0cf1-43a3-b652-d351a34756b0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharePrice"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0c348fe2-fd43-479e-b070-2488b222c1f6" xlink:to="loc_us-gaap_SharePrice_3bf82496-0cf1-43a3-b652-d351a34756b0" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_a3134815-a2b0-4c84-a563-e6a67f1df505" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0c348fe2-fd43-479e-b070-2488b222c1f6" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_a3134815-a2b0-4c84-a563-e6a67f1df505" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_d0cf8646-2273-4a9c-8908-73f174930569" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0c348fe2-fd43-479e-b070-2488b222c1f6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_d0cf8646-2273-4a9c-8908-73f174930569" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_1dd0e090-8065-42c7-83a0-0d91e89fe81f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0c348fe2-fd43-479e-b070-2488b222c1f6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_1dd0e090-8065-42c7-83a0-0d91e89fe81f" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_a2018305-6223-4c01-ba20-e9b9ff8f1593" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0c348fe2-fd43-479e-b070-2488b222c1f6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_a2018305-6223-4c01-ba20-e9b9ff8f1593" xlink:type="arc" order="4"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/StockholdersEquityEarlyExerciseofStockOptionsDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#StockholdersEquityEarlyExerciseofStockOptionsDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/StockholdersEquityEarlyExerciseofStockOptionsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_cfd5c5c7-b167-429e-bc6d-cf181716ecde" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_5ff78dae-2142-4a34-9d08-4ee828b39695" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_cfd5c5c7-b167-429e-bc6d-cf181716ecde" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_5ff78dae-2142-4a34-9d08-4ee828b39695" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_8b28420d-fe29-4b67-bebc-4328fff839c7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_5ff78dae-2142-4a34-9d08-4ee828b39695" xlink:to="loc_us-gaap_AwardTypeAxis_8b28420d-fe29-4b67-bebc-4328fff839c7" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_8b28420d-fe29-4b67-bebc-4328fff839c7_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_8b28420d-fe29-4b67-bebc-4328fff839c7" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_8b28420d-fe29-4b67-bebc-4328fff839c7_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_cb313123-d244-49ac-817b-e36ec4e85732" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_8b28420d-fe29-4b67-bebc-4328fff839c7" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_cb313123-d244-49ac-817b-e36ec4e85732" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember_c1fd7e23-d674-4189-a2c9-627fa72f0009" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_cb313123-d244-49ac-817b-e36ec4e85732" xlink:to="loc_us-gaap_EmployeeStockOptionMember_c1fd7e23-d674-4189-a2c9-627fa72f0009" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_edaba36a-b7ab-4b92-a9cd-f50fc5c6bd9e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_5ff78dae-2142-4a34-9d08-4ee828b39695" xlink:to="loc_us-gaap_StatementClassOfStockAxis_edaba36a-b7ab-4b92-a9cd-f50fc5c6bd9e" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_edaba36a-b7ab-4b92-a9cd-f50fc5c6bd9e_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_edaba36a-b7ab-4b92-a9cd-f50fc5c6bd9e" xlink:to="loc_us-gaap_ClassOfStockDomain_edaba36a-b7ab-4b92-a9cd-f50fc5c6bd9e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_d0d670da-caea-4085-bbe3-2ed3b5976018" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_edaba36a-b7ab-4b92-a9cd-f50fc5c6bd9e" xlink:to="loc_us-gaap_ClassOfStockDomain_d0d670da-caea-4085-bbe3-2ed3b5976018" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassBMember_0545ee56-7b5f-4f76-9f60-e788e48cb48e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonClassBMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_d0d670da-caea-4085-bbe3-2ed3b5976018" xlink:to="loc_us-gaap_CommonClassBMember_0545ee56-7b5f-4f76-9f60-e788e48cb48e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ShareBasedPaymentArrangementPlanModificationNumberOfAwardsAffected_76097e71-c543-4bbc-a6a2-6780126ae615" xlink:href="fsly-20231231.xsd#fsly_ShareBasedPaymentArrangementPlanModificationNumberOfAwardsAffected"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_cfd5c5c7-b167-429e-bc6d-cf181716ecde" xlink:to="loc_fsly_ShareBasedPaymentArrangementPlanModificationNumberOfAwardsAffected_76097e71-c543-4bbc-a6a2-6780126ae615" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ShareBasedPaymentArrangementPlanModificationExerciseValueOfAwardsAffected_94ad824f-849b-41fd-ac9b-663d74428806" xlink:href="fsly-20231231.xsd#fsly_ShareBasedPaymentArrangementPlanModificationExerciseValueOfAwardsAffected"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_cfd5c5c7-b167-429e-bc6d-cf181716ecde" xlink:to="loc_fsly_ShareBasedPaymentArrangementPlanModificationExerciseValueOfAwardsAffected_94ad824f-849b-41fd-ac9b-663d74428806" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_3ed2ba2d-d0ac-4340-9bea-5e14df076089" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_cfd5c5c7-b167-429e-bc6d-cf181716ecde" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_3ed2ba2d-d0ac-4340-9bea-5e14df076089" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilities_dbb849b7-6dfa-4c49-9bfd-5159056894e9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_cfd5c5c7-b167-429e-bc6d-cf181716ecde" xlink:to="loc_us-gaap_OtherLiabilities_dbb849b7-6dfa-4c49-9bfd-5159056894e9" xlink:type="arc" order="3"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e875819d-a8d2-41ed-b5ef-cb53c3a6ad9c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d084beca-194a-457b-a4d4-d5110b9cfd69" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e875819d-a8d2-41ed-b5ef-cb53c3a6ad9c" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d084beca-194a-457b-a4d4-d5110b9cfd69" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_d7d3e69c-65d6-4cb4-a2d5-a4a939a020cc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d084beca-194a-457b-a4d4-d5110b9cfd69" xlink:to="loc_us-gaap_AwardTypeAxis_d7d3e69c-65d6-4cb4-a2d5-a4a939a020cc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d7d3e69c-65d6-4cb4-a2d5-a4a939a020cc_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_d7d3e69c-65d6-4cb4-a2d5-a4a939a020cc" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d7d3e69c-65d6-4cb4-a2d5-a4a939a020cc_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_58f8770a-e5d7-4709-899b-c11b354044f3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_d7d3e69c-65d6-4cb4-a2d5-a4a939a020cc" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_58f8770a-e5d7-4709-899b-c11b354044f3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_ba5b7857-17e2-4e89-a4cf-7edf8ec97291" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_58f8770a-e5d7-4709-899b-c11b354044f3" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_ba5b7857-17e2-4e89-a4cf-7edf8ec97291" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember_22fd8612-a463-43b0-916c-c16976b371f9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_58f8770a-e5d7-4709-899b-c11b354044f3" xlink:to="loc_us-gaap_RestrictedStockMember_22fd8612-a463-43b0-916c-c16976b371f9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingAxis_4d279124-13d9-4a00-b4ea-456248f7e2f6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d084beca-194a-457b-a4d4-d5110b9cfd69" xlink:to="loc_us-gaap_VestingAxis_4d279124-13d9-4a00-b4ea-456248f7e2f6" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingDomain_4d279124-13d9-4a00-b4ea-456248f7e2f6_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_VestingAxis_4d279124-13d9-4a00-b4ea-456248f7e2f6" xlink:to="loc_us-gaap_VestingDomain_4d279124-13d9-4a00-b4ea-456248f7e2f6_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingDomain_bf4f1f98-3776-4a6e-8baa-6f081b293d72" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_VestingAxis_4d279124-13d9-4a00-b4ea-456248f7e2f6" xlink:to="loc_us-gaap_VestingDomain_bf4f1f98-3776-4a6e-8baa-6f081b293d72" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember_78f59d68-1b3c-4545-a292-7cac8e02d5cd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VestingDomain_bf4f1f98-3776-4a6e-8baa-6f081b293d72" xlink:to="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember_78f59d68-1b3c-4545-a292-7cac8e02d5cd" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_8d74fe27-a59e-4b05-9f3f-0da3847fc168" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VestingDomain_bf4f1f98-3776-4a6e-8baa-6f081b293d72" xlink:to="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_8d74fe27-a59e-4b05-9f3f-0da3847fc168" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_b1b69f97-0621-403f-abe7-ed652a3c3b19" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d084beca-194a-457b-a4d4-d5110b9cfd69" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_b1b69f97-0621-403f-abe7-ed652a3c3b19" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_b1b69f97-0621-403f-abe7-ed652a3c3b19_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_b1b69f97-0621-403f-abe7-ed652a3c3b19" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_b1b69f97-0621-403f-abe7-ed652a3c3b19_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_a64b8705-1123-42eb-b04f-9965b1aeb4b2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_b1b69f97-0621-403f-abe7-ed652a3c3b19" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_a64b8705-1123-42eb-b04f-9965b1aeb4b2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_SignalSciencesCorpMember_9dc29655-2696-4ea6-a242-82cd540cc826" xlink:href="fsly-20231231.xsd#fsly_SignalSciencesCorpMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_a64b8705-1123-42eb-b04f-9965b1aeb4b2" xlink:to="loc_fsly_SignalSciencesCorpMember_9dc29655-2696-4ea6-a242-82cd540cc826" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_93edb7d8-f21c-4075-ba4e-6f98de5c56d7" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d084beca-194a-457b-a4d4-d5110b9cfd69" xlink:to="loc_srt_RangeAxis_93edb7d8-f21c-4075-ba4e-6f98de5c56d7" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_93edb7d8-f21c-4075-ba4e-6f98de5c56d7_default" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_93edb7d8-f21c-4075-ba4e-6f98de5c56d7" xlink:to="loc_srt_RangeMember_93edb7d8-f21c-4075-ba4e-6f98de5c56d7_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_c6ad56d3-c045-4213-95c2-be75b129252e" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_93edb7d8-f21c-4075-ba4e-6f98de5c56d7" xlink:to="loc_srt_RangeMember_c6ad56d3-c045-4213-95c2-be75b129252e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_9f47208f-421e-4472-ad71-6f0c6995f0c7" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_c6ad56d3-c045-4213-95c2-be75b129252e" xlink:to="loc_srt_MinimumMember_9f47208f-421e-4472-ad71-6f0c6995f0c7" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_5c330dac-462a-41fc-9661-47790540d9a0" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_c6ad56d3-c045-4213-95c2-be75b129252e" xlink:to="loc_srt_MaximumMember_5c330dac-462a-41fc-9661-47790540d9a0" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_6706bdd6-77dd-43f5-8a7a-37f4b2d68c10" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e875819d-a8d2-41ed-b5ef-cb53c3a6ad9c" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_6706bdd6-77dd-43f5-8a7a-37f4b2d68c10" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_f028f67f-1f79-498d-8eab-7608597ace1d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e875819d-a8d2-41ed-b5ef-cb53c3a6ad9c" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_f028f67f-1f79-498d-8eab-7608597ace1d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_3a30372d-f5d3-4dfd-9019-a99c042c3215" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e875819d-a8d2-41ed-b5ef-cb53c3a6ad9c" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_3a30372d-f5d3-4dfd-9019-a99c042c3215" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodGrantDateFairValue_fd71bc78-cb58-412d-b240-0bd7a1ba0fcc" xlink:href="fsly-20231231.xsd#fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e875819d-a8d2-41ed-b5ef-cb53c3a6ad9c" xlink:to="loc_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodGrantDateFairValue_fd71bc78-cb58-412d-b240-0bd7a1ba0fcc" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_d68ac088-e1a9-4ff5-8933-8200832d26e8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e875819d-a8d2-41ed-b5ef-cb53c3a6ad9c" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_d68ac088-e1a9-4ff5-8933-8200832d26e8" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_5fee1e31-dc4c-41b8-b3cd-a48829cacf0d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e875819d-a8d2-41ed-b5ef-cb53c3a6ad9c" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_5fee1e31-dc4c-41b8-b3cd-a48829cacf0d" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_6f7a9c03-b272-4b78-84c7-0be2dcf8b06f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e875819d-a8d2-41ed-b5ef-cb53c3a6ad9c" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_6f7a9c03-b272-4b78-84c7-0be2dcf8b06f" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_StockIssuedDuringPeriodSharesAcquisitionSharesHeldBackForRestrictedStockAwards_b4f13b13-334f-443b-bf34-5b7afc36ea79" xlink:href="fsly-20231231.xsd#fsly_StockIssuedDuringPeriodSharesAcquisitionSharesHeldBackForRestrictedStockAwards"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e875819d-a8d2-41ed-b5ef-cb53c3a6ad9c" xlink:to="loc_fsly_StockIssuedDuringPeriodSharesAcquisitionSharesHeldBackForRestrictedStockAwards_b4f13b13-334f-443b-bf34-5b7afc36ea79" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_NumberOfCofoundersWithSharesSubjectToRevesting_e42f7ec9-c3db-4479-8002-7b1b6102c830" xlink:href="fsly-20231231.xsd#fsly_NumberOfCofoundersWithSharesSubjectToRevesting"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e875819d-a8d2-41ed-b5ef-cb53c3a6ad9c" xlink:to="loc_fsly_NumberOfCofoundersWithSharesSubjectToRevesting_e42f7ec9-c3db-4479-8002-7b1b6102c830" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_SharesHeldBackForRestrictedStockAwardsRevestingPeriod_eae326dd-bf9a-4cff-8ddb-05f3924b910c" xlink:href="fsly-20231231.xsd#fsly_SharesHeldBackForRestrictedStockAwardsRevestingPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e875819d-a8d2-41ed-b5ef-cb53c3a6ad9c" xlink:to="loc_fsly_SharesHeldBackForRestrictedStockAwardsRevestingPeriod_eae326dd-bf9a-4cff-8ddb-05f3924b910c" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedAndSoldNumber_04cf3d64-10e6-4279-9e19-14d12bcfb9a9" xlink:href="fsly-20231231.xsd#fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedAndSoldNumber"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e875819d-a8d2-41ed-b5ef-cb53c3a6ad9c" xlink:to="loc_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedAndSoldNumber_04cf3d64-10e6-4279-9e19-14d12bcfb9a9" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsProceedsFromNonvestedSharesSold_509c5623-ce6a-4a13-8306-6679edd54df8" xlink:href="fsly-20231231.xsd#fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsProceedsFromNonvestedSharesSold"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e875819d-a8d2-41ed-b5ef-cb53c3a6ad9c" xlink:to="loc_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsProceedsFromNonvestedSharesSold_509c5623-ce6a-4a13-8306-6679edd54df8" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCost_7fe2f845-a4ac-4dd2-9f5a-e6bd52a1a2ed" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCost"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e875819d-a8d2-41ed-b5ef-cb53c3a6ad9c" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCost_7fe2f845-a4ac-4dd2-9f5a-e6bd52a1a2ed" xlink:type="arc" order="12"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/StockholdersEquityScheduleofRSURSAPSUandMPSUActivityDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#StockholdersEquityScheduleofRSURSAPSUandMPSUActivityDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/StockholdersEquityScheduleofRSURSAPSUandMPSUActivityDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_16ce29ef-c268-4a31-8658-a92c867359d8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_488a4d37-47f5-48c0-b6e8-6a70f517900f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_16ce29ef-c268-4a31-8658-a92c867359d8" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_488a4d37-47f5-48c0-b6e8-6a70f517900f" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_3aa0b797-675e-4094-95e3-b1a9b978902a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_488a4d37-47f5-48c0-b6e8-6a70f517900f" xlink:to="loc_us-gaap_AwardTypeAxis_3aa0b797-675e-4094-95e3-b1a9b978902a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_3aa0b797-675e-4094-95e3-b1a9b978902a_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_3aa0b797-675e-4094-95e3-b1a9b978902a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_3aa0b797-675e-4094-95e3-b1a9b978902a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5f32da0c-384c-482b-bcb0-d49a6e9cb7db" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_3aa0b797-675e-4094-95e3-b1a9b978902a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5f32da0c-384c-482b-bcb0-d49a6e9cb7db" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_03d98702-a91e-4de3-859b-61d85f1336cf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5f32da0c-384c-482b-bcb0-d49a6e9cb7db" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_03d98702-a91e-4de3-859b-61d85f1336cf" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_6e4f35f7-f333-454c-bb90-6415919b2951" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PerformanceSharesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5f32da0c-384c-482b-bcb0-d49a6e9cb7db" xlink:to="loc_us-gaap_PerformanceSharesMember_6e4f35f7-f333-454c-bb90-6415919b2951" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_MarketBasedPerformanceStockAwardsMember_d5d8a460-92a1-4388-b10a-5295d85d02c8" xlink:href="fsly-20231231.xsd#fsly_MarketBasedPerformanceStockAwardsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5f32da0c-384c-482b-bcb0-d49a6e9cb7db" xlink:to="loc_fsly_MarketBasedPerformanceStockAwardsMember_d5d8a460-92a1-4388-b10a-5295d85d02c8" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_b73a244f-99ba-4fc3-9e77-00b40b37d759" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_16ce29ef-c268-4a31-8658-a92c867359d8" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_b73a244f-99ba-4fc3-9e77-00b40b37d759" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_a677d08f-081c-4dea-bdb9-0baae802aad8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_b73a244f-99ba-4fc3-9e77-00b40b37d759" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_a677d08f-081c-4dea-bdb9-0baae802aad8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_51f56fda-e0bb-434d-8909-f19bb8317051" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_b73a244f-99ba-4fc3-9e77-00b40b37d759" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_51f56fda-e0bb-434d-8909-f19bb8317051" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_159f4405-6f76-4b0e-a33d-b5d6db0a08f2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_b73a244f-99ba-4fc3-9e77-00b40b37d759" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_159f4405-6f76-4b0e-a33d-b5d6db0a08f2" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_fcf624a0-a9f1-4b3f-a989-29d4f76b4d6c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_b73a244f-99ba-4fc3-9e77-00b40b37d759" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_fcf624a0-a9f1-4b3f-a989-29d4f76b4d6c" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_08fd4dd6-cc77-4192-aea1-666c362b143f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_514e0079-a30a-403e-8104-5b382329e29c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_16ce29ef-c268-4a31-8658-a92c867359d8" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_514e0079-a30a-403e-8104-5b382329e29c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_bd069586-2d42-4d55-8798-33215b4f5fca" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_514e0079-a30a-403e-8104-5b382329e29c" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_bd069586-2d42-4d55-8798-33215b4f5fca" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_429f8712-92b1-40a6-a002-03a64e5b0ccd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_514e0079-a30a-403e-8104-5b382329e29c" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_429f8712-92b1-40a6-a002-03a64e5b0ccd" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_bb50747e-3a51-46af-94cf-723a253bbc2e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_514e0079-a30a-403e-8104-5b382329e29c" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_bb50747e-3a51-46af-94cf-723a253bbc2e" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_09a60b2e-29ba-4839-a4c4-46df0c63b609" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_514e0079-a30a-403e-8104-5b382329e29c" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_09a60b2e-29ba-4839-a4c4-46df0c63b609" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_52f8a136-0bca-4cec-8885-4fa4f97f2375" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/StockholdersEquityPerformanceBasedRestrictedStockUnitsPSUsDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#StockholdersEquityPerformanceBasedRestrictedStockUnitsPSUsDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/StockholdersEquityPerformanceBasedRestrictedStockUnitsPSUsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3cd5e45c-f9fe-4d92-ae22-081ab1dde6e7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_bf0f3364-3f85-4ba8-88e4-9978008be806" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3cd5e45c-f9fe-4d92-ae22-081ab1dde6e7" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_bf0f3364-3f85-4ba8-88e4-9978008be806" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_4fd5e6fc-2cec-44fc-8bda-67810b9398fe" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_bf0f3364-3f85-4ba8-88e4-9978008be806" xlink:to="loc_us-gaap_AwardTypeAxis_4fd5e6fc-2cec-44fc-8bda-67810b9398fe" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_4fd5e6fc-2cec-44fc-8bda-67810b9398fe_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_4fd5e6fc-2cec-44fc-8bda-67810b9398fe" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_4fd5e6fc-2cec-44fc-8bda-67810b9398fe_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5e89d196-ff07-4911-9a87-904a2cf45166" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_4fd5e6fc-2cec-44fc-8bda-67810b9398fe" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5e89d196-ff07-4911-9a87-904a2cf45166" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_3a774bf3-ba6c-4286-99fb-56d7f7b6518f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PerformanceSharesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5e89d196-ff07-4911-9a87-904a2cf45166" xlink:to="loc_us-gaap_PerformanceSharesMember_3a774bf3-ba6c-4286-99fb-56d7f7b6518f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ShareBasedPaymentArrangementPerformanceTargetAxis_2a67f326-4256-4399-8161-9428c4d6c182" xlink:href="fsly-20231231.xsd#fsly_ShareBasedPaymentArrangementPerformanceTargetAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_bf0f3364-3f85-4ba8-88e4-9978008be806" xlink:to="loc_fsly_ShareBasedPaymentArrangementPerformanceTargetAxis_2a67f326-4256-4399-8161-9428c4d6c182" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ShareBasedPaymentArrangementPerformanceTargetDomain_2a67f326-4256-4399-8161-9428c4d6c182_default" xlink:href="fsly-20231231.xsd#fsly_ShareBasedPaymentArrangementPerformanceTargetDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_fsly_ShareBasedPaymentArrangementPerformanceTargetAxis_2a67f326-4256-4399-8161-9428c4d6c182" xlink:to="loc_fsly_ShareBasedPaymentArrangementPerformanceTargetDomain_2a67f326-4256-4399-8161-9428c4d6c182_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ShareBasedPaymentArrangementPerformanceTargetDomain_917dfdc2-04ea-428e-89ef-3fe04fa4193c" xlink:href="fsly-20231231.xsd#fsly_ShareBasedPaymentArrangementPerformanceTargetDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_fsly_ShareBasedPaymentArrangementPerformanceTargetAxis_2a67f326-4256-4399-8161-9428c4d6c182" xlink:to="loc_fsly_ShareBasedPaymentArrangementPerformanceTargetDomain_917dfdc2-04ea-428e-89ef-3fe04fa4193c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_PerformanceTargetPayoutLevelOneMember_69f628b3-cab6-4bc1-904a-7a578ee4a231" xlink:href="fsly-20231231.xsd#fsly_PerformanceTargetPayoutLevelOneMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_fsly_ShareBasedPaymentArrangementPerformanceTargetDomain_917dfdc2-04ea-428e-89ef-3fe04fa4193c" xlink:to="loc_fsly_PerformanceTargetPayoutLevelOneMember_69f628b3-cab6-4bc1-904a-7a578ee4a231" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_PerformanceTargetPayoutLevelTwoMember_62489787-b956-4574-b986-b99441bd4e7b" xlink:href="fsly-20231231.xsd#fsly_PerformanceTargetPayoutLevelTwoMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_fsly_ShareBasedPaymentArrangementPerformanceTargetDomain_917dfdc2-04ea-428e-89ef-3fe04fa4193c" xlink:to="loc_fsly_PerformanceTargetPayoutLevelTwoMember_62489787-b956-4574-b986-b99441bd4e7b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_PerformanceTargetPayoutLevelThreeMember_cd5d9ab9-1152-4bc1-b836-e8271e222941" xlink:href="fsly-20231231.xsd#fsly_PerformanceTargetPayoutLevelThreeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_fsly_ShareBasedPaymentArrangementPerformanceTargetDomain_917dfdc2-04ea-428e-89ef-3fe04fa4193c" xlink:to="loc_fsly_PerformanceTargetPayoutLevelThreeMember_cd5d9ab9-1152-4bc1-b836-e8271e222941" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_0244804a-254e-4734-bfb2-a02e38eec8dd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_bf0f3364-3f85-4ba8-88e4-9978008be806" xlink:to="loc_us-gaap_PlanNameAxis_0244804a-254e-4734-bfb2-a02e38eec8dd" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_0244804a-254e-4734-bfb2-a02e38eec8dd_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PlanNameAxis_0244804a-254e-4734-bfb2-a02e38eec8dd" xlink:to="loc_us-gaap_PlanNameDomain_0244804a-254e-4734-bfb2-a02e38eec8dd_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_49afd419-640b-4a84-9fb2-3281c6c65f56" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PlanNameAxis_0244804a-254e-4734-bfb2-a02e38eec8dd" xlink:to="loc_us-gaap_PlanNameDomain_49afd419-640b-4a84-9fb2-3281c6c65f56" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_A2023And2022BonusProgramMember_74f31a27-1b17-4436-a472-58e24dd751d5" xlink:href="fsly-20231231.xsd#fsly_A2023And2022BonusProgramMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_49afd419-640b-4a84-9fb2-3281c6c65f56" xlink:to="loc_fsly_A2023And2022BonusProgramMember_74f31a27-1b17-4436-a472-58e24dd751d5" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_A2022BonusProgramMember_c2f0ab19-ce7c-402f-a0b4-fb2a565e9ea0" xlink:href="fsly-20231231.xsd#fsly_A2022BonusProgramMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_49afd419-640b-4a84-9fb2-3281c6c65f56" xlink:to="loc_fsly_A2022BonusProgramMember_c2f0ab19-ce7c-402f-a0b4-fb2a565e9ea0" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_be8297f7-f2e2-473b-9258-7ddd4b6c37d2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3cd5e45c-f9fe-4d92-ae22-081ab1dde6e7" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_be8297f7-f2e2-473b-9258-7ddd4b6c37d2" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_StockIssuedDuringPeriodSharesRestrictedStockAwardBonusProgram_97ece838-63ad-401f-8eb9-c978d4baa548" xlink:href="fsly-20231231.xsd#fsly_StockIssuedDuringPeriodSharesRestrictedStockAwardBonusProgram"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3cd5e45c-f9fe-4d92-ae22-081ab1dde6e7" xlink:to="loc_fsly_StockIssuedDuringPeriodSharesRestrictedStockAwardBonusProgram_97ece838-63ad-401f-8eb9-c978d4baa548" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_StockIssuedDuringPeriodValueRestrictedStockAwardBonusProgram_cdbb7f2e-e8ec-40cb-8e58-12691b5b3be9" xlink:href="fsly-20231231.xsd#fsly_StockIssuedDuringPeriodValueRestrictedStockAwardBonusProgram"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3cd5e45c-f9fe-4d92-ae22-081ab1dde6e7" xlink:to="loc_fsly_StockIssuedDuringPeriodValueRestrictedStockAwardBonusProgram_cdbb7f2e-e8ec-40cb-8e58-12691b5b3be9" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_PayoutOfPerformanceBasedRestrictedStockUnitsPercentage_a776a64b-30f1-4ca8-9996-22173727b330" xlink:href="fsly-20231231.xsd#fsly_PayoutOfPerformanceBasedRestrictedStockUnitsPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3cd5e45c-f9fe-4d92-ae22-081ab1dde6e7" xlink:to="loc_fsly_PayoutOfPerformanceBasedRestrictedStockUnitsPercentage_a776a64b-30f1-4ca8-9996-22173727b330" xlink:type="arc" order="3"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/StockholdersEquityMPSUDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#StockholdersEquityMPSUDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/StockholdersEquityMPSUDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b936eb3a-67e1-4a8a-9f1e-c1f804a4b5fb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b3412ea4-d692-4d52-8099-6f0f1e711965" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b936eb3a-67e1-4a8a-9f1e-c1f804a4b5fb" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b3412ea4-d692-4d52-8099-6f0f1e711965" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_f7f66fdb-8406-4624-935b-4d316a2e769a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b3412ea4-d692-4d52-8099-6f0f1e711965" xlink:to="loc_us-gaap_AwardTypeAxis_f7f66fdb-8406-4624-935b-4d316a2e769a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_f7f66fdb-8406-4624-935b-4d316a2e769a_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_f7f66fdb-8406-4624-935b-4d316a2e769a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_f7f66fdb-8406-4624-935b-4d316a2e769a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d7ee7c00-3447-4e1f-8bad-495ab4a563d3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_f7f66fdb-8406-4624-935b-4d316a2e769a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d7ee7c00-3447-4e1f-8bad-495ab4a563d3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_MarketBasedPerformanceStockAwardsMember_7d917e71-8796-424f-b65b-d48696d7594f" xlink:href="fsly-20231231.xsd#fsly_MarketBasedPerformanceStockAwardsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d7ee7c00-3447-4e1f-8bad-495ab4a563d3" xlink:to="loc_fsly_MarketBasedPerformanceStockAwardsMember_7d917e71-8796-424f-b65b-d48696d7594f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_43db862c-15d6-44eb-96b5-a3c1b30e28ae" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b936eb3a-67e1-4a8a-9f1e-c1f804a4b5fb" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_43db862c-15d6-44eb-96b5-a3c1b30e28ae" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_34fed464-0611-48ff-92be-6e602c3f2e42" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b936eb3a-67e1-4a8a-9f1e-c1f804a4b5fb" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_34fed464-0611-48ff-92be-6e602c3f2e42" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_0e39ab75-4470-4953-bbaf-c4adb9d30d3a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b936eb3a-67e1-4a8a-9f1e-c1f804a4b5fb" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_0e39ab75-4470-4953-bbaf-c4adb9d30d3a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_25471610-b253-460b-bfb1-edb136f4aa8b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b936eb3a-67e1-4a8a-9f1e-c1f804a4b5fb" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_25471610-b253-460b-bfb1-edb136f4aa8b" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_09f5131c-7ee9-444a-87b2-b1fd1acb37dc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b936eb3a-67e1-4a8a-9f1e-c1f804a4b5fb" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_09f5131c-7ee9-444a-87b2-b1fd1acb37dc" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_4535613d-608d-40c7-bd71-ba4e432a1ff6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b936eb3a-67e1-4a8a-9f1e-c1f804a4b5fb" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_4535613d-608d-40c7-bd71-ba4e432a1ff6" xlink:type="arc" order="5"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/StockholdersEquityESPPDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#StockholdersEquityESPPDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/StockholdersEquityESPPDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3ec6f209-478f-4246-947b-503677ac2317" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_70d100c4-0a43-4cc7-beff-2cf82aaebb76" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3ec6f209-478f-4246-947b-503677ac2317" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_70d100c4-0a43-4cc7-beff-2cf82aaebb76" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_5918c04f-f3cd-4f3d-ad8e-d6a0dcfbf0ee" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_70d100c4-0a43-4cc7-beff-2cf82aaebb76" xlink:to="loc_us-gaap_AwardTypeAxis_5918c04f-f3cd-4f3d-ad8e-d6a0dcfbf0ee" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5918c04f-f3cd-4f3d-ad8e-d6a0dcfbf0ee_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_5918c04f-f3cd-4f3d-ad8e-d6a0dcfbf0ee" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5918c04f-f3cd-4f3d-ad8e-d6a0dcfbf0ee_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d2d60152-871c-4d87-8302-d46fd5e783a4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_5918c04f-f3cd-4f3d-ad8e-d6a0dcfbf0ee" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d2d60152-871c-4d87-8302-d46fd5e783a4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockMember_27d53616-06ff-4afc-9534-a6a502ad8e28" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d2d60152-871c-4d87-8302-d46fd5e783a4" xlink:to="loc_us-gaap_EmployeeStockMember_27d53616-06ff-4afc-9534-a6a502ad8e28" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_8df600d0-f3cb-492d-b8ab-d2ea648926d5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_70d100c4-0a43-4cc7-beff-2cf82aaebb76" xlink:to="loc_us-gaap_StatementClassOfStockAxis_8df600d0-f3cb-492d-b8ab-d2ea648926d5" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_8df600d0-f3cb-492d-b8ab-d2ea648926d5_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_8df600d0-f3cb-492d-b8ab-d2ea648926d5" xlink:to="loc_us-gaap_ClassOfStockDomain_8df600d0-f3cb-492d-b8ab-d2ea648926d5_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_61677ed7-f840-4d33-ab59-1dbbc6ca7c96" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_8df600d0-f3cb-492d-b8ab-d2ea648926d5" xlink:to="loc_us-gaap_ClassOfStockDomain_61677ed7-f840-4d33-ab59-1dbbc6ca7c96" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember_09b522b0-b880-446d-bc79-98c6e3b63cb0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonClassAMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_61677ed7-f840-4d33-ab59-1dbbc6ca7c96" xlink:to="loc_us-gaap_CommonClassAMember_09b522b0-b880-446d-bc79-98c6e3b63cb0" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_e81e88b4-48b7-4a0b-a58e-0a357f388a5a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_70d100c4-0a43-4cc7-beff-2cf82aaebb76" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_e81e88b4-48b7-4a0b-a58e-0a357f388a5a" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_e81e88b4-48b7-4a0b-a58e-0a357f388a5a_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_e81e88b4-48b7-4a0b-a58e-0a357f388a5a" xlink:to="loc_us-gaap_EquityComponentDomain_e81e88b4-48b7-4a0b-a58e-0a357f388a5a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_2dbc5cb5-1154-45d9-a801-a23c7e85544a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_e81e88b4-48b7-4a0b-a58e-0a357f388a5a" xlink:to="loc_us-gaap_EquityComponentDomain_2dbc5cb5-1154-45d9-a801-a23c7e85544a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_dc5d9242-a408-434f-b8da-3a2b9e0d3512" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_2dbc5cb5-1154-45d9-a801-a23c7e85544a" xlink:to="loc_us-gaap_CommonStockMember_dc5d9242-a408-434f-b8da-3a2b9e0d3512" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate_f1881d7d-7fc1-4e03-b079-95a6d8772301" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3ec6f209-478f-4246-947b-503677ac2317" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate_f1881d7d-7fc1-4e03-b079-95a6d8772301" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_SharebasedCompensationArrangementbySharebasedPaymentAwardStockPlanOfferingPeriod_6b5ae75e-daeb-4e62-b6e2-84da618b5e90" xlink:href="fsly-20231231.xsd#fsly_SharebasedCompensationArrangementbySharebasedPaymentAwardStockPlanOfferingPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3ec6f209-478f-4246-947b-503677ac2317" xlink:to="loc_fsly_SharebasedCompensationArrangementbySharebasedPaymentAwardStockPlanOfferingPeriod_6b5ae75e-daeb-4e62-b6e2-84da618b5e90" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_31674460-b66f-4043-a99f-8fbada4dae48" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3ec6f209-478f-4246-947b-503677ac2317" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_31674460-b66f-4043-a99f-8fbada4dae48" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_aeede625-2b57-4ffe-9d5b-5309ff76b010" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3ec6f209-478f-4246-947b-503677ac2317" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_aeede625-2b57-4ffe-9d5b-5309ff76b010" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_f49bf606-decc-4cc7-bd11-a4d3900da86d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3ec6f209-478f-4246-947b-503677ac2317" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_f49bf606-decc-4cc7-bd11-a4d3900da86d" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_c95b316b-5845-448c-a5fb-412537461a51" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3ec6f209-478f-4246-947b-503677ac2317" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_c95b316b-5845-448c-a5fb-412537461a51" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_9fa0b503-d6c1-4d37-8452-8cdeb4a93455" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3ec6f209-478f-4246-947b-503677ac2317" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_9fa0b503-d6c1-4d37-8452-8cdeb4a93455" xlink:type="arc" order="6"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/StockholdersEquityFairValueAssumptionsESPPDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#StockholdersEquityFairValueAssumptionsESPPDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/StockholdersEquityFairValueAssumptionsESPPDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_04f78628-6838-47eb-b7c2-e505b4d4a70a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8d4f705b-3b0e-4fd2-9263-eccead908229" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_04f78628-6838-47eb-b7c2-e505b4d4a70a" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8d4f705b-3b0e-4fd2-9263-eccead908229" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_9b2f45f6-81b6-42b2-aaff-37bd14b2d8cd" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8d4f705b-3b0e-4fd2-9263-eccead908229" xlink:to="loc_srt_RangeAxis_9b2f45f6-81b6-42b2-aaff-37bd14b2d8cd" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_9b2f45f6-81b6-42b2-aaff-37bd14b2d8cd_default" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_9b2f45f6-81b6-42b2-aaff-37bd14b2d8cd" xlink:to="loc_srt_RangeMember_9b2f45f6-81b6-42b2-aaff-37bd14b2d8cd_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_462e759d-48e4-4f9e-b056-32cd4eaacac1" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_9b2f45f6-81b6-42b2-aaff-37bd14b2d8cd" xlink:to="loc_srt_RangeMember_462e759d-48e4-4f9e-b056-32cd4eaacac1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_0aa1a229-966e-4681-823f-92452c62c9ef" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_462e759d-48e4-4f9e-b056-32cd4eaacac1" xlink:to="loc_srt_MinimumMember_0aa1a229-966e-4681-823f-92452c62c9ef" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_b935857b-232c-4a92-b632-b2c3b5d7135f" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_462e759d-48e4-4f9e-b056-32cd4eaacac1" xlink:to="loc_srt_MaximumMember_b935857b-232c-4a92-b632-b2c3b5d7135f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_7130cc05-a843-4ec5-be6a-42381942a581" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8d4f705b-3b0e-4fd2-9263-eccead908229" xlink:to="loc_us-gaap_AwardTypeAxis_7130cc05-a843-4ec5-be6a-42381942a581" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7130cc05-a843-4ec5-be6a-42381942a581_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_7130cc05-a843-4ec5-be6a-42381942a581" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7130cc05-a843-4ec5-be6a-42381942a581_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_626fce8f-811c-43d7-83df-18b972560226" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_7130cc05-a843-4ec5-be6a-42381942a581" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_626fce8f-811c-43d7-83df-18b972560226" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockMember_aa56c728-9143-4183-bd01-1282a5ea11ea" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_626fce8f-811c-43d7-83df-18b972560226" xlink:to="loc_us-gaap_EmployeeStockMember_aa56c728-9143-4183-bd01-1282a5ea11ea" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharePrice_f5af2016-cb3a-4797-bef5-5c9cfc660bd3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharePrice"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_04f78628-6838-47eb-b7c2-e505b4d4a70a" xlink:to="loc_us-gaap_SharePrice_f5af2016-cb3a-4797-bef5-5c9cfc660bd3" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_97fe5bf8-95c9-4ba1-9ebc-bf1058ef459b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_04f78628-6838-47eb-b7c2-e505b4d4a70a" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_97fe5bf8-95c9-4ba1-9ebc-bf1058ef459b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_d43ee829-a174-4eb5-98ed-c9c14757fbf1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_04f78628-6838-47eb-b7c2-e505b4d4a70a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_d43ee829-a174-4eb5-98ed-c9c14757fbf1" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_3a6bffc7-c2f3-4fc2-bf9f-76a27cf60b39" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_04f78628-6838-47eb-b7c2-e505b4d4a70a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_3a6bffc7-c2f3-4fc2-bf9f-76a27cf60b39" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_ed7c8c31-4147-4d70-b7b4-36f9ba8f9711" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_04f78628-6838-47eb-b7c2-e505b4d4a70a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_ed7c8c31-4147-4d70-b7b4-36f9ba8f9711" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_49c0ffe4-a82b-4cc3-b23e-c42e5def045f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_04f78628-6838-47eb-b7c2-e505b4d4a70a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_49c0ffe4-a82b-4cc3-b23e-c42e5def045f" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_6adeb8e1-93cb-4813-b1d3-732db3eb03aa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_04f78628-6838-47eb-b7c2-e505b4d4a70a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_6adeb8e1-93cb-4813-b1d3-732db3eb03aa" xlink:type="arc" order="6"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/StockholdersEquityEquityAwardsModificationDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#StockholdersEquityEquityAwardsModificationDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/StockholdersEquityEquityAwardsModificationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0e875fe6-b284-4a5e-a138-deb5a3012b73" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_5e2b2b47-887c-43b0-8a6b-8bc05a74cd5b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0e875fe6-b284-4a5e-a138-deb5a3012b73" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_5e2b2b47-887c-43b0-8a6b-8bc05a74cd5b" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_a2d9f871-0dd9-4be8-a384-9679dffa3628" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_5e2b2b47-887c-43b0-8a6b-8bc05a74cd5b" xlink:to="loc_us-gaap_AwardTypeAxis_a2d9f871-0dd9-4be8-a384-9679dffa3628" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_a2d9f871-0dd9-4be8-a384-9679dffa3628_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_a2d9f871-0dd9-4be8-a384-9679dffa3628" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_a2d9f871-0dd9-4be8-a384-9679dffa3628_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_c3e6647e-6891-46fa-8c7c-9bdc6eee6b29" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_a2d9f871-0dd9-4be8-a384-9679dffa3628" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_c3e6647e-6891-46fa-8c7c-9bdc6eee6b29" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockCompensationPlanMember_46aa0503-3bcb-4a23-874b-18bfcbac1bb7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockCompensationPlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_c3e6647e-6891-46fa-8c7c-9bdc6eee6b29" xlink:to="loc_us-gaap_StockCompensationPlanMember_46aa0503-3bcb-4a23-874b-18bfcbac1bb7" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost_988830bd-71f1-4e66-8bd7-70f5d777869b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0e875fe6-b284-4a5e-a138-deb5a3012b73" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost_988830bd-71f1-4e66-8bd7-70f5d777869b" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/StockholdersEquityStockbasedCompensationExpenseDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#StockholdersEquityStockbasedCompensationExpenseDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/StockholdersEquityStockbasedCompensationExpenseDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_15807b48-5efb-450d-83d6-4509bc36801d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_7f9783a0-43f8-4657-b26f-a95b2601cab7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_15807b48-5efb-450d-83d6-4509bc36801d" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_7f9783a0-43f8-4657-b26f-a95b2601cab7" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_62f644e7-1b22-4c52-8c0f-77822b257efb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_7f9783a0-43f8-4657-b26f-a95b2601cab7" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_62f644e7-1b22-4c52-8c0f-77822b257efb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_62f644e7-1b22-4c52-8c0f-77822b257efb_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_62f644e7-1b22-4c52-8c0f-77822b257efb" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_62f644e7-1b22-4c52-8c0f-77822b257efb_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_cc8c7d2d-c93b-4a42-a0a4-0800d4329f12" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_62f644e7-1b22-4c52-8c0f-77822b257efb" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_cc8c7d2d-c93b-4a42-a0a4-0800d4329f12" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember_b2eb81d5-e102-4ec9-a740-ad15f535d234" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfSalesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_cc8c7d2d-c93b-4a42-a0a4-0800d4329f12" xlink:to="loc_us-gaap_CostOfSalesMember_b2eb81d5-e102-4ec9-a740-ad15f535d234" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_08be43b4-1ecb-4971-9b14-d5122d421bfb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpenseMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_cc8c7d2d-c93b-4a42-a0a4-0800d4329f12" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseMember_08be43b4-1ecb-4971-9b14-d5122d421bfb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingAndMarketingExpenseMember_6bc08588-f2f0-411e-9432-b34213872d17" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpenseMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_cc8c7d2d-c93b-4a42-a0a4-0800d4329f12" xlink:to="loc_us-gaap_SellingAndMarketingExpenseMember_6bc08588-f2f0-411e-9432-b34213872d17" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpenseMember_5fb17ba7-bfac-4f9f-9454-961dde9e0fe1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpenseMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_cc8c7d2d-c93b-4a42-a0a4-0800d4329f12" xlink:to="loc_us-gaap_GeneralAndAdministrativeExpenseMember_5fb17ba7-bfac-4f9f-9454-961dde9e0fe1" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_9531bb2b-daae-4a1a-b668-7da3ad6d2bc5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_15807b48-5efb-450d-83d6-4509bc36801d" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_9531bb2b-daae-4a1a-b668-7da3ad6d2bc5" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/StockholdersEquityCommonStockWarrantLiabilitiesDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#StockholdersEquityCommonStockWarrantLiabilitiesDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/StockholdersEquityCommonStockWarrantLiabilitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockLineItems_f4e27d5f-7c26-4f96-a8d5-154701556a7b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfStockByClassTable_e2039f0d-1704-47fb-a18a-1d4ff0194c8c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfStockByClassTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ClassOfStockLineItems_f4e27d5f-7c26-4f96-a8d5-154701556a7b" xlink:to="loc_us-gaap_ScheduleOfStockByClassTable_e2039f0d-1704-47fb-a18a-1d4ff0194c8c" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_5863175a-9ab9-4045-9ff6-6261ea495a79" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_e2039f0d-1704-47fb-a18a-1d4ff0194c8c" xlink:to="loc_us-gaap_AwardTypeAxis_5863175a-9ab9-4045-9ff6-6261ea495a79" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5863175a-9ab9-4045-9ff6-6261ea495a79_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_5863175a-9ab9-4045-9ff6-6261ea495a79" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5863175a-9ab9-4045-9ff6-6261ea495a79_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_38ad2160-61fc-4865-93e9-cb37f11e2190" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_5863175a-9ab9-4045-9ff6-6261ea495a79" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_38ad2160-61fc-4865-93e9-cb37f11e2190" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_LiabilityClassifiedAwardsMember_1ce30d55-a005-43d9-9c95-fff7c1626e8d" xlink:href="fsly-20231231.xsd#fsly_LiabilityClassifiedAwardsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_38ad2160-61fc-4865-93e9-cb37f11e2190" xlink:to="loc_fsly_LiabilityClassifiedAwardsMember_1ce30d55-a005-43d9-9c95-fff7c1626e8d" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount_d1029046-4e57-451b-ba6a-15b280f257b6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_f4e27d5f-7c26-4f96-a8d5-154701556a7b" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount_d1029046-4e57-451b-ba6a-15b280f257b6" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_4ef3fea2-e767-45fd-81bd-5b0d03dc2a43" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_f4e27d5f-7c26-4f96-a8d5-154701556a7b" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_4ef3fea2-e767-45fd-81bd-5b0d03dc2a43" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/StockholdersEquityEarlyExerciseofStockDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#StockholdersEquityEarlyExerciseofStockDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/StockholdersEquityEarlyExerciseofStockDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_8e17c1d0-503c-432c-8c85-16d7872f9abc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_00d911de-8179-41df-8490-056c5a2fb828" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_8e17c1d0-503c-432c-8c85-16d7872f9abc" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_00d911de-8179-41df-8490-056c5a2fb828" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_0208fd68-5d2b-4a5b-a745-ee797f2d05fb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_00d911de-8179-41df-8490-056c5a2fb828" xlink:to="loc_us-gaap_AwardTypeAxis_0208fd68-5d2b-4a5b-a745-ee797f2d05fb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_0208fd68-5d2b-4a5b-a745-ee797f2d05fb_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_0208fd68-5d2b-4a5b-a745-ee797f2d05fb" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_0208fd68-5d2b-4a5b-a745-ee797f2d05fb_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_bf46403c-42ef-405c-a2f0-9b748250eb44" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_0208fd68-5d2b-4a5b-a745-ee797f2d05fb" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_bf46403c-42ef-405c-a2f0-9b748250eb44" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember_1ac9c12d-fdb7-4968-9966-78eb7666b326" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_bf46403c-42ef-405c-a2f0-9b748250eb44" xlink:to="loc_us-gaap_EmployeeStockOptionMember_1ac9c12d-fdb7-4968-9966-78eb7666b326" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_0b00db7e-fcb6-4c3d-8be8-7c60e1f7478e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_00d911de-8179-41df-8490-056c5a2fb828" xlink:to="loc_us-gaap_StatementClassOfStockAxis_0b00db7e-fcb6-4c3d-8be8-7c60e1f7478e" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_0b00db7e-fcb6-4c3d-8be8-7c60e1f7478e_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_0b00db7e-fcb6-4c3d-8be8-7c60e1f7478e" xlink:to="loc_us-gaap_ClassOfStockDomain_0b00db7e-fcb6-4c3d-8be8-7c60e1f7478e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_da6fbb58-e73f-4b68-b3bd-657d5c077ec4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_0b00db7e-fcb6-4c3d-8be8-7c60e1f7478e" xlink:to="loc_us-gaap_ClassOfStockDomain_da6fbb58-e73f-4b68-b3bd-657d5c077ec4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassBMember_244574dc-faba-471e-a341-2ac8b1afda68" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonClassBMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_da6fbb58-e73f-4b68-b3bd-657d5c077ec4" xlink:to="loc_us-gaap_CommonClassBMember_244574dc-faba-471e-a341-2ac8b1afda68" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ShareBasedPaymentArrangementPlanModificationNumberOfAwardsAffected_5818981f-3564-4dc3-9d97-e2bbcd0e5953" xlink:href="fsly-20231231.xsd#fsly_ShareBasedPaymentArrangementPlanModificationNumberOfAwardsAffected"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_8e17c1d0-503c-432c-8c85-16d7872f9abc" xlink:to="loc_fsly_ShareBasedPaymentArrangementPlanModificationNumberOfAwardsAffected_5818981f-3564-4dc3-9d97-e2bbcd0e5953" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ShareBasedPaymentArrangementPlanModificationExerciseValueOfAwardsAffected_b7a917fd-4561-481b-8a37-864a32a187ba" xlink:href="fsly-20231231.xsd#fsly_ShareBasedPaymentArrangementPlanModificationExerciseValueOfAwardsAffected"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_8e17c1d0-503c-432c-8c85-16d7872f9abc" xlink:to="loc_fsly_ShareBasedPaymentArrangementPlanModificationExerciseValueOfAwardsAffected_b7a917fd-4561-481b-8a37-864a32a187ba" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_36da9ac3-a8cd-4df7-945c-0591e1e58714" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_8e17c1d0-503c-432c-8c85-16d7872f9abc" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_36da9ac3-a8cd-4df7-945c-0591e1e58714" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilities_cb2d481c-dc4b-464c-b7e0-4df83ef0de14" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_8e17c1d0-503c-432c-8c85-16d7872f9abc" xlink:to="loc_us-gaap_OtherLiabilities_cb2d481c-dc4b-464c-b7e0-4df83ef0de14" xlink:type="arc" order="3"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofComputationofBasicandDilutedNetLossPerShareofCommonStockDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#NetLossPerShareAttributabletoCommonStockholdersScheduleofComputationofBasicandDilutedNetLossPerShareofCommonStockDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofComputationofBasicandDilutedNetLossPerShareofCommonStockDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockLineItems_d86331b1-6374-4aa2-8535-b4db3151a7a4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfStockByClassTable_8d7c96f5-e12c-4b6f-a0e1-bd70862d11ab" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfStockByClassTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ClassOfStockLineItems_d86331b1-6374-4aa2-8535-b4db3151a7a4" xlink:to="loc_us-gaap_ScheduleOfStockByClassTable_8d7c96f5-e12c-4b6f-a0e1-bd70862d11ab" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_c340a831-96e2-4222-90f5-f413882cf1a7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_8d7c96f5-e12c-4b6f-a0e1-bd70862d11ab" xlink:to="loc_us-gaap_StatementClassOfStockAxis_c340a831-96e2-4222-90f5-f413882cf1a7" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_c340a831-96e2-4222-90f5-f413882cf1a7_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_c340a831-96e2-4222-90f5-f413882cf1a7" xlink:to="loc_us-gaap_ClassOfStockDomain_c340a831-96e2-4222-90f5-f413882cf1a7_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_756f6a12-95f6-4978-9033-9ee38b0b0243" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_c340a831-96e2-4222-90f5-f413882cf1a7" xlink:to="loc_us-gaap_ClassOfStockDomain_756f6a12-95f6-4978-9033-9ee38b0b0243" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember_12c7fa76-b370-4177-8ea2-0a631acc6b12" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonClassAMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_756f6a12-95f6-4978-9033-9ee38b0b0243" xlink:to="loc_us-gaap_CommonClassAMember_12c7fa76-b370-4177-8ea2-0a631acc6b12" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassBMember_0729fbef-5775-44bd-a703-1354e7b26459" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonClassBMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_756f6a12-95f6-4978-9033-9ee38b0b0243" xlink:to="loc_us-gaap_CommonClassBMember_0729fbef-5775-44bd-a703-1354e7b26459" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_d90b5b16-7eef-43a9-b178-7006c11b2f2c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_8d7c96f5-e12c-4b6f-a0e1-bd70862d11ab" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_d90b5b16-7eef-43a9-b178-7006c11b2f2c" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_d90b5b16-7eef-43a9-b178-7006c11b2f2c_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_d90b5b16-7eef-43a9-b178-7006c11b2f2c" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_d90b5b16-7eef-43a9-b178-7006c11b2f2c_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_c89cef15-d311-47eb-ae4f-255d9082d8f0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_d90b5b16-7eef-43a9-b178-7006c11b2f2c" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_c89cef15-d311-47eb-ae4f-255d9082d8f0" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IPOMember_40a72119-7b83-421d-b1d4-8f8d889a75dc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IPOMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_c89cef15-d311-47eb-ae4f-255d9082d8f0" xlink:to="loc_us-gaap_IPOMember_40a72119-7b83-421d-b1d4-8f8d889a75dc" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_f9200f1a-5cb3-4171-9527-bfe276e9250a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_d86331b1-6374-4aa2-8535-b4db3151a7a4" xlink:to="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_f9200f1a-5cb3-4171-9527-bfe276e9250a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted_fc2e1a5f-1a87-4129-8b2b-ce81b9389447" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_d86331b1-6374-4aa2-8535-b4db3151a7a4" xlink:to="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted_fc2e1a5f-1a87-4129-8b2b-ce81b9389447" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_b40ee32f-1898-4143-933b-5b2ae8c32f47" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_d86331b1-6374-4aa2-8535-b4db3151a7a4" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_b40ee32f-1898-4143-933b-5b2ae8c32f47" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_e94e5dea-892a-41e2-8fa9-2e507d1b5ca6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_d86331b1-6374-4aa2-8535-b4db3151a7a4" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_e94e5dea-892a-41e2-8fa9-2e507d1b5ca6" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic_5a4777a3-38c1-4027-8008-321b697669a3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_d86331b1-6374-4aa2-8535-b4db3151a7a4" xlink:to="loc_us-gaap_EarningsPerShareBasic_5a4777a3-38c1-4027-8008-321b697669a3" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted_315af8be-7968-43ed-b7d8-e6c020f8e1eb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_d86331b1-6374-4aa2-8535-b4db3151a7a4" xlink:to="loc_us-gaap_EarningsPerShareDiluted_315af8be-7968-43ed-b7d8-e6c020f8e1eb" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues_c53eb684-fb6d-4a80-93c4-17431d1d39d9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_d86331b1-6374-4aa2-8535-b4db3151a7a4" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues_c53eb684-fb6d-4a80-93c4-17431d1d39d9" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_13c95374-8297-4810-892a-a8d12f1047fe" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_d86331b1-6374-4aa2-8535-b4db3151a7a4" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_13c95374-8297-4810-892a-a8d12f1047fe" xlink:type="arc" order="7"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#NetLossPerShareAttributabletoCommonStockholdersScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_2d9e4caf-0c4c-4d13-926b-feb3c879c602" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_2ba8f4b6-2f91-4d08-9fc9-9740ab4f8ce8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_2d9e4caf-0c4c-4d13-926b-feb3c879c602" xlink:to="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_2ba8f4b6-2f91-4d08-9fc9-9740ab4f8ce8" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_7ebf4571-9c80-46a8-a7cd-6a5446cf3774" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_2ba8f4b6-2f91-4d08-9fc9-9740ab4f8ce8" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_7ebf4571-9c80-46a8-a7cd-6a5446cf3774" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesNameDomain_7ebf4571-9c80-46a8-a7cd-6a5446cf3774_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_7ebf4571-9c80-46a8-a7cd-6a5446cf3774" xlink:to="loc_us-gaap_AntidilutiveSecuritiesNameDomain_7ebf4571-9c80-46a8-a7cd-6a5446cf3774_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesNameDomain_0880615f-f2ba-45b6-bd94-e4da668dff25" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_7ebf4571-9c80-46a8-a7cd-6a5446cf3774" xlink:to="loc_us-gaap_AntidilutiveSecuritiesNameDomain_0880615f-f2ba-45b6-bd94-e4da668dff25" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember_8b25a4ac-1149-46dc-9c54-8221ca053d2e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_0880615f-f2ba-45b6-bd94-e4da668dff25" xlink:to="loc_us-gaap_EmployeeStockOptionMember_8b25a4ac-1149-46dc-9c54-8221ca053d2e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_ad6bbfc8-0ec1-46bd-8d04-0f72a439207d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_0880615f-f2ba-45b6-bd94-e4da668dff25" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_ad6bbfc8-0ec1-46bd-8d04-0f72a439207d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_RevestSharesMember_ce7b8cc7-003c-42f6-894e-158aba76b6d5" xlink:href="fsly-20231231.xsd#fsly_RevestSharesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_0880615f-f2ba-45b6-bd94-e4da668dff25" xlink:to="loc_fsly_RevestSharesMember_ce7b8cc7-003c-42f6-894e-158aba76b6d5" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_20605208-ca01-46d4-b7b6-61334e26cd0b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PerformanceSharesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_0880615f-f2ba-45b6-bd94-e4da668dff25" xlink:to="loc_us-gaap_PerformanceSharesMember_20605208-ca01-46d4-b7b6-61334e26cd0b" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_MarketBasedPerformanceStockAwardsMember_7af5e7e2-c9f6-4e2e-a0bb-81edb0ee761e" xlink:href="fsly-20231231.xsd#fsly_MarketBasedPerformanceStockAwardsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_0880615f-f2ba-45b6-bd94-e4da668dff25" xlink:to="loc_fsly_MarketBasedPerformanceStockAwardsMember_7af5e7e2-c9f6-4e2e-a0bb-81edb0ee761e" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_BonusPSUsMember_3d33149f-26e1-44fc-84be-8f1e50cb730f" xlink:href="fsly-20231231.xsd#fsly_BonusPSUsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_0880615f-f2ba-45b6-bd94-e4da668dff25" xlink:to="loc_fsly_BonusPSUsMember_3d33149f-26e1-44fc-84be-8f1e50cb730f" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockMember_eeec3325-b884-4460-882a-46f2e95849ca" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_0880615f-f2ba-45b6-bd94-e4da668dff25" xlink:to="loc_us-gaap_EmployeeStockMember_eeec3325-b884-4460-882a-46f2e95849ca" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertibleDebtSecuritiesMember_738e7a33-8397-4728-96a8-bcf79329c9ac" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_0880615f-f2ba-45b6-bd94-e4da668dff25" xlink:to="loc_us-gaap_ConvertibleDebtSecuritiesMember_738e7a33-8397-4728-96a8-bcf79329c9ac" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_ab46a9ff-12ab-4d19-8cf8-d864229b49da" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_2d9e4caf-0c4c-4d13-926b-feb3c879c602" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_ab46a9ff-12ab-4d19-8cf8-d864229b49da" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/IncomeTaxesNarrativeDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#IncomeTaxesNarrativeDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/IncomeTaxesNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwardsLineItems_8b5a49dd-94c4-45ed-912c-a1fa18d0cd9a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwardsTable_d4685d23-60a8-4928-8871-d353250f4510" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_8b5a49dd-94c4-45ed-912c-a1fa18d0cd9a" xlink:to="loc_us-gaap_OperatingLossCarryforwardsTable_d4685d23-60a8-4928-8871-d353250f4510" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis_b551abbc-c48a-4278-8dc1-11b9620d04fa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_OperatingLossCarryforwardsTable_d4685d23-60a8-4928-8871-d353250f4510" xlink:to="loc_us-gaap_IncomeTaxAuthorityAxis_b551abbc-c48a-4278-8dc1-11b9620d04fa" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_b551abbc-c48a-4278-8dc1-11b9620d04fa_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_b551abbc-c48a-4278-8dc1-11b9620d04fa" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_b551abbc-c48a-4278-8dc1-11b9620d04fa_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_8ca033a7-106a-4e5f-89fc-f12229fb5525" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_b551abbc-c48a-4278-8dc1-11b9620d04fa" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_8ca033a7-106a-4e5f-89fc-f12229fb5525" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticCountryMember_ea1ccddc-cbef-4bc7-a343-6e8b76295105" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DomesticCountryMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_8ca033a7-106a-4e5f-89fc-f12229fb5525" xlink:to="loc_us-gaap_DomesticCountryMember_ea1ccddc-cbef-4bc7-a343-6e8b76295105" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StateAndLocalJurisdictionMember_2b2b3450-a0a0-4d35-a069-67e87a58d79a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StateAndLocalJurisdictionMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_8ca033a7-106a-4e5f-89fc-f12229fb5525" xlink:to="loc_us-gaap_StateAndLocalJurisdictionMember_2b2b3450-a0a0-4d35-a069-67e87a58d79a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCountryMember_900be8d7-a881-45d3-b8d3-0eab122fc503" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCountryMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_8ca033a7-106a-4e5f-89fc-f12229fb5525" xlink:to="loc_us-gaap_ForeignCountryMember_900be8d7-a881-45d3-b8d3-0eab122fc503" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxCreditCarryforwardAxis_7e29b608-8e5c-4294-bec3-3408bfc12935" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxCreditCarryforwardAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_OperatingLossCarryforwardsTable_d4685d23-60a8-4928-8871-d353250f4510" xlink:to="loc_us-gaap_TaxCreditCarryforwardAxis_7e29b608-8e5c-4294-bec3-3408bfc12935" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxCreditCarryforwardNameDomain_7e29b608-8e5c-4294-bec3-3408bfc12935_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxCreditCarryforwardNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_TaxCreditCarryforwardAxis_7e29b608-8e5c-4294-bec3-3408bfc12935" xlink:to="loc_us-gaap_TaxCreditCarryforwardNameDomain_7e29b608-8e5c-4294-bec3-3408bfc12935_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxCreditCarryforwardNameDomain_5d5f3897-df7d-4b27-974c-58345bdaefa2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxCreditCarryforwardNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_TaxCreditCarryforwardAxis_7e29b608-8e5c-4294-bec3-3408bfc12935" xlink:to="loc_us-gaap_TaxCreditCarryforwardNameDomain_5d5f3897-df7d-4b27-974c-58345bdaefa2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchMember_ae65fa7b-e873-4f1c-b526-e3c80bdbebb6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardNameDomain_5d5f3897-df7d-4b27-974c-58345bdaefa2" xlink:to="loc_us-gaap_ResearchMember_ae65fa7b-e873-4f1c-b526-e3c80bdbebb6" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementGeographicalAxis_9a97175f-b8da-4b9f-84e3-25f1aefb58d8" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_OperatingLossCarryforwardsTable_d4685d23-60a8-4928-8871-d353250f4510" xlink:to="loc_srt_StatementGeographicalAxis_9a97175f-b8da-4b9f-84e3-25f1aefb58d8" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_9a97175f-b8da-4b9f-84e3-25f1aefb58d8_default" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_StatementGeographicalAxis_9a97175f-b8da-4b9f-84e3-25f1aefb58d8" xlink:to="loc_srt_SegmentGeographicalDomain_9a97175f-b8da-4b9f-84e3-25f1aefb58d8_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_6c50d4bd-4456-43e1-a39a-0b2fcb814d9f" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_StatementGeographicalAxis_9a97175f-b8da-4b9f-84e3-25f1aefb58d8" xlink:to="loc_srt_SegmentGeographicalDomain_6c50d4bd-4456-43e1-a39a-0b2fcb814d9f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_GB_ed57e6ac-072e-4377-a4db-26cbab25290e" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_GB"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_6c50d4bd-4456-43e1-a39a-0b2fcb814d9f" xlink:to="loc_country_GB_ed57e6ac-072e-4377-a4db-26cbab25290e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_614556bd-f4cc-4b02-9a4a-050366755b61" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_8b5a49dd-94c4-45ed-912c-a1fa18d0cd9a" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_614556bd-f4cc-4b02-9a4a-050366755b61" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwards_a15b99b9-3cea-4771-af35-ad31408e7a17" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwards"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_8b5a49dd-94c4-45ed-912c-a1fa18d0cd9a" xlink:to="loc_us-gaap_OperatingLossCarryforwards_a15b99b9-3cea-4771-af35-ad31408e7a17" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxCreditCarryforwardAmount_02c6ec0e-8507-45f3-977c-0bd1edf14f3c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxCreditCarryforwardAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_8b5a49dd-94c4-45ed-912c-a1fa18d0cd9a" xlink:to="loc_us-gaap_TaxCreditCarryforwardAmount_02c6ec0e-8507-45f3-977c-0bd1edf14f3c" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_73b69284-8c55-4d01-b001-adef244657d2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_8b5a49dd-94c4-45ed-912c-a1fa18d0cd9a" xlink:to="loc_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_73b69284-8c55-4d01-b001-adef244657d2" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_fb226867-fa74-4b76-a3df-8ac75ee29ccb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_8b5a49dd-94c4-45ed-912c-a1fa18d0cd9a" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_fb226867-fa74-4b76-a3df-8ac75ee29ccb" xlink:type="arc" order="4"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fastly.com/role/InformationAboutRevenueandGeographicAreasDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#InformationAboutRevenueandGeographicAreasDetails"/>
  <link:definitionLink xlink:role="http://fastly.com/role/InformationAboutRevenueandGeographicAreasDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_530b55b3-ce75-4828-aa46-9b4e9ac30400" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_477b1cce-7a5d-4e4b-97f7-c34c6b82eb0f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_530b55b3-ce75-4828-aa46-9b4e9ac30400" xlink:to="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_477b1cce-7a5d-4e4b-97f7-c34c6b82eb0f" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementGeographicalAxis_b6b9df45-30ab-4ce5-a051-8e0da53bc665" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_477b1cce-7a5d-4e4b-97f7-c34c6b82eb0f" xlink:to="loc_srt_StatementGeographicalAxis_b6b9df45-30ab-4ce5-a051-8e0da53bc665" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_b6b9df45-30ab-4ce5-a051-8e0da53bc665_default" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_StatementGeographicalAxis_b6b9df45-30ab-4ce5-a051-8e0da53bc665" xlink:to="loc_srt_SegmentGeographicalDomain_b6b9df45-30ab-4ce5-a051-8e0da53bc665_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_36d84b4f-7ffb-4407-b9a9-55a7e9b26560" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_StatementGeographicalAxis_b6b9df45-30ab-4ce5-a051-8e0da53bc665" xlink:to="loc_srt_SegmentGeographicalDomain_36d84b4f-7ffb-4407-b9a9-55a7e9b26560" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_US_8e09196a-7096-422c-890e-5476d8eaf5d2" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_36d84b4f-7ffb-4407-b9a9-55a7e9b26560" xlink:to="loc_country_US_8e09196a-7096-422c-890e-5476d8eaf5d2" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NonUsMember_f425bfad-1c22-4c11-9840-48ef58c5376b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonUsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_36d84b4f-7ffb-4407-b9a9-55a7e9b26560" xlink:to="loc_us-gaap_NonUsMember_f425bfad-1c22-4c11-9840-48ef58c5376b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet_b985d063-25d6-4bf2-aa24-18f06f364da5" xlink:href="fsly-20231231.xsd#fsly_PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_530b55b3-ce75-4828-aa46-9b4e9ac30400" xlink:to="loc_fsly_PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet_b985d063-25d6-4bf2-aa24-18f06f364da5" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://xbrl.sec.gov/ecd/AwardTypeOnly" xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#AwardTypeOnly"/>
  <link:definitionLink xlink:role="http://xbrl.sec.gov/ecd/AwardTypeOnly" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaap_RestrictedStockMember" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PerformanceSharesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaap_PerformanceSharesMember" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_MarketBasedPerformanceStockAwardsMember_b1d7c542-0f88-4ade-8b9c-39098f37cd42" xlink:href="fsly-20231231.xsd#fsly_MarketBasedPerformanceStockAwardsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_fsly_MarketBasedPerformanceStockAwardsMember_b1d7c542-0f88-4ade-8b9c-39098f37cd42" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaap_EmployeeStockMember" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockCompensationPlanMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockCompensationPlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaap_StockCompensationPlanMember" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_LiabilityClassifiedAwardsMember_d7f2cb78-7955-4d92-8913-ae4ef40a9bfa" xlink:href="fsly-20231231.xsd#fsly_LiabilityClassifiedAwardsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_fsly_LiabilityClassifiedAwardsMember_d7f2cb78-7955-4d92-8913-ae4ef40a9bfa" xlink:type="arc" order="10"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/IndividualsOnly" xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#IndividualsOnly"/>
  <link:definitionLink xlink:role="http://xbrl.sec.gov/ecd/role/IndividualsOnly" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AllIndividualsMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllIndividualsMember"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_RonaldKislingMember_26b958dc-adbb-4a33-a156-5304a1b615bc" xlink:href="fsly-20231231.xsd#fsly_RonaldKislingMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_ecd_AllIndividualsMember" xlink:to="loc_fsly_RonaldKislingMember_26b958dc-adbb-4a33-a156-5304a1b615bc" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_RichardDanielsMember_8f050315-7202-4abf-8ad2-1e01a7e422a5" xlink:href="fsly-20231231.xsd#fsly_RichardDanielsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_ecd_AllIndividualsMember" xlink:to="loc_fsly_RichardDanielsMember_8f050315-7202-4abf-8ad2-1e01a7e422a5" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_BrettShirkMember_ee689927-64b2-4111-947c-0a7df7cd5736" xlink:href="fsly-20231231.xsd#fsly_BrettShirkMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_ecd_AllIndividualsMember" xlink:to="loc_fsly_BrettShirkMember_ee689927-64b2-4111-947c-0a7df7cd5736" xlink:type="arc" order="4"/>
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>14
<FILENAME>fsly-20231231_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2024 Workiva-->
<!--r:0811f168-84e9-4938-b9eb-eec18ec6ef5f,g:2dd75f08-7fdf-4aeb-9387-1f61559612c6-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel"/>
  <link:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended">
    <link:label id="lab_us-gaap_StockAppreciationRightsSARSMember_terseLabel_en-US" xlink:label="lab_us-gaap_StockAppreciationRightsSARSMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Appreciation Rights (SARs)</link:label>
    <link:label id="lab_us-gaap_StockAppreciationRightsSARSMember_label_en-US" xlink:label="lab_us-gaap_StockAppreciationRightsSARSMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Appreciation Rights (SARs) [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockAppreciationRightsSARSMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockAppreciationRightsSARSMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockAppreciationRightsSARSMember" xlink:to="lab_us-gaap_StockAppreciationRightsSARSMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_c8d48853-1efc-4284-a92f-5a61eba60470_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Accrued Expenses</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Accrued Liabilities [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrent_b70fda31-12f8-428b-9768-4a3a07aca3bb_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued expenses</link:label>
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrent_cf250ebf-9fd2-488c-a62c-91c8633c32b1_totalLabel_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total accrued expenses</link:label>
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:to="lab_us-gaap_AccruedLiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_b146f7f0-ed1a-4e86-8257-e4935bc114a7_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt facility, maximum borrowing amount</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Maximum Borrowing Capacity</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_ReceivableRelatedToSharesOfRestrictedStock_b8fc9423-1ec5-471b-b278-7f3dd1af5884_terseLabel_en-US" xlink:label="lab_fsly_ReceivableRelatedToSharesOfRestrictedStock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Receivable related to shares of restricted stock</link:label>
    <link:label id="lab_fsly_ReceivableRelatedToSharesOfRestrictedStock_label_en-US" xlink:label="lab_fsly_ReceivableRelatedToSharesOfRestrictedStock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Receivable Related to Shares of Restricted Stock</link:label>
    <link:label id="lab_fsly_ReceivableRelatedToSharesOfRestrictedStock_documentation_en-US" xlink:label="lab_fsly_ReceivableRelatedToSharesOfRestrictedStock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Receivable Related to Shares of Restricted Stock</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ReceivableRelatedToSharesOfRestrictedStock" xlink:href="fsly-20231231.xsd#fsly_ReceivableRelatedToSharesOfRestrictedStock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_ReceivableRelatedToSharesOfRestrictedStock" xlink:to="lab_fsly_ReceivableRelatedToSharesOfRestrictedStock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpense_bf095173-ffe1-4841-a5ee-43af0f6f477a_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and development</link:label>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpense_label_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and Development Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentExpense" xlink:to="lab_us-gaap_ResearchAndDevelopmentExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_CommonStockSharesRetired_16b4a5f7-1eec-435d-b62d-ffb4f113c166_terseLabel_en-US" xlink:label="lab_fsly_CommonStockSharesRetired" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock retired (in shares)</link:label>
    <link:label id="lab_fsly_CommonStockSharesRetired_label_en-US" xlink:label="lab_fsly_CommonStockSharesRetired" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares, Retired</link:label>
    <link:label id="lab_fsly_CommonStockSharesRetired_documentation_en-US" xlink:label="lab_fsly_CommonStockSharesRetired" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares, Retired</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_CommonStockSharesRetired" xlink:href="fsly-20231231.xsd#fsly_CommonStockSharesRetired"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_CommonStockSharesRetired" xlink:to="lab_fsly_CommonStockSharesRetired" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_bd50b0bb-2acf-4fca-922d-35606f3b4995_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Changes in operating assets and liabilities:</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Operating Capital [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_668356c7-6a80-4408-9a0b-eb18a49da0c1_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award expiration period</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Expiration Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_bb30fc8c-d4fd-4815-ab32-867c68f6933c_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Domain]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AwardGrantDateFairValue_terseLabel_en-US" xlink:label="lab_ecd_AwardGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value as of Grant Date</link:label>
    <link:label id="lab_ecd_AwardGrantDateFairValue_label_en-US" xlink:label="lab_ecd_AwardGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardGrantDateFairValue" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardGrantDateFairValue" xlink:to="lab_ecd_AwardGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_e0141eeb-0f64-4295-858b-21cc0949e523_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Remaining performance obligation, expected time period of recognition</link:label>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_label_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:to="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms_d04ebb3c-64f1-43c7-b6a5-8d3572edd7fd_terseLabel_en-US" xlink:label="lab_us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, performance obligation, description of payment terms</link:label>
    <link:label id="lab_us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms_label_en-US" xlink:label="lab_us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Performance Obligation, Description of Payment Terms</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms" xlink:to="lab_us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_StockIssuedDuringPeriodSharesBonusProgram_88335d9d-d156-4f5c-9603-b47ddd23401e_terseLabel_en-US" xlink:label="lab_fsly_StockIssuedDuringPeriodSharesBonusProgram" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares issued under bonus program (in shares)</link:label>
    <link:label id="lab_fsly_StockIssuedDuringPeriodSharesBonusProgram_label_en-US" xlink:label="lab_fsly_StockIssuedDuringPeriodSharesBonusProgram" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Shares, Bonus Program</link:label>
    <link:label id="lab_fsly_StockIssuedDuringPeriodSharesBonusProgram_documentation_en-US" xlink:label="lab_fsly_StockIssuedDuringPeriodSharesBonusProgram" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Shares, Bonus Program</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_StockIssuedDuringPeriodSharesBonusProgram" xlink:href="fsly-20231231.xsd#fsly_StockIssuedDuringPeriodSharesBonusProgram"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_StockIssuedDuringPeriodSharesBonusProgram" xlink:to="lab_fsly_StockIssuedDuringPeriodSharesBonusProgram" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_DeferredPaymentForBusinessCombinations_d6e4436c-a229-4b8a-9b62-f59d34dc13f7_negatedLabel_en-US" xlink:label="lab_fsly_DeferredPaymentForBusinessCombinations" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payment of deferred consideration for business acquisitions</link:label>
    <link:label id="lab_fsly_DeferredPaymentForBusinessCombinations_label_en-US" xlink:label="lab_fsly_DeferredPaymentForBusinessCombinations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Payment For Business Combinations</link:label>
    <link:label id="lab_fsly_DeferredPaymentForBusinessCombinations_documentation_en-US" xlink:label="lab_fsly_DeferredPaymentForBusinessCombinations" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Payment For Business Combinations</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DeferredPaymentForBusinessCombinations" xlink:href="fsly-20231231.xsd#fsly_DeferredPaymentForBusinessCombinations"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_DeferredPaymentForBusinessCombinations" xlink:to="lab_fsly_DeferredPaymentForBusinessCombinations" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_a7517837-ea84-471c-872d-c5eaceb80663_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-Based Payment Arrangement, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_InsiderTradingPoliciesProcLineItems_label_en-US" xlink:label="lab_ecd_InsiderTradingPoliciesProcLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Insider Trading Policies and Procedures [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_InsiderTradingPoliciesProcLineItems" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTradingPoliciesProcLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_InsiderTradingPoliciesProcLineItems" xlink:to="lab_ecd_InsiderTradingPoliciesProcLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_Rule10b51ArrTrmntdFlag_terseLabel_en-US" xlink:label="lab_ecd_Rule10b51ArrTrmntdFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Rule 10b5-1 Arrangement Terminated</link:label>
    <link:label id="lab_ecd_Rule10b51ArrTrmntdFlag_label_en-US" xlink:label="lab_ecd_Rule10b51ArrTrmntdFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Rule 10b5-1 Arrangement Terminated [Flag]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_Rule10b51ArrTrmntdFlag" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Rule10b51ArrTrmntdFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_Rule10b51ArrTrmntdFlag" xlink:to="lab_ecd_Rule10b51ArrTrmntdFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueLineItems_32813a91-2636-4fbf-93e9-13d9577e0e05_terseLabel_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Line Items]</link:label>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueLineItems_label_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems" xlink:to="lab_us-gaap_DisaggregationOfRevenueLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_025f26a4-326c-49fa-a882-ab498eafa89e_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2028</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_RestatementDoesNotRequireRecoveryTextBlock_terseLabel_en-US" xlink:label="lab_ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restatement does not require Recovery</link:label>
    <link:label id="lab_ecd_RestatementDoesNotRequireRecoveryTextBlock_label_en-US" xlink:label="lab_ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restatement Does Not Require Recovery [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_RestatementDoesNotRequireRecoveryTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:to="lab_ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromStockPlans_c0a4317b-0ab3-472f-92f5-c5e1e35d8dd4_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromStockPlans" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from employee stock purchase plan</link:label>
    <link:label id="lab_us-gaap_ProceedsFromStockPlans_label_en-US" xlink:label="lab_us-gaap_ProceedsFromStockPlans" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Stock Plans</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromStockPlans" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromStockPlans"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromStockPlans" xlink:to="lab_us-gaap_ProceedsFromStockPlans" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_246695b9-9a25-4521-9a53-abec139b4047_verboseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Dividend yield</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_650d6a24-a7bf-40c5-afd2-36671c704e1e_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Dividend yield</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_MajorCustomersAxis_5da159ca-2bc5-43bb-8b12-ae22cfe4af2a_terseLabel_en-US" xlink:label="lab_srt_MajorCustomersAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer [Axis]</link:label>
    <link:label id="lab_srt_MajorCustomersAxis_label_en-US" xlink:label="lab_srt_MajorCustomersAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MajorCustomersAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MajorCustomersAxis" xlink:to="lab_srt_MajorCustomersAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesCurrentAbstract_b82a4f79-ad16-4c88-8181-27c40eb41c06_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current liabilities:</link:label>
    <link:label id="lab_us-gaap_LiabilitiesCurrentAbstract_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities, Current [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract" xlink:to="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_0931f04d-8ed1-4e12-983a-7746cb7cd47c_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Federal</link:label>
    <link:label id="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Federal Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventTypeDomain_ece80ab6-a62f-43a3-9118-102cbb53ea04_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event Type [Domain]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventTypeDomain_label_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventTypeDomain" xlink:to="lab_us-gaap_SubsequentEventTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_b16916a4-0184-4c08-8218-a158e8bfc2ec_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forfeited, weighted average exercise price (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_SecuredOvernightFinanceRateMember_2ce82ada-3eed-410f-9220-07e70a5db5f2_terseLabel_en-US" xlink:label="lab_fsly_SecuredOvernightFinanceRateMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Secured Overnight Finance Rate</link:label>
    <link:label id="lab_fsly_SecuredOvernightFinanceRateMember_label_en-US" xlink:label="lab_fsly_SecuredOvernightFinanceRateMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Secured Overnight Finance Rate [Member]</link:label>
    <link:label id="lab_fsly_SecuredOvernightFinanceRateMember_documentation_en-US" xlink:label="lab_fsly_SecuredOvernightFinanceRateMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Secured Overnight Finance Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_SecuredOvernightFinanceRateMember" xlink:href="fsly-20231231.xsd#fsly_SecuredOvernightFinanceRateMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_SecuredOvernightFinanceRateMember" xlink:to="lab_fsly_SecuredOvernightFinanceRateMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_21c4a8b5-a7d9-404e-8e03-c8f651e2f06e_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net loss per share attributable to common stockholders, diluted (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Diluted</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareDiluted" xlink:to="lab_us-gaap_EarningsPerShareDiluted" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_30f12106-76d4-46dc-b97e-1b408d147c85_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivable, net of allowance for credit losses of $7,054 and $5,029 as of December 31, 2023 and December&#160;31, 2022, respectively</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, after Allowance for Credit Loss, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableNetCurrent" xlink:to="lab_us-gaap_AccountsReceivableNetCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SupplementalCashFlowElementsAbstract_ecc68289-6eaf-4455-8b28-9330132c08a4_terseLabel_en-US" xlink:label="lab_us-gaap_SupplementalCashFlowElementsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Supplemental disclosure of cash flow information:</link:label>
    <link:label id="lab_us-gaap_SupplementalCashFlowElementsAbstract_label_en-US" xlink:label="lab_us-gaap_SupplementalCashFlowElementsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Supplemental Cash Flow Elements [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SupplementalCashFlowElementsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalCashFlowElementsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="lab_us-gaap_SupplementalCashFlowElementsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_TradingSymbol_4c7b3be9-c3f1-413c-8cbe-2d17e621e30a_terseLabel_en-US" xlink:label="lab_dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Symbol</link:label>
    <link:label id="lab_dei_TradingSymbol_label_en-US" xlink:label="lab_dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Symbol</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_TradingSymbol" xlink:to="lab_dei_TradingSymbol" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_86e28b7d-a71e-4d2b-8155-f14c55a15e39_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Granted, weighted-average exercise price (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_SubleasesRemainingLeaseTerms_63a549f6-1a32-41f2-b7c3-73a92fc42f74_terseLabel_en-US" xlink:label="lab_fsly_SubleasesRemainingLeaseTerms" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subleases, remaining lease terms (in years)</link:label>
    <link:label id="lab_fsly_SubleasesRemainingLeaseTerms_label_en-US" xlink:label="lab_fsly_SubleasesRemainingLeaseTerms" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subleases, Remaining Lease Terms</link:label>
    <link:label id="lab_fsly_SubleasesRemainingLeaseTerms_documentation_en-US" xlink:label="lab_fsly_SubleasesRemainingLeaseTerms" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subleases, Remaining Lease Terms</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_SubleasesRemainingLeaseTerms" xlink:href="fsly-20231231.xsd#fsly_SubleasesRemainingLeaseTerms"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_SubleasesRemainingLeaseTerms" xlink:to="lab_fsly_SubleasesRemainingLeaseTerms" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_47d34a9c-4821-43bd-a0b1-977ee7e99b35_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Thereafter</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, after Year Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueDisclosuresAbstract_9daeaa80-7e59-4225-9c27-6132125e2b0f_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Disclosures [Abstract]</link:label>
    <link:label id="lab_us-gaap_FairValueDisclosuresAbstract_label_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Disclosures [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract" xlink:to="lab_us-gaap_FairValueDisclosuresAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeStockMember_83594e9a-88e4-4812-b417-bebdb838895b_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares issuable pursuant to the ESPP</link:label>
    <link:label id="lab_us-gaap_EmployeeStockMember_label_en-US" xlink:label="lab_us-gaap_EmployeeStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee Stock [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeStockMember" xlink:to="lab_us-gaap_EmployeeStockMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_f69413d6-2c70-4f71-94d8-bfb511125bca_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents [Domain]</link:label>
    <link:label id="lab_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_label_en-US" xlink:label="lab_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:to="lab_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquityAbstract_2a41052b-47a5-414c-bf50-d0d9b77ef8dd_terseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders&#8217; equity:</link:label>
    <link:label id="lab_us-gaap_StockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity, Attributable to Parent [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityAbstract" xlink:to="lab_us-gaap_StockholdersEquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherAssetsMiscellaneousNoncurrent_dd6d64c0-bdef-411b-88ad-8a676927c728_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAssetsMiscellaneousNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other assets</link:label>
    <link:label id="lab_us-gaap_OtherAssetsMiscellaneousNoncurrent_label_en-US" xlink:label="lab_us-gaap_OtherAssetsMiscellaneousNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Assets, Miscellaneous, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsMiscellaneousNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsMiscellaneousNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAssetsMiscellaneousNoncurrent" xlink:to="lab_us-gaap_OtherAssetsMiscellaneousNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_a376f505-be89-4e57-b227-350b7eb77cea_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Unrecognized Tax Benefits</link:label>
    <link:label id="lab_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerLiability_1ba2f54a-f85a-4e87-84eb-5c8b36053a71_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract liabilities</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiability_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerLiability" xlink:to="lab_us-gaap_ContractWithCustomerLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_f710abf0-657f-4289-87dd-63234cc5bb1f_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Net Loss Per Share, Basic and Diluted</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RecordedUnconditionalPurchaseObligationByCategoryOfItemPurchasedAxis_9bb42901-d0ca-485f-8165-632fc9ee2187_terseLabel_en-US" xlink:label="lab_us-gaap_RecordedUnconditionalPurchaseObligationByCategoryOfItemPurchasedAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Recorded Unconditional Purchase Obligation by Category of Item Purchased [Axis]</link:label>
    <link:label id="lab_us-gaap_RecordedUnconditionalPurchaseObligationByCategoryOfItemPurchasedAxis_label_en-US" xlink:label="lab_us-gaap_RecordedUnconditionalPurchaseObligationByCategoryOfItemPurchasedAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Recorded Unconditional Purchase Obligation by Category of Item Purchased [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RecordedUnconditionalPurchaseObligationByCategoryOfItemPurchasedAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RecordedUnconditionalPurchaseObligationByCategoryOfItemPurchasedAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RecordedUnconditionalPurchaseObligationByCategoryOfItemPurchasedAxis" xlink:to="lab_us-gaap_RecordedUnconditionalPurchaseObligationByCategoryOfItemPurchasedAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_BusinessCombinationConsiderationTransferredHoldbackDistributions_219b821a-7c47-46c5-be23-c3132a0fcc5a_terseLabel_en-US" xlink:label="lab_fsly_BusinessCombinationConsiderationTransferredHoldbackDistributions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Holdback distributions</link:label>
    <link:label id="lab_fsly_BusinessCombinationConsiderationTransferredHoldbackDistributions_label_en-US" xlink:label="lab_fsly_BusinessCombinationConsiderationTransferredHoldbackDistributions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Consideration Transferred, Holdback Distributions</link:label>
    <link:label id="lab_fsly_BusinessCombinationConsiderationTransferredHoldbackDistributions_documentation_en-US" xlink:label="lab_fsly_BusinessCombinationConsiderationTransferredHoldbackDistributions" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Consideration Transferred, Holdback Distributions</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_BusinessCombinationConsiderationTransferredHoldbackDistributions" xlink:href="fsly-20231231.xsd#fsly_BusinessCombinationConsiderationTransferredHoldbackDistributions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_BusinessCombinationConsiderationTransferredHoldbackDistributions" xlink:to="lab_fsly_BusinessCombinationConsiderationTransferredHoldbackDistributions" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_NewRevenueMethodologyMember_630a6648-0d32-4fdd-9058-56666b474cc6_terseLabel_en-US" xlink:label="lab_fsly_NewRevenueMethodologyMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">New Revenue Methodology</link:label>
    <link:label id="lab_fsly_NewRevenueMethodologyMember_label_en-US" xlink:label="lab_fsly_NewRevenueMethodologyMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">New Revenue Methodology [Member]</link:label>
    <link:label id="lab_fsly_NewRevenueMethodologyMember_documentation_en-US" xlink:label="lab_fsly_NewRevenueMethodologyMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">New Revenue Methodology</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_NewRevenueMethodologyMember" xlink:href="fsly-20231231.xsd#fsly_NewRevenueMethodologyMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_NewRevenueMethodologyMember" xlink:to="lab_fsly_NewRevenueMethodologyMember" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_ExecutiveCategoryAxis_terseLabel_en-US" xlink:label="lab_ecd_ExecutiveCategoryAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Executive Category:</link:label>
    <link:label id="lab_ecd_ExecutiveCategoryAxis_label_en-US" xlink:label="lab_ecd_ExecutiveCategoryAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Executive Category [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ExecutiveCategoryAxis" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ExecutiveCategoryAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_ExecutiveCategoryAxis" xlink:to="lab_ecd_ExecutiveCategoryAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_BusinessCombinationConsiderationTransferredHoldback_c8ffee1d-2396-4588-aea3-32d1c55a0557_terseLabel_en-US" xlink:label="lab_fsly_BusinessCombinationConsiderationTransferredHoldback" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Consideration transferred, holdback</link:label>
    <link:label id="lab_fsly_BusinessCombinationConsiderationTransferredHoldback_label_en-US" xlink:label="lab_fsly_BusinessCombinationConsiderationTransferredHoldback" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Consideration Transferred, Holdback</link:label>
    <link:label id="lab_fsly_BusinessCombinationConsiderationTransferredHoldback_documentation_en-US" xlink:label="lab_fsly_BusinessCombinationConsiderationTransferredHoldback" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Consideration Transferred, Holdback</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_BusinessCombinationConsiderationTransferredHoldback" xlink:href="fsly-20231231.xsd#fsly_BusinessCombinationConsiderationTransferredHoldback"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_BusinessCombinationConsiderationTransferredHoldback" xlink:to="lab_fsly_BusinessCombinationConsiderationTransferredHoldback" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SignificantAccountingPoliciesTextBlock_cfd1d5e0-afb1-4ba7-9e6a-bd15ecf3d0d9_terseLabel_en-US" xlink:label="lab_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary of Significant Accounting Policies</link:label>
    <link:label id="lab_us-gaap_SignificantAccountingPoliciesTextBlock_label_en-US" xlink:label="lab_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Significant Accounting Policies [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SignificantAccountingPoliciesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:to="lab_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_8584455d-945b-4123-805f-41f5cf67bb83_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercised, weighted average exercise price (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueInputsLevel1Member_abdc874c-0b63-4f6f-88b7-6b20fb31d7c9_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel1Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Level&#160;1</link:label>
    <link:label id="lab_us-gaap_FairValueInputsLevel1Member_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel1Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Inputs, Level 1 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel1Member" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel1Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel1Member" xlink:to="lab_us-gaap_FairValueInputsLevel1Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MarketableSecuritiesCurrent_13257cf5-e288-4855-ba9a-dbf6883af7db_terseLabel_en-US" xlink:label="lab_us-gaap_MarketableSecuritiesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Marketable securities, current</link:label>
    <link:label id="lab_us-gaap_MarketableSecuritiesCurrent_79122764-da00-4ef2-8b19-f2faeef736ed_verboseLabel_en-US" xlink:label="lab_us-gaap_MarketableSecuritiesCurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total marketable securities, current</link:label>
    <link:label id="lab_us-gaap_MarketableSecuritiesCurrent_label_en-US" xlink:label="lab_us-gaap_MarketableSecuritiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Marketable Securities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MarketableSecuritiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecuritiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MarketableSecuritiesCurrent" xlink:to="lab_us-gaap_MarketableSecuritiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTextBlock_ef214d91-5e47-4a88-a91e-5c624eab62de_verboseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Property and Equipment, Useful Lives</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTextBlock_8e948a4a-1146-44c1-91aa-2538d089c382_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Property and Equipment, Net</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTextBlock_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementEquityComponentsAxis_512b4f05-4391-4cb9-a1b0-4b3369fd7da8_terseLabel_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:label id="lab_us-gaap_StatementEquityComponentsAxis_label_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementEquityComponentsAxis" xlink:to="lab_us-gaap_StatementEquityComponentsAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ResearchMember_2609e56f-10af-4785-911e-63ad7e7df53b_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research Tax Credit Carryforward</link:label>
    <link:label id="lab_us-gaap_ResearchMember_label_en-US" xlink:label="lab_us-gaap_ResearchMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research Tax Credit Carryforward [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchMember" xlink:to="lab_us-gaap_ResearchMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_440ba08f-235e-4479-a62d-3a1076538303_terseLabel_en-US" xlink:label="lab_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Instruments [Domain]</link:label>
    <link:label id="lab_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_label_en-US" xlink:label="lab_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Instruments [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="lab_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_Additional402vDisclosureTextBlock_terseLabel_en-US" xlink:label="lab_ecd_Additional402vDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional 402(v) Disclosure</link:label>
    <link:label id="lab_ecd_Additional402vDisclosureTextBlock_label_en-US" xlink:label="lab_ecd_Additional402vDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional 402(v) Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_Additional402vDisclosureTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Additional402vDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_Additional402vDisclosureTextBlock" xlink:to="lab_ecd_Additional402vDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities_2382193c-9f6a-4002-b1d2-82dbaf653f9c_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued expenses</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Accrued Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:to="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_6ab5ccdc-213a-4bab-a09d-886f1622b6f0_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, shares available for future issuance (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_fa2458e7-0f99-4967-8e2e-8a45f10b3e23_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Granted (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntitySmallBusiness_7dccfc9f-3ccc-4504-b73d-b6da2c2fefc5_terseLabel_en-US" xlink:label="lab_dei_EntitySmallBusiness" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Small Business</link:label>
    <link:label id="lab_dei_EntitySmallBusiness_label_en-US" xlink:label="lab_dei_EntitySmallBusiness" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Small Business</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntitySmallBusiness" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntitySmallBusiness" xlink:to="lab_dei_EntitySmallBusiness" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_21aacdb2-3166-4d5d-ac6d-cfb824eea6c9_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2027</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Four</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_OperatingExpenseCommitmentsMember_3f821ddd-52c8-40e7-80b2-0286022cbaff_terseLabel_en-US" xlink:label="lab_fsly_OperatingExpenseCommitmentsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Expense Commitments</link:label>
    <link:label id="lab_fsly_OperatingExpenseCommitmentsMember_label_en-US" xlink:label="lab_fsly_OperatingExpenseCommitmentsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Expense Commitments [Member]</link:label>
    <link:label id="lab_fsly_OperatingExpenseCommitmentsMember_documentation_en-US" xlink:label="lab_fsly_OperatingExpenseCommitmentsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Expense Commitments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_OperatingExpenseCommitmentsMember" xlink:href="fsly-20231231.xsd#fsly_OperatingExpenseCommitmentsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_OperatingExpenseCommitmentsMember" xlink:to="lab_fsly_OperatingExpenseCommitmentsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_LocalPhoneNumber_b3ed028f-2ef2-4cb0-bf00-d5c562748a79_terseLabel_en-US" xlink:label="lab_dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Local Phone Number</link:label>
    <link:label id="lab_dei_LocalPhoneNumber_label_en-US" xlink:label="lab_dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Local Phone Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_LocalPhoneNumber" xlink:to="lab_dei_LocalPhoneNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_RecoveryOfErrCompDisclosureLineItems_label_en-US" xlink:label="lab_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Recovery of Erroneously Awarded Compensation Disclosure [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_RecoveryOfErrCompDisclosureLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="lab_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive_1aef9c47-ee3b-427d-9ef4-69f2b6d9be1a_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2028</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Liability, to be Paid, Year Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive" xlink:to="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsReceivableMember_656f62f4-d4ba-497a-b220-12ea78d3761e_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableMember_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableMember" xlink:to="lab_us-gaap_AccountsReceivableMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InterestPaidCapitalized_d17601d6-c0d6-4c00-bbfc-966da72acf13_terseLabel_en-US" xlink:label="lab_us-gaap_InterestPaidCapitalized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest paid for finance leases</link:label>
    <link:label id="lab_us-gaap_InterestPaidCapitalized_label_en-US" xlink:label="lab_us-gaap_InterestPaidCapitalized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest Paid, Capitalized, Investing Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestPaidCapitalized" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPaidCapitalized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestPaidCapitalized" xlink:to="lab_us-gaap_InterestPaidCapitalized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_982d9862-dc4e-4901-9c2f-97627191a1e3_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted cash, current</link:label>
    <link:label id="lab_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_label_en-US" xlink:label="lab_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Cash and Cash Equivalents, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:to="lab_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedStockUnitsRSUMember_d7673fd7-b31e-4dd4-a198-a10bdebaead4_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">RSUs</link:label>
    <link:label id="lab_us-gaap_RestrictedStockUnitsRSUMember_d5a56f51-42c1-4b26-afc7-8d8c627b531a_verboseLabel_en-US" xlink:label="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">RSUs</link:label>
    <link:label id="lab_us-gaap_RestrictedStockUnitsRSUMember_label_en-US" xlink:label="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock Units (RSUs) [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedStockUnitsRSUMember" xlink:to="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt_terseLabel_en-US" xlink:label="lab_ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forgone Recovery due to Violation of Home Country Law, Amount</link:label>
    <link:label id="lab_ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt_label_en-US" xlink:label="lab_ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forgone Recovery due to Violation of Home Country Law, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:to="lab_ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_BonusPSUsMember_05412fb5-3d49-4279-931d-f752cd7b8000_terseLabel_en-US" xlink:label="lab_fsly_BonusPSUsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Bonus PSUs</link:label>
    <link:label id="lab_fsly_BonusPSUsMember_label_en-US" xlink:label="lab_fsly_BonusPSUsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Bonus PSUs [Member]</link:label>
    <link:label id="lab_fsly_BonusPSUsMember_documentation_en-US" xlink:label="lab_fsly_BonusPSUsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Bonus PSUs</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_BonusPSUsMember" xlink:href="fsly-20231231.xsd#fsly_BonusPSUsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_BonusPSUsMember" xlink:to="lab_fsly_BonusPSUsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Depreciation_347274b8-8e20-49ed-a7cd-3556a744f43a_terseLabel_en-US" xlink:label="lab_us-gaap_Depreciation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation and amortization</link:label>
    <link:label id="lab_us-gaap_Depreciation_label_en-US" xlink:label="lab_us-gaap_Depreciation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Depreciation" xlink:to="lab_us-gaap_Depreciation" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_OperatingMarkets_6d0cf8df-8c6c-44cb-9967-eb11d2803b30_terseLabel_en-US" xlink:label="lab_fsly_OperatingMarkets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating markets</link:label>
    <link:label id="lab_fsly_OperatingMarkets_label_en-US" xlink:label="lab_fsly_OperatingMarkets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Markets</link:label>
    <link:label id="lab_fsly_OperatingMarkets_documentation_en-US" xlink:label="lab_fsly_OperatingMarkets" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Markets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_OperatingMarkets" xlink:href="fsly-20231231.xsd#fsly_OperatingMarkets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_OperatingMarkets" xlink:to="lab_fsly_OperatingMarkets" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_DebtConversionScenarioThreeMember_e6a54e81-6c66-4de3-8ade-fbb51ead590f_terseLabel_en-US" xlink:label="lab_fsly_DebtConversionScenarioThreeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Holder Conversion Option Two</link:label>
    <link:label id="lab_fsly_DebtConversionScenarioThreeMember_label_en-US" xlink:label="lab_fsly_DebtConversionScenarioThreeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Conversion, Scenario Three [Member]</link:label>
    <link:label id="lab_fsly_DebtConversionScenarioThreeMember_documentation_en-US" xlink:label="lab_fsly_DebtConversionScenarioThreeMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Conversion, Scenario Three</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DebtConversionScenarioThreeMember" xlink:href="fsly-20231231.xsd#fsly_DebtConversionScenarioThreeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_DebtConversionScenarioThreeMember" xlink:to="lab_fsly_DebtConversionScenarioThreeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_CountriesNotSeparatelyRecognizedMember_134d4916-ab42-4435-b985-de4ced5ec76f_terseLabel_en-US" xlink:label="lab_fsly_CountriesNotSeparatelyRecognizedMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">All other</link:label>
    <link:label id="lab_fsly_CountriesNotSeparatelyRecognizedMember_label_en-US" xlink:label="lab_fsly_CountriesNotSeparatelyRecognizedMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Countries Not Separately Recognized [Member]</link:label>
    <link:label id="lab_fsly_CountriesNotSeparatelyRecognizedMember_documentation_en-US" xlink:label="lab_fsly_CountriesNotSeparatelyRecognizedMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Countries Not Separately Recognized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_CountriesNotSeparatelyRecognizedMember" xlink:href="fsly-20231231.xsd#fsly_CountriesNotSeparatelyRecognizedMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_CountriesNotSeparatelyRecognizedMember" xlink:to="lab_fsly_CountriesNotSeparatelyRecognizedMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesPrepaidExpenses_50c355bc-f1d3-4ab6-abf4-ca91e2e1333b_negatedLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid commissions</link:label>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesPrepaidExpenses_label_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, Prepaid Expenses</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesPrepaidExpenses"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" xlink:to="lab_us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_5e0b7f6b-779c-49ef-ba47-329f21f967c6_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Antidilutive Securities Excluded from Computation of Net Loss Per Share</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:to="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InterestExpenseDebt_592fdf7e-d8c4-4fc4-9916-0ee4abe675e0_terseLabel_en-US" xlink:label="lab_us-gaap_InterestExpenseDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest expense</link:label>
    <link:label id="lab_us-gaap_InterestExpenseDebt_label_en-US" xlink:label="lab_us-gaap_InterestExpenseDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest Expense, Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestExpenseDebt" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpenseDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestExpenseDebt" xlink:to="lab_us-gaap_InterestExpenseDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_TrdArrSecuritiesAggAvailAmt_terseLabel_en-US" xlink:label="lab_ecd_TrdArrSecuritiesAggAvailAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Aggregate Available</link:label>
    <link:label id="lab_ecd_TrdArrSecuritiesAggAvailAmt_label_en-US" xlink:label="lab_ecd_TrdArrSecuritiesAggAvailAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Arrangement, Securities Aggregate Available Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrSecuritiesAggAvailAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrSecuritiesAggAvailAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_TrdArrSecuritiesAggAvailAmt" xlink:to="lab_ecd_TrdArrSecuritiesAggAvailAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_NumberOfCofoundersWithSharesSubjectToRevesting_1df3dc1e-d3ed-4890-9ffd-a5bbad046185_terseLabel_en-US" xlink:label="lab_fsly_NumberOfCofoundersWithSharesSubjectToRevesting" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of cofounders with shares subject to revesting</link:label>
    <link:label id="lab_fsly_NumberOfCofoundersWithSharesSubjectToRevesting_label_en-US" xlink:label="lab_fsly_NumberOfCofoundersWithSharesSubjectToRevesting" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number Of Cofounders With Shares Subject To Revesting</link:label>
    <link:label id="lab_fsly_NumberOfCofoundersWithSharesSubjectToRevesting_documentation_en-US" xlink:label="lab_fsly_NumberOfCofoundersWithSharesSubjectToRevesting" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number Of Cofounders With Shares Subject To Revesting</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_NumberOfCofoundersWithSharesSubjectToRevesting" xlink:href="fsly-20231231.xsd#fsly_NumberOfCofoundersWithSharesSubjectToRevesting"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_NumberOfCofoundersWithSharesSubjectToRevesting" xlink:to="lab_fsly_NumberOfCofoundersWithSharesSubjectToRevesting" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_NonenterpriseCustomersMember_fe2ac90c-8fe9-474f-aec4-cb2fe8b8e66d_terseLabel_en-US" xlink:label="lab_fsly_NonenterpriseCustomersMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-enterprise customers</link:label>
    <link:label id="lab_fsly_NonenterpriseCustomersMember_label_en-US" xlink:label="lab_fsly_NonenterpriseCustomersMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-enterprise Customers [Member]</link:label>
    <link:label id="lab_fsly_NonenterpriseCustomersMember_documentation_en-US" xlink:label="lab_fsly_NonenterpriseCustomersMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-enterprise Customers [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_NonenterpriseCustomersMember" xlink:href="fsly-20231231.xsd#fsly_NonenterpriseCustomersMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_NonenterpriseCustomersMember" xlink:to="lab_fsly_NonenterpriseCustomersMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpenseMember_532243c7-2639-45dc-ab1f-b27de12d068e_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and development</link:label>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpenseMember_label_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and Development Expense [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpenseMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:to="lab_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock_terseLabel_en-US" xlink:label="lab_ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Insider Trading Policies and Procedures Not Adopted</link:label>
    <link:label id="lab_ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock_label_en-US" xlink:label="lab_ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Insider Trading Policies and Procedures Not Adopted [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:to="lab_ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityAbstract_e1294c86-7ef0-4e27-b806-af47c878dcbb_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Liability</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityAbstract_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Liability [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerLiabilityAbstract" xlink:to="lab_us-gaap_ContractWithCustomerLiabilityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NotesPayableFairValueDisclosure_c5eddd71-332a-483b-bc6b-351df21c939b_terseLabel_en-US" xlink:label="lab_us-gaap_NotesPayableFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total estimated fair value of the notes</link:label>
    <link:label id="lab_us-gaap_NotesPayableFairValueDisclosure_label_en-US" xlink:label="lab_us-gaap_NotesPayableFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Notes Payable, Fair Value Disclosure</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesPayableFairValueDisclosure" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NotesPayableFairValueDisclosure"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NotesPayableFairValueDisclosure" xlink:to="lab_us-gaap_NotesPayableFairValueDisclosure" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationAcquisitionRelatedCosts_a13c768e-692e-4d73-9a04-10aa38a00f8f_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Acquisition related costs</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationAcquisitionRelatedCosts_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Acquisition Related Costs</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:to="lab_us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_PaymentsForEarlySaleOfRestrictedShares_8a9e5964-ed17-47da-b895-0ec296a19c3b_negatedTerseLabel_en-US" xlink:label="lab_fsly_PaymentsForEarlySaleOfRestrictedShares" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash paid for early sale of restricted shares</link:label>
    <link:label id="lab_fsly_PaymentsForEarlySaleOfRestrictedShares_label_en-US" xlink:label="lab_fsly_PaymentsForEarlySaleOfRestrictedShares" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments For Early Sale Of Restricted Shares</link:label>
    <link:label id="lab_fsly_PaymentsForEarlySaleOfRestrictedShares_documentation_en-US" xlink:label="lab_fsly_PaymentsForEarlySaleOfRestrictedShares" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments For Early Sale Of Restricted Shares</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_PaymentsForEarlySaleOfRestrictedShares" xlink:href="fsly-20231231.xsd#fsly_PaymentsForEarlySaleOfRestrictedShares"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_PaymentsForEarlySaleOfRestrictedShares" xlink:to="lab_fsly_PaymentsForEarlySaleOfRestrictedShares" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_A2023And2022BonusProgramMember_5617630f-7cff-4dc7-9c45-3ace87fdbb9d_terseLabel_en-US" xlink:label="lab_fsly_A2023And2022BonusProgramMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2023 and 2022 Bonus Program</link:label>
    <link:label id="lab_fsly_A2023And2022BonusProgramMember_label_en-US" xlink:label="lab_fsly_A2023And2022BonusProgramMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2023 And 2022 Bonus Program [Member]</link:label>
    <link:label id="lab_fsly_A2023And2022BonusProgramMember_documentation_en-US" xlink:label="lab_fsly_A2023And2022BonusProgramMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2023 And 2022 Bonus Program</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_A2023And2022BonusProgramMember" xlink:href="fsly-20231231.xsd#fsly_A2023And2022BonusProgramMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_A2023And2022BonusProgramMember" xlink:to="lab_fsly_A2023And2022BonusProgramMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_11598608-d7a9-46d4-bf10-08d637434f18_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting of early exercised stock options</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested in Period, Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_0f72ca21-e287-4efd-b3a3-5cb4a3e4d01d_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive securities (in shares)</link:label>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_label_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AwardTypeAxis_ec401b8e-9232-4af5-b0cc-43f2e364adeb_terseLabel_en-US" xlink:label="lab_us-gaap_AwardTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:label id="lab_us-gaap_AwardTypeAxis_label_en-US" xlink:label="lab_us-gaap_AwardTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AwardTypeAxis" xlink:to="lab_us-gaap_AwardTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_252f8e55-a29e-453e-a3e2-cb55b5db0809_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Granted (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NoncashInvestingAndFinancingItemsAbstract_ecfc056e-bced-47bc-ad6e-029f4859b18e_terseLabel_en-US" xlink:label="lab_us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Noncash investing and financing activities:</link:label>
    <link:label id="lab_us-gaap_NoncashInvestingAndFinancingItemsAbstract_label_en-US" xlink:label="lab_us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Noncash Investing and Financing Items [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="lab_us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_18f430e7-cf1a-4b54-bf1e-f2df873ed69c_terseLabel_en-US" xlink:label="lab_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrecognized Tax Benefits:</link:label>
    <link:label id="lab_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_label_en-US" xlink:label="lab_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="lab_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_82471025-b660-430f-a59f-17551c306eef_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Hierarchy and NAV [Domain]</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Hierarchy and NAV [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_IcfrAuditorAttestationFlag_9681b38d-d592-464d-815e-1fbb98228c6a_terseLabel_en-US" xlink:label="lab_dei_IcfrAuditorAttestationFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">ICFR Auditor Attestation Flag</link:label>
    <link:label id="lab_dei_IcfrAuditorAttestationFlag_label_en-US" xlink:label="lab_dei_IcfrAuditorAttestationFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">ICFR Auditor Attestation Flag</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_IcfrAuditorAttestationFlag" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_IcfrAuditorAttestationFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_IcfrAuditorAttestationFlag" xlink:to="lab_dei_IcfrAuditorAttestationFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GeneralAndAdministrativeExpenseMember_191c7f6a-3e9f-47f1-84a7-ce6f145cfe68_terseLabel_en-US" xlink:label="lab_us-gaap_GeneralAndAdministrativeExpenseMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">General and administrative</link:label>
    <link:label id="lab_us-gaap_GeneralAndAdministrativeExpenseMember_label_en-US" xlink:label="lab_us-gaap_GeneralAndAdministrativeExpenseMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">General and Administrative Expense [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpenseMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpenseMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GeneralAndAdministrativeExpenseMember" xlink:to="lab_us-gaap_GeneralAndAdministrativeExpenseMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_e46874c8-2419-47ae-9d1d-68e3560e4840_verboseLabel_en-US" xlink:label="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets obtained in exchange for operating lease obligations</link:label>
    <link:label id="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_label_en-US" xlink:label="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Right-of-Use Asset Obtained in Exchange for Operating Lease Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:to="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_6067f288-c9dd-47d2-84dc-34d774d3808a_terseLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_label_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward" xlink:to="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_593b61dc-f8dd-4fc7-8056-99cc76b9e598_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less: imputed interest</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Undiscounted Excess Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_PeoActuallyPaidCompAmt_terseLabel_en-US" xlink:label="lab_ecd_PeoActuallyPaidCompAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">PEO Actually Paid Compensation Amount</link:label>
    <link:label id="lab_ecd_PeoActuallyPaidCompAmt_label_en-US" xlink:label="lab_ecd_PeoActuallyPaidCompAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">PEO Actually Paid Compensation Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeoActuallyPaidCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeoActuallyPaidCompAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_PeoActuallyPaidCompAmt" xlink:to="lab_ecd_PeoActuallyPaidCompAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeFinanceLeasesTextBlock_95232d0f-d96f-48e3-8565-a475e955bf62_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeFinanceLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases</link:label>
    <link:label id="lab_us-gaap_LesseeFinanceLeasesTextBlock_label_en-US" xlink:label="lab_us-gaap_LesseeFinanceLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Finance Leases [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeFinanceLeasesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeFinanceLeasesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeFinanceLeasesTextBlock" xlink:to="lab_us-gaap_LesseeFinanceLeasesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_8791eb78-c3b4-49c9-9217-99b3272d3b4d_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Income Tax Expense (Benefit)</link:label>
    <link:label id="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_32b1ba1a-5d74-499e-8358-d204c5df4c42_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLossCarryforwardsLineItems_cde0346e-4d90-4069-98d9-aedf315c3481_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwardsLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Loss Carryforwards [Line Items]</link:label>
    <link:label id="lab_us-gaap_OperatingLossCarryforwardsLineItems_label_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwardsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Loss Carryforwards [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwardsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems" xlink:to="lab_us-gaap_OperatingLossCarryforwardsLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_e2574148-e6d5-4a27-a11b-9677e161234e_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease liabilities, current</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseInterestExpense_ecd9119e-b962-4e4d-aa48-de16aed366af_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseInterestExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseInterestExpense_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseInterestExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Interest Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseInterestExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseInterestExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseInterestExpense" xlink:to="lab_us-gaap_FinanceLeaseInterestExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_3da3bdf1-6199-44b6-9b4e-89f61f1b2216_verboseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares issued under employee stock purchase program (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_1ef558c3-b7b6-4fc6-a4c7-c5b61c461c6b_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares issued under ESPP (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Shares, Employee Stock Purchase Plans</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities_8b55d401-3d40-40ab-832f-43742195999c_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sales of marketable securities</link:label>
    <link:label id="lab_us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities_label_en-US" xlink:label="lab_us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Sale and Maturity of Debt Securities, Available-for-Sale</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities" xlink:to="lab_us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_2d88d693-f008-480f-9874-7e403912ac7c_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2026</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Three</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsNet_66cf6005-07cd-47a6-af15-47d4e21338bf_totalLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net carrying value</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsNet_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentLineItems_1327249a-3bef-449e-a33a-6b74c99a0c29_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Line Items]</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentLineItems_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_88138389-a265-4d47-9813-9b16144ad4c4_terseLabel_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Recently Issued and Adopted Accounting Pronouncements</link:label>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">New Accounting Pronouncements, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet_2623c137-3486-4a3e-b0cc-87e7b0a0f415_terseLabel_en-US" xlink:label="lab_fsly_PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total long-lived assets</link:label>
    <link:label id="lab_fsly_PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet_label_en-US" xlink:label="lab_fsly_PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property Plant And Equipment, Net And Operating Lease Right Of Use Assets, Net</link:label>
    <link:label id="lab_fsly_PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet_documentation_en-US" xlink:label="lab_fsly_PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property Plant And Equipment, Net And Operating Lease Right Of Use Assets, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet" xlink:href="fsly-20231231.xsd#fsly_PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet" xlink:to="lab_fsly_PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1_a6e95266-32e4-41df-bb4b-00335c864b0d_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease not yet commenced, term of contract</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Lease Not yet Commenced, Term of Contract</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1" xlink:to="lab_us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_d6bfbd4e-4dac-41c3-adb0-e5cc771dd3c9_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated amortization</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Accumulated Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_4621a2e1-c78d-45ef-94f5-58ddbce74ed1_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2025</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_ab90929f-4c0b-4f21-a115-397ec89bde8e_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Loss Before Income Taxes</link:label>
    <link:label id="lab_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InvestmentIncomeInterest_7e2b4992-a1bf-4f41-b379-e6e4190d12d0_terseLabel_en-US" xlink:label="lab_us-gaap_InvestmentIncomeInterest" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest income</link:label>
    <link:label id="lab_us-gaap_InvestmentIncomeInterest_label_en-US" xlink:label="lab_us-gaap_InvestmentIncomeInterest" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investment Income, Interest</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InvestmentIncomeInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentIncomeInterest"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentIncomeInterest" xlink:to="lab_us-gaap_InvestmentIncomeInterest" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_StkPrcOrTsrEstimationMethodTextBlock_terseLabel_en-US" xlink:label="lab_ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Price or TSR Estimation Method</link:label>
    <link:label id="lab_ecd_StkPrcOrTsrEstimationMethodTextBlock_label_en-US" xlink:label="lab_ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Price or TSR Estimation Method [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_StkPrcOrTsrEstimationMethodTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:to="lab_ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_121d2650-cc81-49b2-a127-80eedcc044a5_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Foreign</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationConsiderationTransferred1_2b8e376e-81f3-4a6c-bad8-188e7d75e97c_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationConsiderationTransferred1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Aggregate consideration transferred</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationConsiderationTransferred1_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationConsiderationTransferred1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Consideration Transferred</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferred1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationConsiderationTransferred1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="lab_us-gaap_BusinessCombinationConsiderationTransferred1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GrossProfit_a4749058-c1c0-459a-b307-bbbaafaced4b_totalLabel_en-US" xlink:label="lab_us-gaap_GrossProfit" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross profit</link:label>
    <link:label id="lab_us-gaap_GrossProfit_label_en-US" xlink:label="lab_us-gaap_GrossProfit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross Profit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GrossProfit" xlink:to="lab_us-gaap_GrossProfit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityCurrent_2db11028-f7ea-49a1-90fd-a9894dda1696_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred revenue</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityCurrent_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Liability, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="lab_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_aa99ab8f-7840-4177-9c29-e7478b77f0ef_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares subject to repurchase (in shares)</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Nonvested, Number of Shares</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_SecurityExchangeName_d351a5f5-1473-4ff5-91fe-cf2278fdea84_terseLabel_en-US" xlink:label="lab_dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Security Exchange Name</link:label>
    <link:label id="lab_dei_SecurityExchangeName_label_en-US" xlink:label="lab_dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Security Exchange Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_SecurityExchangeName" xlink:to="lab_dei_SecurityExchangeName" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_7385878c-de7c-4b93-bd6f-5753ca2d8f1d_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting for Stock-Based Compensation</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:to="lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerNumberOfPositions_aa4c49b8-7249-4386-af2e-1e200e975341_terseLabel_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerNumberOfPositions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Securities in a continuous loss position (in securities)</link:label>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerNumberOfPositions_label_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerNumberOfPositions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, 12 Months or Longer, Number of Positions</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerNumberOfPositions" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerNumberOfPositions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerNumberOfPositions" xlink:to="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerNumberOfPositions" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_cca712e1-9153-4943-8e08-93a911960fec_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated other comprehensive loss</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss), Net of Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_a4bd954f-aa56-46c6-a454-ce0375b364e3_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award vesting percentage per year</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Rights, Percentage</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeStockOptionMember_12e30344-776d-4f2f-a968-5391afcd177b_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeStockOptionMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock options</link:label>
    <link:label id="lab_us-gaap_EmployeeStockOptionMember_label_en-US" xlink:label="lab_us-gaap_EmployeeStockOptionMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee Stock Option [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeStockOptionMember" xlink:to="lab_us-gaap_EmployeeStockOptionMember" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_CashCashEquivalentsAndMarketableSecurities_edbfb9d1-b697-4adb-824e-6f211d776e76_totalLabel_en-US" xlink:label="lab_fsly_CashCashEquivalentsAndMarketableSecurities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total cash, cash equivalents and marketable securities</link:label>
    <link:label id="lab_fsly_CashCashEquivalentsAndMarketableSecurities_label_en-US" xlink:label="lab_fsly_CashCashEquivalentsAndMarketableSecurities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents And Marketable Securities</link:label>
    <link:label id="lab_fsly_CashCashEquivalentsAndMarketableSecurities_documentation_en-US" xlink:label="lab_fsly_CashCashEquivalentsAndMarketableSecurities" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents And Marketable Securities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_CashCashEquivalentsAndMarketableSecurities" xlink:href="fsly-20231231.xsd#fsly_CashCashEquivalentsAndMarketableSecurities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_CashCashEquivalentsAndMarketableSecurities" xlink:to="lab_fsly_CashCashEquivalentsAndMarketableSecurities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentRepurchasedFaceAmount_bcc0e8a3-2c2c-49b6-9fff-50bec9f30eea_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentRepurchasedFaceAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repurchased face amount</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentRepurchasedFaceAmount_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentRepurchasedFaceAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Repurchased Face Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRepurchasedFaceAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentRepurchasedFaceAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentRepurchasedFaceAmount" xlink:to="lab_us-gaap_DebtInstrumentRepurchasedFaceAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_MaximumMember_a2330516-53c0-4082-9db0-1cafe7876695_terseLabel_en-US" xlink:label="lab_srt_MaximumMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum</link:label>
    <link:label id="lab_srt_MaximumMember_label_en-US" xlink:label="lab_srt_MaximumMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MaximumMember" xlink:to="lab_srt_MaximumMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_82838f7e-e2e5-435d-9154-23209c54c89e_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrecognized stock-based compensation cost</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashEquivalentsAtCarryingValue_9f377994-37bc-48b3-a380-7d43708c2065_terseLabel_en-US" xlink:label="lab_us-gaap_CashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash equivalents:</link:label>
    <link:label id="lab_us-gaap_CashEquivalentsAtCarryingValue_label_en-US" xlink:label="lab_us-gaap_CashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash Equivalents, at Carrying Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashEquivalentsAtCarryingValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashEquivalentsAtCarryingValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashEquivalentsAtCarryingValue" xlink:to="lab_us-gaap_CashEquivalentsAtCarryingValue" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentType_82701aaa-1f3b-430e-98da-ecd8b8ede954_terseLabel_en-US" xlink:label="lab_dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Type</link:label>
    <link:label id="lab_dei_DocumentType_label_en-US" xlink:label="lab_dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Type</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentType" xlink:to="lab_dei_DocumentType" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillAcquiredDuringPeriod_79988bd2-4864-4462-9b52-b4053dcfe97e_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillAcquiredDuringPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill acquired from business combinations</link:label>
    <link:label id="lab_us-gaap_GoodwillAcquiredDuringPeriod_label_en-US" xlink:label="lab_us-gaap_GoodwillAcquiredDuringPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill, Acquired During Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAcquiredDuringPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAcquiredDuringPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAcquiredDuringPeriod" xlink:to="lab_us-gaap_GoodwillAcquiredDuringPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_TabularListTableTextBlock_terseLabel_en-US" xlink:label="lab_ecd_TabularListTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tabular List, Table</link:label>
    <link:label id="lab_ecd_TabularListTableTextBlock_label_en-US" xlink:label="lab_ecd_TabularListTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tabular List [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TabularListTableTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TabularListTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_TabularListTableTextBlock" xlink:to="lab_ecd_TabularListTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MarketableSecuritiesNoncurrent_50487a21-976e-466a-b688-42f95bd0b5fb_terseLabel_en-US" xlink:label="lab_us-gaap_MarketableSecuritiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Marketable securities, non-current</link:label>
    <link:label id="lab_us-gaap_MarketableSecuritiesNoncurrent_85b4a9e0-7533-4550-862a-223a143e907d_verboseLabel_en-US" xlink:label="lab_us-gaap_MarketableSecuritiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total marketable securities, non-current</link:label>
    <link:label id="lab_us-gaap_MarketableSecuritiesNoncurrent_label_en-US" xlink:label="lab_us-gaap_MarketableSecuritiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Marketable Securities, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MarketableSecuritiesNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecuritiesNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MarketableSecuritiesNoncurrent" xlink:to="lab_us-gaap_MarketableSecuritiesNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_ae9f6868-bbbc-4efa-a373-acf1586bcf6d_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2026</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Liability, to be Paid, Year Three</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:to="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesNameDomain_06ff0317-e96f-4511-8ef4-bcfd72f193b2_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities, Name [Domain]</link:label>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesNameDomain_label_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities, Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="lab_us-gaap_AntidilutiveSecuritiesNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CurrentFederalTaxExpenseBenefit_60cfac74-5b3e-4f08-bd14-26becdebbbd5_terseLabel_en-US" xlink:label="lab_us-gaap_CurrentFederalTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Federal</link:label>
    <link:label id="lab_us-gaap_CurrentFederalTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_CurrentFederalTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Federal Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentFederalTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CurrentFederalTaxExpenseBenefit" xlink:to="lab_us-gaap_CurrentFederalTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_8789ba21-c901-484a-a64f-3c5b1a0dfa52_terseLabel_en-US" xlink:label="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basis of Presentation and Consolidation</link:label>
    <link:label id="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basis of Accounting, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:to="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherNoncashIncomeExpense_23eb5f16-d94d-48c3-930d-6735079ab146_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_OtherNoncashIncomeExpense" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other adjustments</link:label>
    <link:label id="lab_us-gaap_OtherNoncashIncomeExpense_label_en-US" xlink:label="lab_us-gaap_OtherNoncashIncomeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Noncash Income (Expense)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNoncashIncomeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNoncashIncomeExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherNoncashIncomeExpense" xlink:to="lab_us-gaap_OtherNoncashIncomeExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessAcquisitionAxis_c30c053c-f371-4e11-93a8-d4a00fae7ce2_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition [Axis]</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionAxis_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionAxis" xlink:to="lab_us-gaap_BusinessAcquisitionAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_993413ab-a1d6-4bcd-9848-153dfc39f527_terseLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Allowance for doubtful accounts</link:label>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_13c24157-8828-4ebf-a650-b721433c0e5b_periodStartLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance</link:label>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_5ebf19fd-7db4-4ae4-be2b-e95bdab674ab_periodEndLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance</link:label>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_label_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CustomerConcentrationRiskMember_5752c475-bc8c-4822-88b9-2db85ac5cf31_terseLabel_en-US" xlink:label="lab_us-gaap_CustomerConcentrationRiskMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer Concentration Risk</link:label>
    <link:label id="lab_us-gaap_CustomerConcentrationRiskMember_label_en-US" xlink:label="lab_us-gaap_CustomerConcentrationRiskMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer Concentration Risk [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerConcentrationRiskMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CustomerConcentrationRiskMember" xlink:to="lab_us-gaap_CustomerConcentrationRiskMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_b0d6ccc6-7f12-4231-bc1f-b7e4d0b83416_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">State</link:label>
    <link:label id="lab_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred State and Local Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_VariableRateAxis_a0441446-93ff-4624-9a0e-0224931dd1e1_terseLabel_en-US" xlink:label="lab_us-gaap_VariableRateAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable Rate [Axis]</link:label>
    <link:label id="lab_us-gaap_VariableRateAxis_label_en-US" xlink:label="lab_us-gaap_VariableRateAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable Rate [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VariableRateAxis" xlink:to="lab_us-gaap_VariableRateAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashMember_75beba91-f827-4432-a1cf-324e949c82a0_terseLabel_en-US" xlink:label="lab_us-gaap_CashMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash</link:label>
    <link:label id="lab_us-gaap_CashMember_label_en-US" xlink:label="lab_us-gaap_CashMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashMember" xlink:to="lab_us-gaap_CashMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_390a85a6-98e2-4d09-9bb9-ba41649bf16f_verboseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_9a761bcb-a3db-4fd2-9dce-80256f4db5e1_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total revenue</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer, Including Assessed Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_Security12bTitle_5b011de3-3024-4366-9c25-a2328c09e716_terseLabel_en-US" xlink:label="lab_dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:label id="lab_dei_Security12bTitle_label_en-US" xlink:label="lab_dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_Security12bTitle" xlink:to="lab_dei_Security12bTitle" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_StockIssuedDuringPeriodSharesRestrictedStockAwardBonusProgram_2ce610a1-5af6-4ce0-a736-117e7c975126_terseLabel_en-US" xlink:label="lab_fsly_StockIssuedDuringPeriodSharesRestrictedStockAwardBonusProgram" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Issuance of restricted stock units related to bonus program (in shares)</link:label>
    <link:label id="lab_fsly_StockIssuedDuringPeriodSharesRestrictedStockAwardBonusProgram_label_en-US" xlink:label="lab_fsly_StockIssuedDuringPeriodSharesRestrictedStockAwardBonusProgram" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Shares, Restricted Stock Award, Bonus Program</link:label>
    <link:label id="lab_fsly_StockIssuedDuringPeriodSharesRestrictedStockAwardBonusProgram_documentation_en-US" xlink:label="lab_fsly_StockIssuedDuringPeriodSharesRestrictedStockAwardBonusProgram" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Shares, Restricted Stock Award, Bonus Program</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_StockIssuedDuringPeriodSharesRestrictedStockAwardBonusProgram" xlink:href="fsly-20231231.xsd#fsly_StockIssuedDuringPeriodSharesRestrictedStockAwardBonusProgram"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_StockIssuedDuringPeriodSharesRestrictedStockAwardBonusProgram" xlink:to="lab_fsly_StockIssuedDuringPeriodSharesRestrictedStockAwardBonusProgram" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubleaseIncome_9423b4ba-bae9-43c7-abe6-157b0c178bf9_terseLabel_en-US" xlink:label="lab_us-gaap_SubleaseIncome" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sublease income</link:label>
    <link:label id="lab_us-gaap_SubleaseIncome_label_en-US" xlink:label="lab_us-gaap_SubleaseIncome" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sublease Income</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubleaseIncome" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubleaseIncome"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubleaseIncome" xlink:to="lab_us-gaap_SubleaseIncome" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationDisclosureTextBlock_5bbbbb84-2dfd-4e20-a180-2b7d6f77b0b3_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combinations</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationDisclosureTextBlock" xlink:to="lab_us-gaap_BusinessCombinationDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ChangeInAccountingEstimateByTypeAxis_ba6eacba-a96b-4041-a25f-37e36c804592_terseLabel_en-US" xlink:label="lab_us-gaap_ChangeInAccountingEstimateByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Change in Accounting Estimate by Type [Axis]</link:label>
    <link:label id="lab_us-gaap_ChangeInAccountingEstimateByTypeAxis_label_en-US" xlink:label="lab_us-gaap_ChangeInAccountingEstimateByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Change in Accounting Estimate by Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ChangeInAccountingEstimateByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ChangeInAccountingEstimateByTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ChangeInAccountingEstimateByTypeAxis" xlink:to="lab_us-gaap_ChangeInAccountingEstimateByTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCost_db9c4c07-a76b-464a-8432-eb7e69dcec28_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Incremental cost due to plan modification</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCost_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Plan Modification, Incremental Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCost" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCost" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCost" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AggtErrCompNotYetDeterminedTextBlock_terseLabel_en-US" xlink:label="lab_ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Aggregate Erroneous Compensation Not Yet Determined</link:label>
    <link:label id="lab_ecd_AggtErrCompNotYetDeterminedTextBlock_label_en-US" xlink:label="lab_ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Aggregate Erroneous Compensation Not Yet Determined [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AggtErrCompNotYetDeterminedTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:to="lab_ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_1f99cf17-1b72-4549-8cae-966cd10a82f7_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_c618699a-8d5f-4ad3-9001-9444258f9ef1_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureAbstract_da08e1c3-c562-4f84-9d89-f265cee1f373_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract" xlink:to="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_StockIssuedDuringPeriodValueBonusProgram_0f5428f5-852b-46ae-a403-ff09e8a08f02_terseLabel_en-US" xlink:label="lab_fsly_StockIssuedDuringPeriodValueBonusProgram" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares issued under bonus program</link:label>
    <link:label id="lab_fsly_StockIssuedDuringPeriodValueBonusProgram_label_en-US" xlink:label="lab_fsly_StockIssuedDuringPeriodValueBonusProgram" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Value, Bonus Program</link:label>
    <link:label id="lab_fsly_StockIssuedDuringPeriodValueBonusProgram_documentation_en-US" xlink:label="lab_fsly_StockIssuedDuringPeriodValueBonusProgram" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Value, Bonus Program</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_StockIssuedDuringPeriodValueBonusProgram" xlink:href="fsly-20231231.xsd#fsly_StockIssuedDuringPeriodValueBonusProgram"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_StockIssuedDuringPeriodValueBonusProgram" xlink:to="lab_fsly_StockIssuedDuringPeriodValueBonusProgram" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt_terseLabel_en-US" xlink:label="lab_ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forgone Recovery due to Expense of Enforcement, Amount</link:label>
    <link:label id="lab_ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt_label_en-US" xlink:label="lab_ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forgone Recovery due to Expense of Enforcement, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:to="lab_ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_NoncashChangeInOperatingLeaseAssetsAndLiabilities_1fff9a3f-34d2-490f-85a1-75bb1a8da21b_terseLabel_en-US" xlink:label="lab_fsly_NoncashChangeInOperatingLeaseAssetsAndLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net non-cash change in operating lease assets and liabilities associated with modifications and terminations</link:label>
    <link:label id="lab_fsly_NoncashChangeInOperatingLeaseAssetsAndLiabilities_label_en-US" xlink:label="lab_fsly_NoncashChangeInOperatingLeaseAssetsAndLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Noncash Change In Operating Lease Assets And Liabilities</link:label>
    <link:label id="lab_fsly_NoncashChangeInOperatingLeaseAssetsAndLiabilities_documentation_en-US" xlink:label="lab_fsly_NoncashChangeInOperatingLeaseAssetsAndLiabilities" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Noncash Change In Operating Lease Assets And Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_NoncashChangeInOperatingLeaseAssetsAndLiabilities" xlink:href="fsly-20231231.xsd#fsly_NoncashChangeInOperatingLeaseAssetsAndLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_NoncashChangeInOperatingLeaseAssetsAndLiabilities" xlink:to="lab_fsly_NoncashChangeInOperatingLeaseAssetsAndLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityTaxIdentificationNumber_864d930e-e07f-400a-9805-00ed6c75306f_terseLabel_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:label id="lab_dei_EntityTaxIdentificationNumber_label_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityTaxIdentificationNumber" xlink:to="lab_dei_EntityTaxIdentificationNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_RonaldKislingMember_label_en-US" xlink:label="lab_fsly_RonaldKislingMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ronald Kisling [Member]</link:label>
    <link:label id="lab_fsly_RonaldKislingMember_documentation_en-US" xlink:label="lab_fsly_RonaldKislingMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ronald Kisling</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_RonaldKislingMember" xlink:href="fsly-20231231.xsd#fsly_RonaldKislingMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_RonaldKislingMember" xlink:to="lab_fsly_RonaldKislingMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_aa7b7779-5c5b-423d-a840-2d6928c2bb99_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign currency translation and other adjustments</link:label>
    <link:label id="lab_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_label_en-US" xlink:label="lab_us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill, Foreign Currency Translation Gain (Loss)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:to="lab_us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount_37c588a7-7bc7-44bb-92c0-6bc1c20e0a84_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation capitalized to internal-use software</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Amount Capitalized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_RangeAxis_15ecb29f-e8ea-40c5-a0c2-86a3580c34eb_terseLabel_en-US" xlink:label="lab_srt_RangeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
    <link:label id="lab_srt_RangeAxis_label_en-US" xlink:label="lab_srt_RangeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RangeAxis" xlink:to="lab_srt_RangeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseRestructuringCharges_6a675529-8051-4358-a636-30ed22aa863f_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseRestructuringCharges" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseRestructuringCharges_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseRestructuringCharges" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Nondeductible Expense, Restructuring Charges, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseRestructuringCharges" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseRestructuringCharges"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseRestructuringCharges" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseRestructuringCharges" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityInteractiveDataCurrent_6b1e0a9b-dc1f-45d0-a39f-8546da44dc54_terseLabel_en-US" xlink:label="lab_dei_EntityInteractiveDataCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:label id="lab_dei_EntityInteractiveDataCurrent_label_en-US" xlink:label="lab_dei_EntityInteractiveDataCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityInteractiveDataCurrent" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityInteractiveDataCurrent" xlink:to="lab_dei_EntityInteractiveDataCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueTable_cd971e3e-c300-4bd9-9597-9eaceed6b8e0_terseLabel_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Table]</link:label>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueTable_label_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable" xlink:to="lab_us-gaap_DisaggregationOfRevenueTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleTable_886d10d7-ee5f-456a-b155-c44931eebc46_terseLabel_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-sale [Table]</link:label>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleTable_label_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleTable" xlink:to="lab_us-gaap_DebtSecuritiesAvailableForSaleTable" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityWellKnownSeasonedIssuer_920909ed-7c17-4b50-afd9-39ac409e7e8d_terseLabel_en-US" xlink:label="lab_dei_EntityWellKnownSeasonedIssuer" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Well-known Seasoned Issuer</link:label>
    <link:label id="lab_dei_EntityWellKnownSeasonedIssuer_label_en-US" xlink:label="lab_dei_EntityWellKnownSeasonedIssuer" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Well-known Seasoned Issuer</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityWellKnownSeasonedIssuer" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityWellKnownSeasonedIssuer"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityWellKnownSeasonedIssuer" xlink:to="lab_dei_EntityWellKnownSeasonedIssuer" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e1993da6-6c8e-4320-8d2d-7dfcd3395d16_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_DeploymentsOfPrepaidCapitalEquipment_cf93cb52-3e0f-4874-8b0b-f57202bd78b2_terseLabel_en-US" xlink:label="lab_fsly_DeploymentsOfPrepaidCapitalEquipment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deployments of prepaid capital equipment</link:label>
    <link:label id="lab_fsly_DeploymentsOfPrepaidCapitalEquipment_label_en-US" xlink:label="lab_fsly_DeploymentsOfPrepaidCapitalEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deployments Of Prepaid Capital Equipment</link:label>
    <link:label id="lab_fsly_DeploymentsOfPrepaidCapitalEquipment_documentation_en-US" xlink:label="lab_fsly_DeploymentsOfPrepaidCapitalEquipment" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deployments Of Prepaid Capital Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DeploymentsOfPrepaidCapitalEquipment" xlink:href="fsly-20231231.xsd#fsly_DeploymentsOfPrepaidCapitalEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_DeploymentsOfPrepaidCapitalEquipment" xlink:to="lab_fsly_DeploymentsOfPrepaidCapitalEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_MeasureAxis_terseLabel_en-US" xlink:label="lab_ecd_MeasureAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measure:</link:label>
    <link:label id="lab_ecd_MeasureAxis_label_en-US" xlink:label="lab_ecd_MeasureAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measure [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_MeasureAxis" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_MeasureAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_MeasureAxis" xlink:to="lab_ecd_MeasureAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_cb734348-c1ac-4253-9317-d482a862904d_terseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_OutstandingRecoveryIndName_terseLabel_en-US" xlink:label="lab_ecd_OutstandingRecoveryIndName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Name</link:label>
    <link:label id="lab_ecd_OutstandingRecoveryIndName_label_en-US" xlink:label="lab_ecd_OutstandingRecoveryIndName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding Recovery, Individual Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_OutstandingRecoveryIndName" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_OutstandingRecoveryIndName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_OutstandingRecoveryIndName" xlink:to="lab_ecd_OutstandingRecoveryIndName" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_c0cdbf0a-2870-40c1-bbc5-c15b772ebe10_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Incremental Costs to Obtain a Contract with a Customer and Revenue Recognition</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_AuditInformationAbstract_label_en-US" xlink:label="lab_fsly_AuditInformationAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Audit Information [Abstract]</link:label>
    <link:label id="lab_fsly_AuditInformationAbstract_documentation_en-US" xlink:label="lab_fsly_AuditInformationAbstract" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Audit Information [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_AuditInformationAbstract" xlink:href="fsly-20231231.xsd#fsly_AuditInformationAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_AuditInformationAbstract" xlink:to="lab_fsly_AuditInformationAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets_146891ad-a313-488e-839e-17e2ac450f83_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible asset amortization</link:label>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets_label_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, Goodwill and Intangible Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets" xlink:to="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityIncorporationStateCountryCode_7230c612-464a-4d81-837b-f1ab2ddb8a94_terseLabel_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:label id="lab_dei_EntityIncorporationStateCountryCode_label_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityIncorporationStateCountryCode" xlink:to="lab_dei_EntityIncorporationStateCountryCode" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdvertisingExpense_1bb91598-6625-43e7-9d24-5272abee11eb_terseLabel_en-US" xlink:label="lab_us-gaap_AdvertisingExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Advertising expense</link:label>
    <link:label id="lab_us-gaap_AdvertisingExpense_label_en-US" xlink:label="lab_us-gaap_AdvertisingExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Advertising Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdvertisingExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdvertisingExpense" xlink:to="lab_us-gaap_AdvertisingExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_6fd76097-8052-4e34-8a4e-adbeba7a454b_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Deferred Tax Assets and Liabilities</link:label>
    <link:label id="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Deferred Tax Assets and Liabilities [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_LiabilityClassifiedAwardsMember_b254e831-b4e4-4b73-b7ea-7ebf3c591cab_terseLabel_en-US" xlink:label="lab_fsly_LiabilityClassifiedAwardsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liability Classified Awards</link:label>
    <link:label id="lab_fsly_LiabilityClassifiedAwardsMember_label_en-US" xlink:label="lab_fsly_LiabilityClassifiedAwardsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liability Classified Awards [Member]</link:label>
    <link:label id="lab_fsly_LiabilityClassifiedAwardsMember_documentation_en-US" xlink:label="lab_fsly_LiabilityClassifiedAwardsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liability Classified Awards</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_LiabilityClassifiedAwardsMember" xlink:href="fsly-20231231.xsd#fsly_LiabilityClassifiedAwardsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_LiabilityClassifiedAwardsMember" xlink:to="lab_fsly_LiabilityClassifiedAwardsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PurchaseObligationDueInFourthYear_d646cada-2b95-4741-a91c-c37c78825481_terseLabel_en-US" xlink:label="lab_us-gaap_PurchaseObligationDueInFourthYear" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2027</link:label>
    <link:label id="lab_us-gaap_PurchaseObligationDueInFourthYear_label_en-US" xlink:label="lab_us-gaap_PurchaseObligationDueInFourthYear" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase Obligation, to be Paid, Year Four</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueInFourthYear" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInFourthYear"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PurchaseObligationDueInFourthYear" xlink:to="lab_us-gaap_PurchaseObligationDueInFourthYear" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_02a7a528-6e86-48a9-9183-6d6aa4a53616_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</link:label>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_label_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PurchaseObligationDueInNextTwelveMonths_e73496a0-d5b5-4132-bc69-e6c0569527a4_terseLabel_en-US" xlink:label="lab_us-gaap_PurchaseObligationDueInNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2024</link:label>
    <link:label id="lab_us-gaap_PurchaseObligationDueInNextTwelveMonths_label_en-US" xlink:label="lab_us-gaap_PurchaseObligationDueInNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase Obligation, to be Paid, Year One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueInNextTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInNextTwelveMonths"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PurchaseObligationDueInNextTwelveMonths" xlink:to="lab_us-gaap_PurchaseObligationDueInNextTwelveMonths" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_308a3e16-59d1-419f-9617-8e865a4d2a48_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2024</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_02f89d66-ab55-49ac-be7c-856c076321f7_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, shares outstanding (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_96103205-cbff-4f60-ad2d-00174c53ae55_periodStartLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_e178eb44-ba79-4f98-b5d9-aca1eff433fc_periodEndLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares, Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesOutstanding" xlink:to="lab_us-gaap_CommonStockSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseImpairmentLoss_008839db-eb5e-49f3-b335-5f3e82af9464_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseImpairmentLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Impairment of operating lease right-of-use assets</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseImpairmentLoss_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseImpairmentLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Impairment Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseImpairmentLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseImpairmentLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseImpairmentLoss" xlink:to="lab_us-gaap_OperatingLeaseImpairmentLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_PeoMember_terseLabel_en-US" xlink:label="lab_ecd_PeoMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">PEO</link:label>
    <link:label id="lab_ecd_PeoMember_label_en-US" xlink:label="lab_ecd_PeoMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">PEO [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeoMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeoMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_PeoMember" xlink:to="lab_ecd_PeoMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskCreditRisk_822326b3-f5a8-4428-84cf-bb8c539018ad_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskCreditRisk" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentrations of Credit Risk</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskCreditRisk_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskCreditRisk" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk, Credit Risk, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskCreditRisk" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskCreditRisk"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskCreditRisk" xlink:to="lab_us-gaap_ConcentrationRiskCreditRisk" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_AuditorLocation_d547d93e-cf14-4aba-90af-3ab0eb9e67c9_terseLabel_en-US" xlink:label="lab_dei_AuditorLocation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Auditor Location</link:label>
    <link:label id="lab_dei_AuditorLocation_label_en-US" xlink:label="lab_dei_AuditorLocation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Auditor Location</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AuditorLocation" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorLocation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AuditorLocation" xlink:to="lab_dei_AuditorLocation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger_eba0c0e4-7d62-48ad-8fc5-654cd8c6ce93_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt instrument, convertible, threshold percentage of stock price trigger (as a percent)</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Convertible, Threshold Percentage of Stock Price Trigger</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:to="lab_us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockParOrStatedValuePerShare_d10acb87-2059-4620-b889-330b5f6c4bd2_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, par value (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_CommonStockParOrStatedValuePerShare_label_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Par or Stated Value Per Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsidiarySaleOfStockAxis_2dd10da4-65e1-490b-a2a3-07a191114964_terseLabel_en-US" xlink:label="lab_us-gaap_SubsidiarySaleOfStockAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sale of Stock [Axis]</link:label>
    <link:label id="lab_us-gaap_SubsidiarySaleOfStockAxis_label_en-US" xlink:label="lab_us-gaap_SubsidiarySaleOfStockAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sale of Stock [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis" xlink:to="lab_us-gaap_SubsidiarySaleOfStockAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_8303c8eb-848d-460d-85cf-2748061df062_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash (used in) provided by investing activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentAxis_427cc6c7-9c9a-4e89-9bc7-ea9e40b043be_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument [Axis]</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentAxis_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentAxis" xlink:to="lab_us-gaap_DebtInstrumentAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_OutstandingAggtErrCompAmt_terseLabel_en-US" xlink:label="lab_ecd_OutstandingAggtErrCompAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding Aggregate Erroneous Compensation Amount</link:label>
    <link:label id="lab_ecd_OutstandingAggtErrCompAmt_label_en-US" xlink:label="lab_ecd_OutstandingAggtErrCompAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding Aggregate Erroneous Compensation Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_OutstandingAggtErrCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_OutstandingAggtErrCompAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_OutstandingAggtErrCompAmt" xlink:to="lab_ecd_OutstandingAggtErrCompAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_7f7e2ed2-e45f-4097-a9b8-98529060e867_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vested and exercisable, aggregate intrinsic value</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Aggregate Intrinsic Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Liabilities_dfe8d30e-c3fa-4dc4-92f3-02577a18ac55_totalLabel_en-US" xlink:label="lab_us-gaap_Liabilities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total liabilities</link:label>
    <link:label id="lab_us-gaap_Liabilities_label_en-US" xlink:label="lab_us-gaap_Liabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Liabilities" xlink:to="lab_us-gaap_Liabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_66d1e3d2-b55e-41bc-b579-e64e9fffd362_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Expected volatility</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock_001fa7f7-95a1-4f83-acea-671e44b53a2f_terseLabel_en-US" xlink:label="lab_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' Equity</link:label>
    <link:label id="lab_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock_label_en-US" xlink:label="lab_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shareholders' Equity and Share-Based Payments [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:to="lab_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BalanceSheetRelatedDisclosuresAbstract_5dd6d48e-5034-4a0b-b4bc-0153a2ffb4b3_terseLabel_en-US" xlink:label="lab_us-gaap_BalanceSheetRelatedDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance Sheet Related Disclosures [Abstract]</link:label>
    <link:label id="lab_us-gaap_BalanceSheetRelatedDisclosuresAbstract_label_en-US" xlink:label="lab_us-gaap_BalanceSheetRelatedDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance Sheet Related Disclosures [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetRelatedDisclosuresAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract" xlink:to="lab_us-gaap_BalanceSheetRelatedDisclosuresAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_NonRule10b51ArrAdoptedFlag_terseLabel_en-US" xlink:label="lab_ecd_NonRule10b51ArrAdoptedFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-Rule 10b5-1 Arrangement Adopted</link:label>
    <link:label id="lab_ecd_NonRule10b51ArrAdoptedFlag_label_en-US" xlink:label="lab_ecd_NonRule10b51ArrAdoptedFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-Rule 10b5-1 Arrangement Adopted [Flag]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonRule10b51ArrAdoptedFlag" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonRule10b51ArrAdoptedFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_NonRule10b51ArrAdoptedFlag" xlink:to="lab_ecd_NonRule10b51ArrAdoptedFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_c247a2ed-6698-46a6-a092-34a468a362c4_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and development credits</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, in Process Research and Development</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:to="lab_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsForSoftware_16994419-8059-4ed1-8566-c2f956e4fe81_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsForSoftware" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized internal-use software</link:label>
    <link:label id="lab_us-gaap_PaymentsForSoftware_label_en-US" xlink:label="lab_us-gaap_PaymentsForSoftware" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments for Software</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForSoftware" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForSoftware"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsForSoftware" xlink:to="lab_us-gaap_PaymentsForSoftware" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain_fb058a97-b188-42d9-8217-e46efc610db8_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Type [Domain]</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Lived Tangible Asset [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MarketableSecuritiesPolicy_eee90cee-6b6f-43b9-a79c-6b87ebcf4a60_terseLabel_en-US" xlink:label="lab_us-gaap_MarketableSecuritiesPolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Marketable Securities</link:label>
    <link:label id="lab_us-gaap_MarketableSecuritiesPolicy_label_en-US" xlink:label="lab_us-gaap_MarketableSecuritiesPolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Marketable Securities, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MarketableSecuritiesPolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecuritiesPolicy"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MarketableSecuritiesPolicy" xlink:to="lab_us-gaap_MarketableSecuritiesPolicy" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SellingAndMarketingExpense_8a0074a5-52e1-4d5d-8e76-d7f6e8b464a8_terseLabel_en-US" xlink:label="lab_us-gaap_SellingAndMarketingExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sales and marketing</link:label>
    <link:label id="lab_us-gaap_SellingAndMarketingExpense_label_en-US" xlink:label="lab_us-gaap_SellingAndMarketingExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling and Marketing Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingAndMarketingExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SellingAndMarketingExpense" xlink:to="lab_us-gaap_SellingAndMarketingExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GeneralAndAdministrativeExpense_f0fdf850-4851-4df2-862d-356247fd0796_terseLabel_en-US" xlink:label="lab_us-gaap_GeneralAndAdministrativeExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">General and administrative</link:label>
    <link:label id="lab_us-gaap_GeneralAndAdministrativeExpense_label_en-US" xlink:label="lab_us-gaap_GeneralAndAdministrativeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">General and Administrative Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GeneralAndAdministrativeExpense" xlink:to="lab_us-gaap_GeneralAndAdministrativeExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_PerformanceTargetPayoutLevelTwoMember_0808d022-f25c-4c17-bb9b-9982d4f89309_terseLabel_en-US" xlink:label="lab_fsly_PerformanceTargetPayoutLevelTwoMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Target Payout Level Two</link:label>
    <link:label id="lab_fsly_PerformanceTargetPayoutLevelTwoMember_label_en-US" xlink:label="lab_fsly_PerformanceTargetPayoutLevelTwoMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Target Payout Level Two [Member]</link:label>
    <link:label id="lab_fsly_PerformanceTargetPayoutLevelTwoMember_documentation_en-US" xlink:label="lab_fsly_PerformanceTargetPayoutLevelTwoMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Target Payout Level Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_PerformanceTargetPayoutLevelTwoMember" xlink:href="fsly-20231231.xsd#fsly_PerformanceTargetPayoutLevelTwoMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_PerformanceTargetPayoutLevelTwoMember" xlink:to="lab_fsly_PerformanceTargetPayoutLevelTwoMember" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_SharesHeldBackForRestrictedStockAwardsRevestingPeriod_80bafda8-7262-4922-8be7-6f2250aaba3e_terseLabel_en-US" xlink:label="lab_fsly_SharesHeldBackForRestrictedStockAwardsRevestingPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares held back for restricted stock awards, revesting period</link:label>
    <link:label id="lab_fsly_SharesHeldBackForRestrictedStockAwardsRevestingPeriod_label_en-US" xlink:label="lab_fsly_SharesHeldBackForRestrictedStockAwardsRevestingPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares Held Back For Restricted Stock Awards, Revesting Period</link:label>
    <link:label id="lab_fsly_SharesHeldBackForRestrictedStockAwardsRevestingPeriod_documentation_en-US" xlink:label="lab_fsly_SharesHeldBackForRestrictedStockAwardsRevestingPeriod" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares Held Back For Restricted Stock Awards, Revesting Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_SharesHeldBackForRestrictedStockAwardsRevestingPeriod" xlink:href="fsly-20231231.xsd#fsly_SharesHeldBackForRestrictedStockAwardsRevestingPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_SharesHeldBackForRestrictedStockAwardsRevestingPeriod" xlink:to="lab_fsly_SharesHeldBackForRestrictedStockAwardsRevestingPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AwardsCloseToMnpiDiscTableTextBlock_terseLabel_en-US" xlink:label="lab_ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Awards Close in Time to MNPI Disclosures, Table</link:label>
    <link:label id="lab_ecd_AwardsCloseToMnpiDiscTableTextBlock_label_en-US" xlink:label="lab_ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Awards Close in Time to MNPI Disclosures [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardsCloseToMnpiDiscTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:to="lab_ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_80003a17-5fea-41c3-87e5-7b8937ce9190_terseLabel_en-US" xlink:label="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">State</link:label>
    <link:label id="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current State and Local Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:to="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentReportingPolicyPolicyTextBlock_0fbc82a4-3c8e-4edb-87ae-394cbedfa8db_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segments</link:label>
    <link:label id="lab_us-gaap_SegmentReportingPolicyPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:to="lab_us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsCurrent_760ac711-1d6f-4b4c-98f5-48496929449b_totalLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total current assets</link:label>
    <link:label id="lab_us-gaap_AssetsCurrent_label_en-US" xlink:label="lab_us-gaap_AssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrent" xlink:to="lab_us-gaap_AssetsCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_StockIssuedDuringPeriodSharesAcquisitionSharesHeldBackForRestrictedStockAwards_39c832a3-cb34-459d-9b8a-e75cec22c86d_terseLabel_en-US" xlink:label="lab_fsly_StockIssuedDuringPeriodSharesAcquisitionSharesHeldBackForRestrictedStockAwards" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of shares restricted for stock awards (in shares)</link:label>
    <link:label id="lab_fsly_StockIssuedDuringPeriodSharesAcquisitionSharesHeldBackForRestrictedStockAwards_label_en-US" xlink:label="lab_fsly_StockIssuedDuringPeriodSharesAcquisitionSharesHeldBackForRestrictedStockAwards" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Shares, Acquisition, Shares Held Back For Restricted Stock Awards</link:label>
    <link:label id="lab_fsly_StockIssuedDuringPeriodSharesAcquisitionSharesHeldBackForRestrictedStockAwards_documentation_en-US" xlink:label="lab_fsly_StockIssuedDuringPeriodSharesAcquisitionSharesHeldBackForRestrictedStockAwards" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Shares, Acquisition, Shares Held Back For Restricted Stock Awards</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_StockIssuedDuringPeriodSharesAcquisitionSharesHeldBackForRestrictedStockAwards" xlink:href="fsly-20231231.xsd#fsly_StockIssuedDuringPeriodSharesAcquisitionSharesHeldBackForRestrictedStockAwards"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_StockIssuedDuringPeriodSharesAcquisitionSharesHeldBackForRestrictedStockAwards" xlink:to="lab_fsly_StockIssuedDuringPeriodSharesAcquisitionSharesHeldBackForRestrictedStockAwards" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PurchaseObligation_4aa8c2ce-91a1-474f-a5f8-922c8956b69c_totalLabel_en-US" xlink:label="lab_us-gaap_PurchaseObligation" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total</link:label>
    <link:label id="lab_us-gaap_PurchaseObligation_label_en-US" xlink:label="lab_us-gaap_PurchaseObligation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase Obligation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligation" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PurchaseObligation" xlink:to="lab_us-gaap_PurchaseObligation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherLiabilities_b44c1e73-57fb-41a1-9771-f2365e9e4521_terseLabel_en-US" xlink:label="lab_us-gaap_OtherLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other long-term liabilities</link:label>
    <link:label id="lab_us-gaap_OtherLiabilities_label_en-US" xlink:label="lab_us-gaap_OtherLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherLiabilities" xlink:to="lab_us-gaap_OtherLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerSharePolicyTextBlock_3b9c3b33-cf76-4bef-8d41-b784a159c959_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerSharePolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Loss Per Share Attributable to Common Stockholders</link:label>
    <link:label id="lab_us-gaap_EarningsPerSharePolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_EarningsPerSharePolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerSharePolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerSharePolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerSharePolicyTextBlock" xlink:to="lab_us-gaap_EarningsPerSharePolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_8b252a7a-0f57-4cec-9f26-dbe281820b6d_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill and Intangible Assets</link:label>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:to="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment_9763bb14-a267-447b-98f2-cdc84e962116_terseLabel_en-US" xlink:label="lab_fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Impairment expense</link:label>
    <link:label id="lab_fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment_4a858293-76af-4077-9dee-6c09fee6207e_verboseLabel_en-US" xlink:label="lab_fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Impairment expense</link:label>
    <link:label id="lab_fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment_label_en-US" xlink:label="lab_fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset Impairment Charges, Excluding Operating Lease Impairment</link:label>
    <link:label id="lab_fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment_documentation_en-US" xlink:label="lab_fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset Impairment Charges, Excluding Operating Lease Impairment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment" xlink:href="fsly-20231231.xsd#fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment" xlink:to="lab_fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskPercentage1_d68b3a63-c887-4ba1-a530-17acaefb5ad1_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskPercentage1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration risk, percentage</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskPercentage1_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskPercentage1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk, Percentage</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskPercentage1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskPercentage1" xlink:to="lab_us-gaap_ConcentrationRiskPercentage1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtConversionNameDomain_023e2bc1-bfe4-4483-b561-c4bd54d9d491_terseLabel_en-US" xlink:label="lab_us-gaap_DebtConversionNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Conversion, Name [Domain]</link:label>
    <link:label id="lab_us-gaap_DebtConversionNameDomain_label_en-US" xlink:label="lab_us-gaap_DebtConversionNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Conversion, Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtConversionNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtConversionNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtConversionNameDomain" xlink:to="lab_us-gaap_DebtConversionNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_022af6cf-60a9-4088-960b-16563e719527_terseLabel_en-US" xlink:label="lab_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current tax provision (benefit):</link:label>
    <link:label id="lab_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_label_en-US" xlink:label="lab_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Income Tax Expense (Benefit), Continuing Operations [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="lab_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_5dcfe2ee-c7a5-4d3a-800e-62e60546a789_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Accumulated Other Comprehensive Loss</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_3f7a2c3d-ba92-4fda-9c8f-ad2694521c76_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Granted (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_a7fc3167-3ecd-4e8f-950f-d98f33d0b5e6_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2028</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherAssetsNet_03ae540f-2ae5-4e3a-9af5-131cd37dffb5_terseLabel_en-US" xlink:label="lab_fsly_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherAssetsNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other assets, net</link:label>
    <link:label id="lab_fsly_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherAssetsNet_label_en-US" xlink:label="lab_fsly_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherAssetsNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Other Assets, Net</link:label>
    <link:label id="lab_fsly_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherAssetsNet_documentation_en-US" xlink:label="lab_fsly_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherAssetsNet" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Other Assets, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherAssetsNet" xlink:href="fsly-20231231.xsd#fsly_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherAssetsNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherAssetsNet" xlink:to="lab_fsly_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherAssetsNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeFinanceLeaseRemainingLeaseTerm_82a0f6a6-3059-40d6-b8d6-965be58bad40_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeFinanceLeaseRemainingLeaseTerm" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Remaining lease terms, finance (in years)</link:label>
    <link:label id="lab_us-gaap_LesseeFinanceLeaseRemainingLeaseTerm_label_en-US" xlink:label="lab_us-gaap_LesseeFinanceLeaseRemainingLeaseTerm" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Finance Lease, Remaining Lease Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeFinanceLeaseRemainingLeaseTerm" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeFinanceLeaseRemainingLeaseTerm"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeFinanceLeaseRemainingLeaseTerm" xlink:to="lab_us-gaap_LesseeFinanceLeaseRemainingLeaseTerm" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour_5c7fa1b1-5ce6-4f88-9bf2-e565ddf02763_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2027</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Liability, to be Paid, Year Four</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:to="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetBackedSecuritiesMember_1282fad6-73ca-4085-a1cd-7d28372dede0_terseLabel_en-US" xlink:label="lab_us-gaap_AssetBackedSecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset-backed securities</link:label>
    <link:label id="lab_us-gaap_AssetBackedSecuritiesMember_label_en-US" xlink:label="lab_us-gaap_AssetBackedSecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset-Backed Securities [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetBackedSecuritiesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetBackedSecuritiesMember" xlink:to="lab_us-gaap_AssetBackedSecuritiesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TradeAndOtherAccountsReceivablePolicy_5afe59a3-5b63-4536-a885-f4e102a40c1d_terseLabel_en-US" xlink:label="lab_us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, net</link:label>
    <link:label id="lab_us-gaap_TradeAndOtherAccountsReceivablePolicy_label_en-US" xlink:label="lab_us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:to="lab_us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_69c1c095-69bd-4b3a-86e4-845b6eceef8f_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash (used in) provided by operating activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_8b0b4b0c-a7c0-40c9-bafc-d4404945a9ea_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Expected Amortization Expense of Intangible Assets</link:label>
    <link:label id="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:to="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementClassOfStockAxis_853d1d15-980c-4f61-a5ce-ed98662d38f2_terseLabel_en-US" xlink:label="lab_us-gaap_StatementClassOfStockAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Stock [Axis]</link:label>
    <link:label id="lab_us-gaap_StatementClassOfStockAxis_label_en-US" xlink:label="lab_us-gaap_StatementClassOfStockAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Stock [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementClassOfStockAxis" xlink:to="lab_us-gaap_StatementClassOfStockAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_ErrCompRecoveryTable_terseLabel_en-US" xlink:label="lab_ecd_ErrCompRecoveryTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Erroneously Awarded Compensation Recovery</link:label>
    <link:label id="lab_ecd_ErrCompRecoveryTable_label_en-US" xlink:label="lab_ecd_ErrCompRecoveryTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Erroneously Awarded Compensation Recovery [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ErrCompRecoveryTable" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ErrCompRecoveryTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_ErrCompRecoveryTable" xlink:to="lab_ecd_ErrCompRecoveryTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FurnitureAndFixturesMember_05b112f0-e64e-40f4-b982-f2881d629fd6_terseLabel_en-US" xlink:label="lab_us-gaap_FurnitureAndFixturesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Furniture and fixtures</link:label>
    <link:label id="lab_us-gaap_FurnitureAndFixturesMember_label_en-US" xlink:label="lab_us-gaap_FurnitureAndFixturesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Furniture and Fixtures [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FurnitureAndFixturesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FurnitureAndFixturesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FurnitureAndFixturesMember" xlink:to="lab_us-gaap_FurnitureAndFixturesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AwardTmgHowMnpiCnsdrdTextBlock_terseLabel_en-US" xlink:label="lab_ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Timing, How MNPI Considered</link:label>
    <link:label id="lab_ecd_AwardTmgHowMnpiCnsdrdTextBlock_label_en-US" xlink:label="lab_ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Timing, How MNPI Considered [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgHowMnpiCnsdrdTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:to="lab_ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination and Asset Acquisition [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:to="lab_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommercialPaperMember_15cb821f-afef-4f97-bde0-a435d554dfe9_terseLabel_en-US" xlink:label="lab_us-gaap_CommercialPaperMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commercial paper</link:label>
    <link:label id="lab_us-gaap_CommercialPaperMember_7c707316-eaea-4bc8-9812-a95f3b819bb1_verboseLabel_en-US" xlink:label="lab_us-gaap_CommercialPaperMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commercial paper</link:label>
    <link:label id="lab_us-gaap_CommercialPaperMember_label_en-US" xlink:label="lab_us-gaap_CommercialPaperMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commercial Paper [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommercialPaperMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommercialPaperMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommercialPaperMember" xlink:to="lab_us-gaap_CommercialPaperMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillImpairmentLoss_d081a9ed-0839-43d5-9695-55bd0b932ee9_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillImpairmentLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill, impairment loss</link:label>
    <link:label id="lab_us-gaap_GoodwillImpairmentLoss_label_en-US" xlink:label="lab_us-gaap_GoodwillImpairmentLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill, Impairment Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillImpairmentLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillImpairmentLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillImpairmentLoss" xlink:to="lab_us-gaap_GoodwillImpairmentLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsValuationAllowance_a9194ebd-bb11-4b01-b1ab-356fc898a265_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Valuation allowance</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsValuationAllowance_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Valuation Allowance</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:to="lab_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_15d13fc9-04d6-4fbe-80c8-e56e36741893_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_4d6d09a3-6032-43a9-9b96-f8e99ceb38e8_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Leases</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Liability, to be Paid, Fiscal Year Maturity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:to="lab_us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_6796b29d-fd55-46dc-b32d-d31f4b3cf899_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue recognized in the period from amounts included in contract liability at the beginning of the period</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Liability, Revenue Recognized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:to="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis_b71b457e-84d6-4ddd-acb2-9959e00e9ccd_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Type [Axis]</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Lived Tangible Asset [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_RichardDanielsMember_label_en-US" xlink:label="lab_fsly_RichardDanielsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Richard Daniels [Member]</link:label>
    <link:label id="lab_fsly_RichardDanielsMember_documentation_en-US" xlink:label="lab_fsly_RichardDanielsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Richard Daniels</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_RichardDanielsMember" xlink:href="fsly-20231231.xsd#fsly_RichardDanielsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_RichardDanielsMember" xlink:to="lab_fsly_RichardDanielsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedContractCostAxis_edc9bcd0-bb05-455f-aa11-4d6e261b093b_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost [Axis]</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostAxis_label_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedContractCostAxis" xlink:to="lab_us-gaap_CapitalizedContractCostAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityEmergingGrowthCompany_f15d753d-602e-4254-8f1c-50872a5e39d4_terseLabel_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:label id="lab_dei_EntityEmergingGrowthCompany_label_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityEmergingGrowthCompany" xlink:to="lab_dei_EntityEmergingGrowthCompany" xlink:type="arc" order="1"/>
    <link:label id="lab_country_GB_e3cd3ab5-56ae-47a1-aeda-9c9cc8c83905_terseLabel_en-US" xlink:label="lab_country_GB" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">UNITED KINGDOM</link:label>
    <link:label id="lab_country_GB_label_en-US" xlink:label="lab_country_GB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">UNITED KINGDOM</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_country_GB" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_GB"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_country_GB" xlink:to="lab_country_GB" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill_7428f52e-5538-4e6e-845d-b27d20cf99c3_terseLabel_en-US" xlink:label="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible assets, net</link:label>
    <link:label id="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill_label_en-US" xlink:label="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible Assets, Net (Excluding Goodwill)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsGross_c71aaeaa-8512-431b-bde4-d5b09961efec_totalLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsGross" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred tax assets</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsGross_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsGross" xlink:to="lab_us-gaap_DeferredTaxAssetsGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PurchaseObligationDueInFifthYear_b1219fbc-7346-406f-a267-6c2972b22557_terseLabel_en-US" xlink:label="lab_us-gaap_PurchaseObligationDueInFifthYear" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2028</link:label>
    <link:label id="lab_us-gaap_PurchaseObligationDueInFifthYear_label_en-US" xlink:label="lab_us-gaap_PurchaseObligationDueInFifthYear" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase Obligation, to be Paid, Year Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueInFifthYear" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInFifthYear"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PurchaseObligationDueInFifthYear" xlink:to="lab_us-gaap_PurchaseObligationDueInFifthYear" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_8a8583a5-f5d9-4c53-acca-ffc2ddad2b67_netLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:role="http://www.xbrl.org/2009/role/netLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible assets</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_5f6762cb-9194-4811-ac95-9885ef601cc2_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_7d50341d-b941-4faa-b838-1c1d2d9e226b_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]</link:label>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_label_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_9e9df819-c778-451a-9179-55b1351484a0_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2024</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_PvpTableTextBlock_terseLabel_en-US" xlink:label="lab_ecd_PvpTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pay vs Performance Disclosure, Table</link:label>
    <link:label id="lab_ecd_PvpTableTextBlock_label_en-US" xlink:label="lab_ecd_PvpTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pay vs Performance [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PvpTableTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PvpTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_PvpTableTextBlock" xlink:to="lab_ecd_PvpTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_ceead41f-38c2-4726-8893-6b20102a1d95_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities [Axis]</link:label>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_label_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_TrdArrIndTitle_terseLabel_en-US" xlink:label="lab_ecd_TrdArrIndTitle" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title</link:label>
    <link:label id="lab_ecd_TrdArrIndTitle_label_en-US" xlink:label="lab_ecd_TrdArrIndTitle" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Arrangement, Individual Title</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrIndTitle" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrIndTitle"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_TrdArrIndTitle" xlink:to="lab_ecd_TrdArrIndTitle" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockMember_668a9cb3-e6cd-4762-a17b-11ab1d21619d_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock</link:label>
    <link:label id="lab_us-gaap_CommonStockMember_label_en-US" xlink:label="lab_us-gaap_CommonStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockMember" xlink:to="lab_us-gaap_CommonStockMember" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_IndividualAxis_terseLabel_en-US" xlink:label="lab_ecd_IndividualAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Individual:</link:label>
    <link:label id="lab_ecd_IndividualAxis_label_en-US" xlink:label="lab_ecd_IndividualAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Individual [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_IndividualAxis" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_IndividualAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_IndividualAxis" xlink:to="lab_ecd_IndividualAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressPostalZipCode_e1ef23f2-2b9e-44b5-b0bc-6e51f773c86b_terseLabel_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:label id="lab_dei_EntityAddressPostalZipCode_label_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressPostalZipCode" xlink:to="lab_dei_EntityAddressPostalZipCode" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementLocationDomain_3b175e3a-37f4-4b8c-8b7f-bf5f28a61fc0_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Domain]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementLocationDomain_label_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationDomain" xlink:to="lab_us-gaap_IncomeStatementLocationDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_AdvancesOnPropertyAndEquipment_cf37594f-520d-4fb5-ae6d-996171b1fc56_terseLabel_en-US" xlink:label="lab_fsly_AdvancesOnPropertyAndEquipment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Advance payment for purchase of property and equipment</link:label>
    <link:label id="lab_fsly_AdvancesOnPropertyAndEquipment_label_en-US" xlink:label="lab_fsly_AdvancesOnPropertyAndEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Advances On Property And Equipment</link:label>
    <link:label id="lab_fsly_AdvancesOnPropertyAndEquipment_documentation_en-US" xlink:label="lab_fsly_AdvancesOnPropertyAndEquipment" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Advances On Property And Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_AdvancesOnPropertyAndEquipment" xlink:href="fsly-20231231.xsd#fsly_AdvancesOnPropertyAndEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_AdvancesOnPropertyAndEquipment" xlink:to="lab_fsly_AdvancesOnPropertyAndEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedContractCostLineItems_3bce4b6b-ee08-4475-991d-9175d543470a_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost [Line Items]</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostLineItems_label_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedContractCostLineItems" xlink:to="lab_us-gaap_CapitalizedContractCostLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_MinimumMember_45357c9e-a8e5-4280-9d7a-71a1e133eac1_terseLabel_en-US" xlink:label="lab_srt_MinimumMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Minimum</link:label>
    <link:label id="lab_srt_MinimumMember_label_en-US" xlink:label="lab_srt_MinimumMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Minimum [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MinimumMember" xlink:to="lab_srt_MinimumMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfCashFlowsAbstract_52f7ac1f-9e61-47d2-bad7-c94627467f1b_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfCashFlowsAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract" xlink:to="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsAbstract_5bb07216-1d06-4b87-885d-810ed4067a00_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">ASSETS</link:label>
    <link:label id="lab_us-gaap_AssetsAbstract_label_en-US" xlink:label="lab_us-gaap_AssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsAbstract" xlink:to="lab_us-gaap_AssetsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AwardTmgMnpiDiscTextBlock_terseLabel_en-US" xlink:label="lab_ecd_AwardTmgMnpiDiscTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Timing MNPI Disclosure</link:label>
    <link:label id="lab_ecd_AwardTmgMnpiDiscTextBlock_label_en-US" xlink:label="lab_ecd_AwardTmgMnpiDiscTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Timing MNPI Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgMnpiDiscTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgMnpiDiscTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardTmgMnpiDiscTextBlock" xlink:to="lab_ecd_AwardTmgMnpiDiscTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsOther_050d5583-104a-4eab-8aa3-37b9a751ef6e_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsOther" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsOther_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsOther" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Other</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOther" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOther"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsOther" xlink:to="lab_us-gaap_DeferredTaxAssetsOther" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_USTreasurySecuritiesMember_abac50ab-9655-4a5e-addd-b1cee7413dfb_terseLabel_en-US" xlink:label="lab_us-gaap_USTreasurySecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">U.S. Treasury securities</link:label>
    <link:label id="lab_us-gaap_USTreasurySecuritiesMember_0a147a12-8552-47fc-91f9-54d4f50b5396_verboseLabel_en-US" xlink:label="lab_us-gaap_USTreasurySecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">U.S. Treasury securities</link:label>
    <link:label id="lab_us-gaap_USTreasurySecuritiesMember_label_en-US" xlink:label="lab_us-gaap_USTreasurySecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">US Treasury Securities [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_USTreasurySecuritiesMember" xlink:to="lab_us-gaap_USTreasurySecuritiesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_c897703a-f625-4ffd-9443-022ff86a6621_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash (used in) provided by financing activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeLeaseDescriptionLineItems_df8c6fa0-505a-496c-be8a-110f5e9b36f9_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeLeaseDescriptionLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Lease, Description [Line Items]</link:label>
    <link:label id="lab_us-gaap_LesseeLeaseDescriptionLineItems_label_en-US" xlink:label="lab_us-gaap_LesseeLeaseDescriptionLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Lease, Description [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="lab_us-gaap_LesseeLeaseDescriptionLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_b939b651-e318-4392-918a-41e33f07816d_terseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies</link:label>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired_1c52c2e3-fa30-4984-99dc-dbb6e1930a18_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business acquisition, percentage of voting interests acquired (as a percent)</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition, Percentage of Voting Interests Acquired</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:to="lab_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetainedEarningsMember_bcc36b53-545e-474d-bf5a-723967604e28_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Deficit</link:label>
    <link:label id="lab_us-gaap_RetainedEarningsMember_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained Earnings [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsMember" xlink:to="lab_us-gaap_RetainedEarningsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongTermDebtCurrent_c96e7d99-b833-4659-a845-d3af822ab84a_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_LongTermDebtCurrent" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less: current portion of long-term debt</link:label>
    <link:label id="lab_us-gaap_LongTermDebtCurrent_label_en-US" xlink:label="lab_us-gaap_LongTermDebtCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Debt, Current Maturities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermDebtCurrent" xlink:to="lab_us-gaap_LongTermDebtCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AdjToNonPeoNeoCompFnTextBlock_terseLabel_en-US" xlink:label="lab_ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustment to Non-PEO NEO Compensation Footnote</link:label>
    <link:label id="lab_ecd_AdjToNonPeoNeoCompFnTextBlock_label_en-US" xlink:label="lab_ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustment to Non-PEO NEO Compensation Footnote [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AdjToNonPeoNeoCompFnTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:to="lab_ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareBasic_65b9408a-b4c2-4a7e-9321-49aaf29a2c95_verboseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasic" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net loss per share attributable to common stockholders, basic (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareBasic_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Basic</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareBasic" xlink:to="lab_us-gaap_EarningsPerShareBasic" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_869e753f-9a12-45fb-abb3-7592275394d6_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrecognized stock-based compensation cost</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_d7648078-faee-49ac-9dd1-48d80fc0b6f7_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares issued under employee stock purchase program</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Value, Employee Stock Purchase Plan</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountingPoliciesAbstract_04e9cd2c-3046-4310-8e1b-7b87a9058086_terseLabel_en-US" xlink:label="lab_us-gaap_AccountingPoliciesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
    <link:label id="lab_us-gaap_AccountingPoliciesAbstract_label_en-US" xlink:label="lab_us-gaap_AccountingPoliciesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountingPoliciesAbstract" xlink:to="lab_us-gaap_AccountingPoliciesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SaleOfStockNameOfTransactionDomain_4d9ab950-6bcc-4337-ade2-4792dea9664c_terseLabel_en-US" xlink:label="lab_us-gaap_SaleOfStockNameOfTransactionDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sale of Stock [Domain]</link:label>
    <link:label id="lab_us-gaap_SaleOfStockNameOfTransactionDomain_label_en-US" xlink:label="lab_us-gaap_SaleOfStockNameOfTransactionDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sale of Stock [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="lab_us-gaap_SaleOfStockNameOfTransactionDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_ErrCompAnalysisTextBlock_terseLabel_en-US" xlink:label="lab_ecd_ErrCompAnalysisTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Erroneous Compensation Analysis</link:label>
    <link:label id="lab_ecd_ErrCompAnalysisTextBlock_label_en-US" xlink:label="lab_ecd_ErrCompAnalysisTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Erroneous Compensation Analysis [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ErrCompAnalysisTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ErrCompAnalysisTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_ErrCompAnalysisTextBlock" xlink:to="lab_ecd_ErrCompAnalysisTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsLiabilitiesNet_5f43b568-0d77-47f2-b8a4-ce866d0905e3_totalLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net deferred tax (liabilities) assets</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsLiabilitiesNet_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="lab_us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_2e440761-d5cd-4cb5-b6dc-903d1c133617_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pre-tax intrinsic value</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_BusinessCombinationConsiderationTransferredHoldbackPeriodForDistribution_ae96abcc-c649-4873-acf1-a6eb3f262594_terseLabel_en-US" xlink:label="lab_fsly_BusinessCombinationConsiderationTransferredHoldbackPeriodForDistribution" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Consideration transferred, holdback, period for distribution</link:label>
    <link:label id="lab_fsly_BusinessCombinationConsiderationTransferredHoldbackPeriodForDistribution_label_en-US" xlink:label="lab_fsly_BusinessCombinationConsiderationTransferredHoldbackPeriodForDistribution" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Consideration Transferred, Holdback, Period For Distribution</link:label>
    <link:label id="lab_fsly_BusinessCombinationConsiderationTransferredHoldbackPeriodForDistribution_documentation_en-US" xlink:label="lab_fsly_BusinessCombinationConsiderationTransferredHoldbackPeriodForDistribution" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Consideration Transferred, Holdback, Period For Distribution</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_BusinessCombinationConsiderationTransferredHoldbackPeriodForDistribution" xlink:href="fsly-20231231.xsd#fsly_BusinessCombinationConsiderationTransferredHoldbackPeriodForDistribution"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_BusinessCombinationConsiderationTransferredHoldbackPeriodForDistribution" xlink:to="lab_fsly_BusinessCombinationConsiderationTransferredHoldbackPeriodForDistribution" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_c2fbe96b-ae22-4579-82ab-17cb821fa204_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options vested and exercisable (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConsolidationPolicyTextBlock_a8946e79-2630-4fdd-ad40-9c3994c4bb67_terseLabel_en-US" xlink:label="lab_us-gaap_ConsolidationPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Principles of Consolidation</link:label>
    <link:label id="lab_us-gaap_ConsolidationPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_ConsolidationPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Consolidation, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConsolidationPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConsolidationPolicyTextBlock" xlink:to="lab_us-gaap_ConsolidationPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentTransitionReport_b868ed0c-de8a-431d-b405-3dae4e0b7d07_terseLabel_en-US" xlink:label="lab_dei_DocumentTransitionReport" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Transition Report</link:label>
    <link:label id="lab_dei_DocumentTransitionReport_label_en-US" xlink:label="lab_dei_DocumentTransitionReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Transition Report</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentTransitionReport" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentTransitionReport" xlink:to="lab_dei_DocumentTransitionReport" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AwardTmgPredtrmndFlag_terseLabel_en-US" xlink:label="lab_ecd_AwardTmgPredtrmndFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Timing Predetermined</link:label>
    <link:label id="lab_ecd_AwardTmgPredtrmndFlag_label_en-US" xlink:label="lab_ecd_AwardTmgPredtrmndFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Timing Predetermined [Flag]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgPredtrmndFlag" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgPredtrmndFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardTmgPredtrmndFlag" xlink:to="lab_ecd_AwardTmgPredtrmndFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_f1b4a27b-cdd2-4b86-b1a1-07e276f2ee9b_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Business Acquisitions, by Acquisition [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Business Acquisitions, by Acquisition [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedCashEquivalents_721533dd-16b7-4497-87b2-eb0eac9dfb0b_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted cash included in other assets</link:label>
    <link:label id="lab_us-gaap_RestrictedCashEquivalents_label_en-US" xlink:label="lab_us-gaap_RestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Cash Equivalents</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashEquivalents" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashEquivalents"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedCashEquivalents" xlink:to="lab_us-gaap_RestrictedCashEquivalents" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsPayable_1dda1663-2f37-4bc8-8000-972c5e1f8350_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts payable</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsPayable_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Accounts Payable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityPublicFloat_73861ddf-80d8-4051-9bde-e37a5f1a0feb_terseLabel_en-US" xlink:label="lab_dei_EntityPublicFloat" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Public Float</link:label>
    <link:label id="lab_dei_EntityPublicFloat_label_en-US" xlink:label="lab_dei_EntityPublicFloat" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Public Float</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityPublicFloat" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPublicFloat"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityPublicFloat" xlink:to="lab_dei_EntityPublicFloat" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_cd460efe-56e1-4985-8154-016f3ccbbe31_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</link:label>
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_label_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock_10643069-96d6-477d-b2a7-f15f5119cf77_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Revenue by Customer Type</link:label>
    <link:label id="lab_us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Revenue by Major Customers by Reporting Segments [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_dff23d9d-9517-4562-b00b-8cffa05e1ef1_terseLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Valuation allowance, increase (released) amount</link:label>
    <link:label id="lab_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_label_en-US" xlink:label="lab_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:to="lab_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDisallowedExecutiveCompensationPercent_d84af055-e564-458e-beac-176990327daa_terseLabel_en-US" xlink:label="lab_fsly_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDisallowedExecutiveCompensationPercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disallowed executive compensation</link:label>
    <link:label id="lab_fsly_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDisallowedExecutiveCompensationPercent_label_en-US" xlink:label="lab_fsly_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDisallowedExecutiveCompensationPercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Nondeductible Expense, Disallowed Executive Compensation, Percent</link:label>
    <link:label id="lab_fsly_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDisallowedExecutiveCompensationPercent_documentation_en-US" xlink:label="lab_fsly_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDisallowedExecutiveCompensationPercent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Nondeductible Expense, Disallowed Executive Compensation, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDisallowedExecutiveCompensationPercent" xlink:href="fsly-20231231.xsd#fsly_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDisallowedExecutiveCompensationPercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDisallowedExecutiveCompensationPercent" xlink:to="lab_fsly_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDisallowedExecutiveCompensationPercent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentCarryingAmount_608ca9d5-32e5-4192-9331-3192dd06a5ea_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentCarryingAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Principal amount</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentCarryingAmount_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentCarryingAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Debt, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentCarryingAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentCarryingAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentCarryingAmount" xlink:to="lab_us-gaap_DebtInstrumentCarryingAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AllTradingArrangementsMember_terseLabel_en-US" xlink:label="lab_ecd_AllTradingArrangementsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">All Trading Arrangements</link:label>
    <link:label id="lab_ecd_AllTradingArrangementsMember_label_en-US" xlink:label="lab_ecd_AllTradingArrangementsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">All Trading Arrangements [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AllTradingArrangementsMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllTradingArrangementsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AllTradingArrangementsMember" xlink:to="lab_ecd_AllTradingArrangementsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_1e8b9bb9-7451-4d30-a861-100e0fb44581_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated depreciation and amortization</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, Accumulated Depreciation and Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_GoodwillIntangibleAssetsAndLongLivedAssetsPolicyPolicyTextBlock_296b6a33-b90a-4c4e-8a46-3454bcbfe2ee_terseLabel_en-US" xlink:label="lab_fsly_GoodwillIntangibleAssetsAndLongLivedAssetsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill, Intangible Assets, and Other Long-Lived Assets</link:label>
    <link:label id="lab_fsly_GoodwillIntangibleAssetsAndLongLivedAssetsPolicyPolicyTextBlock_label_en-US" xlink:label="lab_fsly_GoodwillIntangibleAssetsAndLongLivedAssetsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill, Intangible Assets, And Long Lived Assets Policy [Policy Text Block]</link:label>
    <link:label id="lab_fsly_GoodwillIntangibleAssetsAndLongLivedAssetsPolicyPolicyTextBlock_documentation_en-US" xlink:label="lab_fsly_GoodwillIntangibleAssetsAndLongLivedAssetsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill, Intangible Assets, And Long Lived Assets Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_GoodwillIntangibleAssetsAndLongLivedAssetsPolicyPolicyTextBlock" xlink:href="fsly-20231231.xsd#fsly_GoodwillIntangibleAssetsAndLongLivedAssetsPolicyPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_GoodwillIntangibleAssetsAndLongLivedAssetsPolicyPolicyTextBlock" xlink:to="lab_fsly_GoodwillIntangibleAssetsAndLongLivedAssetsPolicyPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AllAdjToCompMember_terseLabel_en-US" xlink:label="lab_ecd_AllAdjToCompMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">All Adjustments to Compensation</link:label>
    <link:label id="lab_ecd_AllAdjToCompMember_label_en-US" xlink:label="lab_ecd_AllAdjToCompMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">All Adjustments to Compensation [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AllAdjToCompMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllAdjToCompMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AllAdjToCompMember" xlink:to="lab_ecd_AllAdjToCompMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_1b3137c1-5605-4b59-a06e-3305a7d0ccf6_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Cash</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents, Restricted Cash and Cash Equivalents, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xlink:to="lab_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_OutstandingRecoveryCompAmt_terseLabel_en-US" xlink:label="lab_ecd_OutstandingRecoveryCompAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Compensation Amount</link:label>
    <link:label id="lab_ecd_OutstandingRecoveryCompAmt_label_en-US" xlink:label="lab_ecd_OutstandingRecoveryCompAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding Recovery Compensation Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_OutstandingRecoveryCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_OutstandingRecoveryCompAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_OutstandingRecoveryCompAmt" xlink:to="lab_ecd_OutstandingRecoveryCompAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProvisionForDoubtfulAccounts_058f9f93-38cf-404d-aed4-f4611f516c73_terseLabel_en-US" xlink:label="lab_us-gaap_ProvisionForDoubtfulAccounts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Provision for credit losses</link:label>
    <link:label id="lab_us-gaap_ProvisionForDoubtfulAccounts_bb0d4d6d-fdba-426b-8076-1924c09847f0_verboseLabel_en-US" xlink:label="lab_us-gaap_ProvisionForDoubtfulAccounts" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additions to the reserves</link:label>
    <link:label id="lab_us-gaap_ProvisionForDoubtfulAccounts_label_en-US" xlink:label="lab_us-gaap_ProvisionForDoubtfulAccounts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, Credit Loss Expense (Reversal)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProvisionForDoubtfulAccounts" xlink:to="lab_us-gaap_ProvisionForDoubtfulAccounts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_4b576a6d-b94f-4ad6-aeba-592e56c979f7_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cancelled/forfeited (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross_e20bf717-474f-4587-88b2-cce30fb7a051_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting of restricted stock units</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Value, Restricted Stock Award, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesLeasingArrangements_58a74f5c-0bcd-4dbe-bc7e-24a682a73eda_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesLeasingArrangements" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Right-of-use asset</link:label>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesLeasingArrangements_label_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesLeasingArrangements" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, Leasing Arrangements</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesLeasingArrangements" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesLeasingArrangements"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesLeasingArrangements" xlink:to="lab_us-gaap_DeferredTaxLiabilitiesLeasingArrangements" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxExpenseBenefit_13bb7c0c-3bb8-4433-894b-311f6898af2a_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred income taxes</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventTypeAxis_7e120e39-15ba-44e4-a055-7207db8c6e46_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event Type [Axis]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventTypeAxis_label_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventTypeAxis" xlink:to="lab_us-gaap_SubsequentEventTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromStockOptionsExercised_a4173df7-235a-4a12-ae36-8db22a402bf0_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from exercise of vested stock options</link:label>
    <link:label id="lab_us-gaap_ProceedsFromStockOptionsExercised_label_en-US" xlink:label="lab_us-gaap_ProceedsFromStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Stock Options Exercised</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromStockOptionsExercised" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromStockOptionsExercised"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromStockOptionsExercised" xlink:to="lab_us-gaap_ProceedsFromStockOptionsExercised" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MunicipalNotesMember_8dcba59f-af05-42f4-8d6c-905a52f9ac67_terseLabel_en-US" xlink:label="lab_us-gaap_MunicipalNotesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Municipal securities</link:label>
    <link:label id="lab_us-gaap_MunicipalNotesMember_label_en-US" xlink:label="lab_us-gaap_MunicipalNotesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Municipal Notes [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MunicipalNotesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MunicipalNotesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MunicipalNotesMember" xlink:to="lab_us-gaap_MunicipalNotesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_SignalSciences2014EquityStockOptionsPlanMember_519ac49d-e2a3-404e-83ad-b4b1235697ba_terseLabel_en-US" xlink:label="lab_fsly_SignalSciences2014EquityStockOptionsPlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Signal Sciences 2014 Equity Stock Options Plan</link:label>
    <link:label id="lab_fsly_SignalSciences2014EquityStockOptionsPlanMember_label_en-US" xlink:label="lab_fsly_SignalSciences2014EquityStockOptionsPlanMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Signal Sciences 2014 Equity Stock Options Plan [Member]</link:label>
    <link:label id="lab_fsly_SignalSciences2014EquityStockOptionsPlanMember_documentation_en-US" xlink:label="lab_fsly_SignalSciences2014EquityStockOptionsPlanMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Signal Sciences 2014 Equity Stock Options Plan</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_SignalSciences2014EquityStockOptionsPlanMember" xlink:href="fsly-20231231.xsd#fsly_SignalSciences2014EquityStockOptionsPlanMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_SignalSciences2014EquityStockOptionsPlanMember" xlink:to="lab_fsly_SignalSciences2014EquityStockOptionsPlanMember" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_DebtInstrumentFaceAmountAdditionalPrincipalIssuable_5fdc2feb-9cc9-4a5a-9298-d8e3321107c2_terseLabel_en-US" xlink:label="lab_fsly_DebtInstrumentFaceAmountAdditionalPrincipalIssuable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt instrument, face amount, additional principal issuable</link:label>
    <link:label id="lab_fsly_DebtInstrumentFaceAmountAdditionalPrincipalIssuable_label_en-US" xlink:label="lab_fsly_DebtInstrumentFaceAmountAdditionalPrincipalIssuable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Face Amount, Additional Principal Issuable</link:label>
    <link:label id="lab_fsly_DebtInstrumentFaceAmountAdditionalPrincipalIssuable_documentation_en-US" xlink:label="lab_fsly_DebtInstrumentFaceAmountAdditionalPrincipalIssuable" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Face Amount, Additional Principal Issuable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DebtInstrumentFaceAmountAdditionalPrincipalIssuable" xlink:href="fsly-20231231.xsd#fsly_DebtInstrumentFaceAmountAdditionalPrincipalIssuable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_DebtInstrumentFaceAmountAdditionalPrincipalIssuable" xlink:to="lab_fsly_DebtInstrumentFaceAmountAdditionalPrincipalIssuable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OrderOrProductionBacklogMember_eed122db-40de-4f6b-aa08-3998818cdd00_terseLabel_en-US" xlink:label="lab_us-gaap_OrderOrProductionBacklogMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Backlog</link:label>
    <link:label id="lab_us-gaap_OrderOrProductionBacklogMember_label_en-US" xlink:label="lab_us-gaap_OrderOrProductionBacklogMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Order or Production Backlog [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrderOrProductionBacklogMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrderOrProductionBacklogMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OrderOrProductionBacklogMember" xlink:to="lab_us-gaap_OrderOrProductionBacklogMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConvertibleDebtMember_6f606a5f-015c-49fb-a881-e21bceeeefcf_terseLabel_en-US" xlink:label="lab_us-gaap_ConvertibleDebtMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Convertible Debt</link:label>
    <link:label id="lab_us-gaap_ConvertibleDebtMember_label_en-US" xlink:label="lab_us-gaap_ConvertibleDebtMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Convertible Debt [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertibleDebtMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConvertibleDebtMember" xlink:to="lab_us-gaap_ConvertibleDebtMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseLiability_071af3c4-386a-4e77-8ab7-8bdc77878d32_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total liability</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseLiability_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiability" xlink:to="lab_us-gaap_FinanceLeaseLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentFinStmtErrorCorrectionFlag_fe271127-4b79-4dfd-a8b3-06296f6b9f97_terseLabel_en-US" xlink:label="lab_dei_DocumentFinStmtErrorCorrectionFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Financial Statement Error Correction Flag</link:label>
    <link:label id="lab_dei_DocumentFinStmtErrorCorrectionFlag_label_en-US" xlink:label="lab_dei_DocumentFinStmtErrorCorrectionFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Financial Statement Error Correction [Flag]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFinStmtErrorCorrectionFlag" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFinStmtErrorCorrectionFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFinStmtErrorCorrectionFlag" xlink:to="lab_dei_DocumentFinStmtErrorCorrectionFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_f40e8e17-979a-4aca-b5eb-ac19b43880aa_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cancelled/forfeited (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_ShareBasedPaymentArrangementPerformanceTargetDomain_9a761255-4b17-463a-8691-4f6a5c689b1a_terseLabel_en-US" xlink:label="lab_fsly_ShareBasedPaymentArrangementPerformanceTargetDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Performance Target [Domain]</link:label>
    <link:label id="lab_fsly_ShareBasedPaymentArrangementPerformanceTargetDomain_label_en-US" xlink:label="lab_fsly_ShareBasedPaymentArrangementPerformanceTargetDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Performance Target [Domain]</link:label>
    <link:label id="lab_fsly_ShareBasedPaymentArrangementPerformanceTargetDomain_documentation_en-US" xlink:label="lab_fsly_ShareBasedPaymentArrangementPerformanceTargetDomain" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Performance Target [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ShareBasedPaymentArrangementPerformanceTargetDomain" xlink:href="fsly-20231231.xsd#fsly_ShareBasedPaymentArrangementPerformanceTargetDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_ShareBasedPaymentArrangementPerformanceTargetDomain" xlink:to="lab_fsly_ShareBasedPaymentArrangementPerformanceTargetDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharePrice_d1654c2a-bd06-4ac2-b5e4-864934524827_terseLabel_en-US" xlink:label="lab_us-gaap_SharePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair value of common stock (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_SharePrice_label_en-US" xlink:label="lab_us-gaap_SharePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharePrice" xlink:to="lab_us-gaap_SharePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_UnconditionalPurchaseObligationCategoryOfGoodsOrServicesAcquiredDomain_c2149a32-98c5-48a6-82bb-d8d420709c93_terseLabel_en-US" xlink:label="lab_us-gaap_UnconditionalPurchaseObligationCategoryOfGoodsOrServicesAcquiredDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unconditional Purchase Obligation, Category of Goods or Services Acquired [Domain]</link:label>
    <link:label id="lab_us-gaap_UnconditionalPurchaseObligationCategoryOfGoodsOrServicesAcquiredDomain_label_en-US" xlink:label="lab_us-gaap_UnconditionalPurchaseObligationCategoryOfGoodsOrServicesAcquiredDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unconditional Purchase Obligation, Category of Goods or Services Acquired [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnconditionalPurchaseObligationCategoryOfGoodsOrServicesAcquiredDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnconditionalPurchaseObligationCategoryOfGoodsOrServicesAcquiredDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnconditionalPurchaseObligationCategoryOfGoodsOrServicesAcquiredDomain" xlink:to="lab_us-gaap_UnconditionalPurchaseObligationCategoryOfGoodsOrServicesAcquiredDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_932c7b06-cb3e-426e-b87c-6539e96d1d2c_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from sale of property and equipment</link:label>
    <link:label id="lab_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_label_en-US" xlink:label="lab_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Sale of Property, Plant, and Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:to="lab_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentsIncorporatedByReferenceTextBlock_a05a2613-a4cf-41b8-9121-7c063e83dac8_terseLabel_en-US" xlink:label="lab_dei_DocumentsIncorporatedByReferenceTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Documents Incorporated by Reference</link:label>
    <link:label id="lab_dei_DocumentsIncorporatedByReferenceTextBlock_label_en-US" xlink:label="lab_dei_DocumentsIncorporatedByReferenceTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Documents Incorporated by Reference [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentsIncorporatedByReferenceTextBlock" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentsIncorporatedByReferenceTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentsIncorporatedByReferenceTextBlock" xlink:to="lab_dei_DocumentsIncorporatedByReferenceTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentPeriodEndDate_ee951939-657c-4c5a-9821-ae7004c7113a_terseLabel_en-US" xlink:label="lab_dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Period End Date</link:label>
    <link:label id="lab_dei_DocumentPeriodEndDate_label_en-US" xlink:label="lab_dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Period End Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentPeriodEndDate" xlink:to="lab_dei_DocumentPeriodEndDate" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_TrdArrAdoptionDate_terseLabel_en-US" xlink:label="lab_ecd_TrdArrAdoptionDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adoption Date</link:label>
    <link:label id="lab_ecd_TrdArrAdoptionDate_label_en-US" xlink:label="lab_ecd_TrdArrAdoptionDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Arrangement Adoption Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrAdoptionDate" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrAdoptionDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_TrdArrAdoptionDate" xlink:to="lab_ecd_TrdArrAdoptionDate" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_SVBRevolverMember_8fbda59b-3692-4449-9b52-1dc92452754c_terseLabel_en-US" xlink:label="lab_fsly_SVBRevolverMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SVB Revolver</link:label>
    <link:label id="lab_fsly_SVBRevolverMember_label_en-US" xlink:label="lab_fsly_SVBRevolverMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SVB Revolver [Member]</link:label>
    <link:label id="lab_fsly_SVBRevolverMember_documentation_en-US" xlink:label="lab_fsly_SVBRevolverMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SVB Revolver</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_SVBRevolverMember" xlink:href="fsly-20231231.xsd#fsly_SVBRevolverMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_SVBRevolverMember" xlink:to="lab_fsly_SVBRevolverMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PurchaseObligationDueAfterFifthYear_20dca5c1-d8a0-40fc-a716-755ac1b48ccf_terseLabel_en-US" xlink:label="lab_us-gaap_PurchaseObligationDueAfterFifthYear" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Thereafter</link:label>
    <link:label id="lab_us-gaap_PurchaseObligationDueAfterFifthYear_label_en-US" xlink:label="lab_us-gaap_PurchaseObligationDueAfterFifthYear" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase Obligation, to be Paid, after Year Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueAfterFifthYear" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueAfterFifthYear"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PurchaseObligationDueAfterFifthYear" xlink:to="lab_us-gaap_PurchaseObligationDueAfterFifthYear" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent_9e5d0af8-5fd5-44b2-87c4-f0bf1e903217_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance leases</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Weighted Average Discount Rate, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:to="lab_us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityNoncurrent_9c831986-b1f5-461f-a1f3-21a9fcb2cb31_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance lease liabilities, non-current</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityNoncurrent_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Liability, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:to="lab_us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_985e1c04-55b9-4cce-8de6-bb46cfda2089_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Allowance for Doubtful Accounts</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:to="lab_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_5df9b0c2-f6ff-4287-8256-158f70404bed_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">(Gain) loss on disposals of property and equipment</link:label>
    <link:label id="lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_label_en-US" xlink:label="lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gain (Loss) on Disposition of Property Plant Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:to="lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_7d32310b-d417-4068-83cb-588f1aab060c_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income tax expense (benefit)</link:label>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_b34b2878-5e94-4901-8b51-dff2fa6c236b_totalLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income tax expense (benefit)</link:label>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NonUsMember_cd2feec1-581b-4dee-b8ba-20c508ec4c3f_terseLabel_en-US" xlink:label="lab_us-gaap_NonUsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">All other countries</link:label>
    <link:label id="lab_us-gaap_NonUsMember_label_en-US" xlink:label="lab_us-gaap_NonUsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-US [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NonUsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonUsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NonUsMember" xlink:to="lab_us-gaap_NonUsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_1b0f515b-dd89-4b12-8437-f129fc5dd1a7_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Write-offs and adjustments</link:label>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_label_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss, Writeoff</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:to="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_VestingAxis_80af7a96-3f75-4287-aac3-8590a20f6217_terseLabel_en-US" xlink:label="lab_us-gaap_VestingAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting [Axis]</link:label>
    <link:label id="lab_us-gaap_VestingAxis_label_en-US" xlink:label="lab_us-gaap_VestingAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VestingAxis" xlink:to="lab_us-gaap_VestingAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueDisclosuresTextBlock_c5e4c0d7-f4e0-491e-ab8d-5f5538c1cd28_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investments and Fair Value Measurements</link:label>
    <link:label id="lab_us-gaap_FairValueDisclosuresTextBlock_label_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Disclosures [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueDisclosuresTextBlock" xlink:to="lab_us-gaap_FairValueDisclosuresTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NumberOfOperatingSegments_6a051e15-1e82-4adc-b7d1-bbc55ee0a79a_terseLabel_en-US" xlink:label="lab_us-gaap_NumberOfOperatingSegments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of operating segments</link:label>
    <link:label id="lab_us-gaap_NumberOfOperatingSegments_label_en-US" xlink:label="lab_us-gaap_NumberOfOperatingSegments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of Operating Segments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfOperatingSegments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfOperatingSegments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NumberOfOperatingSegments" xlink:to="lab_us-gaap_NumberOfOperatingSegments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_c7727297-374e-4db8-a70c-552fa066a923_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-sale [Line Items]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_a546472e-9c58-4c50-ae79-6d385d0180b8_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating leases</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Weighted Average Remaining Lease Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_CostOfRevenueCommitmentMember_6e2ac3d7-03a9-47fb-bd3d-aac61205ccdb_terseLabel_en-US" xlink:label="lab_fsly_CostOfRevenueCommitmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of Revenue Commitments</link:label>
    <link:label id="lab_fsly_CostOfRevenueCommitmentMember_label_en-US" xlink:label="lab_fsly_CostOfRevenueCommitmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost Of Revenue Commitment [Member]</link:label>
    <link:label id="lab_fsly_CostOfRevenueCommitmentMember_documentation_en-US" xlink:label="lab_fsly_CostOfRevenueCommitmentMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost Of Revenue Commitment [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_CostOfRevenueCommitmentMember" xlink:href="fsly-20231231.xsd#fsly_CostOfRevenueCommitmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_CostOfRevenueCommitmentMember" xlink:to="lab_fsly_CostOfRevenueCommitmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock_terseLabel_en-US" xlink:label="lab_ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Compensation Actually Paid vs. Company Selected Measure</link:label>
    <link:label id="lab_ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock_label_en-US" xlink:label="lab_ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Compensation Actually Paid vs. Company Selected Measure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:to="lab_ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MoneyMarketFundsMember_d56ee324-cb94-45a9-bc3e-cab9207f9e84_terseLabel_en-US" xlink:label="lab_us-gaap_MoneyMarketFundsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Money market funds</link:label>
    <link:label id="lab_us-gaap_MoneyMarketFundsMember_label_en-US" xlink:label="lab_us-gaap_MoneyMarketFundsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Money Market Funds [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MoneyMarketFundsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MoneyMarketFundsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MoneyMarketFundsMember" xlink:to="lab_us-gaap_MoneyMarketFundsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_DebtConversionScenarioTwoMember_66ef1c06-3336-4b5b-9a56-32280d1cb28f_terseLabel_en-US" xlink:label="lab_fsly_DebtConversionScenarioTwoMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Holder Conversion Option One</link:label>
    <link:label id="lab_fsly_DebtConversionScenarioTwoMember_label_en-US" xlink:label="lab_fsly_DebtConversionScenarioTwoMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Conversion, Scenario Two [Member]</link:label>
    <link:label id="lab_fsly_DebtConversionScenarioTwoMember_documentation_en-US" xlink:label="lab_fsly_DebtConversionScenarioTwoMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Conversion, Scenario Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DebtConversionScenarioTwoMember" xlink:href="fsly-20231231.xsd#fsly_DebtConversionScenarioTwoMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_DebtConversionScenarioTwoMember" xlink:to="lab_fsly_DebtConversionScenarioTwoMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock_83579357-5438-44bb-863b-fc0f7acb0c8e_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Employee Stock Purchase Plan Valuation Assumptions</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Share-Based Payment Award, Employee Stock Purchase Plan, Valuation Assumptions [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TaxCreditCarryforwardAmount_a28cfa81-31e4-4d8c-8c46-c34ee45b2f39_terseLabel_en-US" xlink:label="lab_us-gaap_TaxCreditCarryforwardAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tax credit carryforward</link:label>
    <link:label id="lab_us-gaap_TaxCreditCarryforwardAmount_label_en-US" xlink:label="lab_us-gaap_TaxCreditCarryforwardAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tax Credit Carryforward, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxCreditCarryforwardAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxCreditCarryforwardAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TaxCreditCarryforwardAmount" xlink:to="lab_us-gaap_TaxCreditCarryforwardAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_f7f256e8-ca27-4317-8ee5-541aec4391d7_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and cash equivalents</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_ffd497ba-9e04-4151-9a7e-0bf3c3b6819a_netLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2009/role/netLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total cash and cash equivalents</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents, at Carrying Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_50ed0f27-0f36-4390-b798-4bf9fef43ece_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business acquisitions, net of cash acquired</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Acquire Businesses, Net of Cash Acquired</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:to="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_af65d305-6092-419d-9d88-cec6855e4524_verboseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basis spread on variable rate</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Basis Spread on Variable Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:to="lab_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife_9b15a5ae-f543-4d3b-9a3e-96bb5a7aba24_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and equipment, useful life (in years)</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Useful Life</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_CompActuallyPaidVsOtherMeasureTextBlock_terseLabel_en-US" xlink:label="lab_ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Compensation Actually Paid vs. Other Measure</link:label>
    <link:label id="lab_ecd_CompActuallyPaidVsOtherMeasureTextBlock_label_en-US" xlink:label="lab_ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Compensation Actually Paid vs. Other Measure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CompActuallyPaidVsOtherMeasureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:to="lab_ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_07f2c90b-03e7-47da-a572-683839d7945f_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Change in valuation allowance</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SoftwareDevelopmentMember_6bb7e8ee-26e2-4e37-a443-e2eb0cf68339_terseLabel_en-US" xlink:label="lab_us-gaap_SoftwareDevelopmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Internal-use software</link:label>
    <link:label id="lab_us-gaap_SoftwareDevelopmentMember_label_en-US" xlink:label="lab_us-gaap_SoftwareDevelopmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Software Development [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SoftwareDevelopmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SoftwareDevelopmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SoftwareDevelopmentMember" xlink:to="lab_us-gaap_SoftwareDevelopmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsUnrestrictedCashAndCashEquivalentsPolicy_6351ef92-423f-47b2-93d6-84d9b4d49b4c_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsUnrestrictedCashAndCashEquivalentsPolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsUnrestrictedCashAndCashEquivalentsPolicy_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsUnrestrictedCashAndCashEquivalentsPolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents, Unrestricted Cash and Cash Equivalents, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsUnrestrictedCashAndCashEquivalentsPolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsUnrestrictedCashAndCashEquivalentsPolicy"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsUnrestrictedCashAndCashEquivalentsPolicy" xlink:to="lab_us-gaap_CashAndCashEquivalentsUnrestrictedCashAndCashEquivalentsPolicy" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_4a5122ef-bc6d-46ab-9dd0-4cb7fced4275_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Contract Assets and Liabilities</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:to="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability_88b2696e-12da-4d77-a8c4-7a2049440114_verboseLabel_en-US" xlink:label="lab_us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets obtained in exchange for finance lease obligations</link:label>
    <link:label id="lab_us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability_label_en-US" xlink:label="lab_us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Right-of-Use Asset Obtained in Exchange for Finance Lease Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:to="lab_us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_70b13cb9-a52d-4dd7-abd7-949d511aecdd_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less: imputed interest</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Liability, Undiscounted Excess Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:to="lab_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerTextBlock_9620b00e-4051-4cad-bbe0-427713ec71b6_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerTextBlock_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_SignalSciencesCorpMember_4b7afed9-bf01-4c23-abcf-c8302c88e901_terseLabel_en-US" xlink:label="lab_fsly_SignalSciencesCorpMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Signal Sciences Corp</link:label>
    <link:label id="lab_fsly_SignalSciencesCorpMember_label_en-US" xlink:label="lab_fsly_SignalSciencesCorpMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Signal Sciences Corp [Member]</link:label>
    <link:label id="lab_fsly_SignalSciencesCorpMember_documentation_en-US" xlink:label="lab_fsly_SignalSciencesCorpMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Signal Sciences Corp</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_SignalSciencesCorpMember" xlink:href="fsly-20231231.xsd#fsly_SignalSciencesCorpMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_SignalSciencesCorpMember" xlink:to="lab_fsly_SignalSciencesCorpMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_44e4b059-4fee-4b7a-aba5-4c5560cbab00_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid-in Capital</link:label>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid-in Capital [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapitalMember" xlink:to="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentAnnualReport_50e9870c-e902-4961-9163-580f1921777a_terseLabel_en-US" xlink:label="lab_dei_DocumentAnnualReport" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Annual Report</link:label>
    <link:label id="lab_dei_DocumentAnnualReport_label_en-US" xlink:label="lab_dei_DocumentAnnualReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Annual Report</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentAnnualReport" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAnnualReport"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentAnnualReport" xlink:to="lab_dei_DocumentAnnualReport" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CoverAbstract_5a1560d0-3e97-4386-a86b-2f63a7bf2873_terseLabel_en-US" xlink:label="lab_dei_CoverAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cover [Abstract]</link:label>
    <link:label id="lab_dei_CoverAbstract_label_en-US" xlink:label="lab_dei_CoverAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cover [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CoverAbstract" xlink:to="lab_dei_CoverAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventsTextBlock_cdef95c6-6bcf-4127-a68e-464b61fec0b2_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event</link:label>
    <link:label id="lab_us-gaap_SubsequentEventsTextBlock_label_en-US" xlink:label="lab_us-gaap_SubsequentEventsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Events [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventsTextBlock" xlink:to="lab_us-gaap_SubsequentEventsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_country_US_396b4a4a-c446-41a9-a1aa-8bcd3b378ebb_terseLabel_en-US" xlink:label="lab_country_US" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">United States</link:label>
    <link:label id="lab_country_US_label_en-US" xlink:label="lab_country_US" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">UNITED STATES</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_country_US" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_country_US" xlink:to="lab_country_US" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TaxCreditCarryforwardNameDomain_cca68ec1-0ad1-4605-abbb-8fbb3e1d0528_terseLabel_en-US" xlink:label="lab_us-gaap_TaxCreditCarryforwardNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tax Credit Carryforward, Name [Domain]</link:label>
    <link:label id="lab_us-gaap_TaxCreditCarryforwardNameDomain_label_en-US" xlink:label="lab_us-gaap_TaxCreditCarryforwardNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tax Credit Carryforward, Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxCreditCarryforwardNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxCreditCarryforwardNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TaxCreditCarryforwardNameDomain" xlink:to="lab_us-gaap_TaxCreditCarryforwardNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherCurrentLiabilitiesTableTextBlock_6f9d2b83-eaf2-452f-88f0-df4f0e90864b_terseLabel_en-US" xlink:label="lab_us-gaap_OtherCurrentLiabilitiesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Other Current Liabilities</link:label>
    <link:label id="lab_us-gaap_OtherCurrentLiabilitiesTableTextBlock_label_en-US" xlink:label="lab_us-gaap_OtherCurrentLiabilitiesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Current Liabilities [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherCurrentLiabilitiesTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherCurrentLiabilitiesTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherCurrentLiabilitiesTableTextBlock" xlink:to="lab_us-gaap_OtherCurrentLiabilitiesTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherLiabilitiesNoncurrent_98c09ef7-45cf-4d80-a1af-381ae73c7c9e_terseLabel_en-US" xlink:label="lab_us-gaap_OtherLiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other long-term liabilities</link:label>
    <link:label id="lab_us-gaap_OtherLiabilitiesNoncurrent_label_en-US" xlink:label="lab_us-gaap_OtherLiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Liabilities, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherLiabilitiesNoncurrent" xlink:to="lab_us-gaap_OtherLiabilitiesNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_85553140-5c9c-4ade-934f-7ae2db5b7ad6_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forfeited (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_2bba6c60-b58c-4443-92d7-a4aaf139d693_totalLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total future minimum lease payments</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligation_d289b812-31f7-416c-83c2-f33249ed2244_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Remaining performance obligation</link:label>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligation_label_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligation" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligation" xlink:to="lab_us-gaap_RevenueRemainingPerformanceObligation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingExpenses_9c66c423-2c67-407b-97a8-da6b31db81ec_totalLabel_en-US" xlink:label="lab_us-gaap_OperatingExpenses" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total operating expenses</link:label>
    <link:label id="lab_us-gaap_OperatingExpenses_label_en-US" xlink:label="lab_us-gaap_OperatingExpenses" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Expenses</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingExpenses" xlink:to="lab_us-gaap_OperatingExpenses" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseRightOfUseAssetAmortization_29c63bc2-9141-4813-9d2e-13a23bde1959_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of assets under finance lease</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseRightOfUseAssetAmortization_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Right-of-Use Asset, Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:to="lab_us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentReportingDisclosureTextBlock_4488baa6-80ff-49b9-852b-5a54c4bca101_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Information About Revenue and Geographic Areas</link:label>
    <link:label id="lab_us-gaap_SegmentReportingDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_SegmentReportingDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="lab_us-gaap_SegmentReportingDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_48d920f1-0e5d-451c-962a-636d739ffd9c_totalLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net increase (decrease) in cash, cash equivalents, and restricted cash</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_label_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_SharebasedCompensationArrangementbySharebasedPaymentAwardStockPlanOfferingPeriod_bc446fc3-f3e6-4da3-a6bc-043ab33d9576_terseLabel_en-US" xlink:label="lab_fsly_SharebasedCompensationArrangementbySharebasedPaymentAwardStockPlanOfferingPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock plan offering period</link:label>
    <link:label id="lab_fsly_SharebasedCompensationArrangementbySharebasedPaymentAwardStockPlanOfferingPeriod_label_en-US" xlink:label="lab_fsly_SharebasedCompensationArrangementbySharebasedPaymentAwardStockPlanOfferingPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Stock Plan Offering Period</link:label>
    <link:label id="lab_fsly_SharebasedCompensationArrangementbySharebasedPaymentAwardStockPlanOfferingPeriod_documentation_en-US" xlink:label="lab_fsly_SharebasedCompensationArrangementbySharebasedPaymentAwardStockPlanOfferingPeriod" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Stock Plan Offering Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_SharebasedCompensationArrangementbySharebasedPaymentAwardStockPlanOfferingPeriod" xlink:href="fsly-20231231.xsd#fsly_SharebasedCompensationArrangementbySharebasedPaymentAwardStockPlanOfferingPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_SharebasedCompensationArrangementbySharebasedPaymentAwardStockPlanOfferingPeriod" xlink:to="lab_fsly_SharebasedCompensationArrangementbySharebasedPaymentAwardStockPlanOfferingPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EquityComponentDomain_2603bb57-efa8-46f5-9e28-464aacdddce5_terseLabel_en-US" xlink:label="lab_us-gaap_EquityComponentDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:label id="lab_us-gaap_EquityComponentDomain_label_en-US" xlink:label="lab_us-gaap_EquityComponentDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityComponentDomain" xlink:to="lab_us-gaap_EquityComponentDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityCurrent_5c524641-5953-441b-974d-4e9db9794368_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance lease liabilities, current</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityCurrent_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Liability, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiabilityCurrent" xlink:to="lab_us-gaap_FinanceLeaseLiabilityCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_fb1c7c6e-28db-446b-b884-659bf53bfe9b_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase price of common stock, percentage of fair value</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Purchase Price of Common Stock, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StateAndLocalJurisdictionMember_810905d9-88a5-4eed-8e97-9bd4c1570357_terseLabel_en-US" xlink:label="lab_us-gaap_StateAndLocalJurisdictionMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">State</link:label>
    <link:label id="lab_us-gaap_StateAndLocalJurisdictionMember_label_en-US" xlink:label="lab_us-gaap_StateAndLocalJurisdictionMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">State and Local Jurisdiction [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StateAndLocalJurisdictionMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StateAndLocalJurisdictionMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StateAndLocalJurisdictionMember" xlink:to="lab_us-gaap_StateAndLocalJurisdictionMember" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_PropertyPlantAndEquipmentAdvancePaymentsMember_dc7b738f-32cf-4284-a32e-f25741e2b374_terseLabel_en-US" xlink:label="lab_fsly_PropertyPlantAndEquipmentAdvancePaymentsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant And Equipment, Advance Payments</link:label>
    <link:label id="lab_fsly_PropertyPlantAndEquipmentAdvancePaymentsMember_label_en-US" xlink:label="lab_fsly_PropertyPlantAndEquipmentAdvancePaymentsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant And Equipment, Advance Payments [Member]</link:label>
    <link:label id="lab_fsly_PropertyPlantAndEquipmentAdvancePaymentsMember_documentation_en-US" xlink:label="lab_fsly_PropertyPlantAndEquipmentAdvancePaymentsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant And Equipment, Advance Payments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_PropertyPlantAndEquipmentAdvancePaymentsMember" xlink:href="fsly-20231231.xsd#fsly_PropertyPlantAndEquipmentAdvancePaymentsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_PropertyPlantAndEquipmentAdvancePaymentsMember" xlink:to="lab_fsly_PropertyPlantAndEquipmentAdvancePaymentsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_NonGaapMeasureDescriptionTextBlock_terseLabel_en-US" xlink:label="lab_ecd_NonGaapMeasureDescriptionTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-GAAP Measure Description</link:label>
    <link:label id="lab_ecd_NonGaapMeasureDescriptionTextBlock_label_en-US" xlink:label="lab_ecd_NonGaapMeasureDescriptionTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-GAAP Measure Description [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonGaapMeasureDescriptionTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonGaapMeasureDescriptionTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_NonGaapMeasureDescriptionTextBlock" xlink:to="lab_ecd_NonGaapMeasureDescriptionTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCurrentReportingStatus_f3997557-550e-47b8-a4ba-c958da70d7a5_terseLabel_en-US" xlink:label="lab_dei_EntityCurrentReportingStatus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:label id="lab_dei_EntityCurrentReportingStatus_label_en-US" xlink:label="lab_dei_EntityCurrentReportingStatus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCurrentReportingStatus" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCurrentReportingStatus" xlink:to="lab_dei_EntityCurrentReportingStatus" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_LondonInterbankOfferedRateMember_049c593e-1358-4f84-a438-807f12096fe8_terseLabel_en-US" xlink:label="lab_fsly_LondonInterbankOfferedRateMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">London Interbank Offered Rate</link:label>
    <link:label id="lab_fsly_LondonInterbankOfferedRateMember_label_en-US" xlink:label="lab_fsly_LondonInterbankOfferedRateMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">London Interbank Offered Rate [Member]</link:label>
    <link:label id="lab_fsly_LondonInterbankOfferedRateMember_documentation_en-US" xlink:label="lab_fsly_LondonInterbankOfferedRateMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">London Interbank Offered Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_LondonInterbankOfferedRateMember" xlink:href="fsly-20231231.xsd#fsly_LondonInterbankOfferedRateMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_LondonInterbankOfferedRateMember" xlink:to="lab_fsly_LondonInterbankOfferedRateMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskTypeDomain_a5ad6579-750d-40cb-a957-7ce513d6865d_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Type [Domain]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskTypeDomain_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskTypeDomain" xlink:to="lab_us-gaap_ConcentrationRiskTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_77d0dd2f-a944-4392-ac92-861d976c9771_totalLabel_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss from operations</link:label>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_label_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Income (Loss)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingIncomeLoss" xlink:to="lab_us-gaap_OperatingIncomeLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OfficeEquipmentMember_32372fc3-905a-4d86-b8d4-d283ab9a902b_terseLabel_en-US" xlink:label="lab_us-gaap_OfficeEquipmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Office equipment</link:label>
    <link:label id="lab_us-gaap_OfficeEquipmentMember_label_en-US" xlink:label="lab_us-gaap_OfficeEquipmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Office Equipment [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OfficeEquipmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OfficeEquipmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OfficeEquipmentMember" xlink:to="lab_us-gaap_OfficeEquipmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_BrettShirkMember_label_en-US" xlink:label="lab_fsly_BrettShirkMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Brett Shirk [Member]</link:label>
    <link:label id="lab_fsly_BrettShirkMember_documentation_en-US" xlink:label="lab_fsly_BrettShirkMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Brett Shirk</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_BrettShirkMember" xlink:href="fsly-20231231.xsd#fsly_BrettShirkMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_BrettShirkMember" xlink:to="lab_fsly_BrettShirkMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxLiabilities_b2cb9c4e-4569-45b1-9db4-5a2adfa39856_negatedTotalLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilities" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred tax liabilities</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxLiabilities_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilities" xlink:to="lab_us-gaap_DeferredIncomeTaxLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedContractCostDomain_193246fe-23d5-44aa-bcfc-e80367388c1d_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost [Domain]</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostDomain_label_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedContractCostDomain" xlink:to="lab_us-gaap_CapitalizedContractCostDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_3d788068-dd01-4cf9-b7fe-343382b138f8_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and Equipment</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_c7a3c21f-cb09-4985-b698-41d4bd01199a_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other comprehensive loss:</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Net of Tax [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_9431fde7-2eab-4490-86cf-60a096b4b9cc_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Option Activity, Additional Disclosures</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Additional Disclosures [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt_terseLabel_en-US" xlink:label="lab_ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forgone Recovery due to Disqualification of Tax Benefits, Amount</link:label>
    <link:label id="lab_ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt_label_en-US" xlink:label="lab_ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forgone Recovery due to Disqualification of Tax Benefits, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:to="lab_ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AwardsCloseToMnpiDiscTable_terseLabel_en-US" xlink:label="lab_ecd_AwardsCloseToMnpiDiscTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Awards Close in Time to MNPI Disclosures</link:label>
    <link:label id="lab_ecd_AwardsCloseToMnpiDiscTable_label_en-US" xlink:label="lab_ecd_AwardsCloseToMnpiDiscTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Awards Close in Time to MNPI Disclosures [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardsCloseToMnpiDiscTable" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardsCloseToMnpiDiscTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardsCloseToMnpiDiscTable" xlink:to="lab_ecd_AwardsCloseToMnpiDiscTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCredit_556631b5-44a4-4183-81e9-efccd22bf853_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCredit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amount of debt outstanding</link:label>
    <link:label id="lab_us-gaap_LineOfCredit_label_en-US" xlink:label="lab_us-gaap_LineOfCredit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Line of Credit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCredit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCredit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCredit" xlink:to="lab_us-gaap_LineOfCredit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CustomerRelationshipsMember_4d7c657c-0d95-4a4e-a2a8-9fd258cfa247_terseLabel_en-US" xlink:label="lab_us-gaap_CustomerRelationshipsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer relationships</link:label>
    <link:label id="lab_us-gaap_CustomerRelationshipsMember_label_en-US" xlink:label="lab_us-gaap_CustomerRelationshipsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer Relationships [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelationshipsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CustomerRelationshipsMember" xlink:to="lab_us-gaap_CustomerRelationshipsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationAwardTrancheOneMember_1671cccc-b81c-4792-b15c-22f26df30583_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">First Year</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationAwardTrancheOneMember_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Tranche One [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:to="lab_us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_InternetProtocolAddressesMember_25664247-c3c8-4319-ab78-2d8070a5c5ea_terseLabel_en-US" xlink:label="lab_fsly_InternetProtocolAddressesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Internet protocol addresses</link:label>
    <link:label id="lab_fsly_InternetProtocolAddressesMember_label_en-US" xlink:label="lab_fsly_InternetProtocolAddressesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Internet Protocol Addresses [Member]</link:label>
    <link:label id="lab_fsly_InternetProtocolAddressesMember_documentation_en-US" xlink:label="lab_fsly_InternetProtocolAddressesMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Internet Protocol Addresses [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_InternetProtocolAddressesMember" xlink:href="fsly-20231231.xsd#fsly_InternetProtocolAddressesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_InternetProtocolAddressesMember" xlink:to="lab_fsly_InternetProtocolAddressesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_VariableRateDomain_80a12ac6-c13c-4669-b872-a1c5e5fb778f_terseLabel_en-US" xlink:label="lab_us-gaap_VariableRateDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable Rate [Domain]</link:label>
    <link:label id="lab_us-gaap_VariableRateDomain_label_en-US" xlink:label="lab_us-gaap_VariableRateDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable Rate [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VariableRateDomain" xlink:to="lab_us-gaap_VariableRateDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_PayVsPerformanceDisclosureLineItems_label_en-US" xlink:label="lab_ecd_PayVsPerformanceDisclosureLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pay vs Performance Disclosure [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PayVsPerformanceDisclosureLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="lab_ecd_PayVsPerformanceDisclosureLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityVoluntaryFilers_d5ebe6ee-92e1-41a4-bb2b-c9c1950480fa_terseLabel_en-US" xlink:label="lab_dei_EntityVoluntaryFilers" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Voluntary Filers</link:label>
    <link:label id="lab_dei_EntityVoluntaryFilers_label_en-US" xlink:label="lab_dei_EntityVoluntaryFilers" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Voluntary Filers</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityVoluntaryFilers" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityVoluntaryFilers"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityVoluntaryFilers" xlink:to="lab_dei_EntityVoluntaryFilers" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_RangeMember_7864d59b-a9dc-4657-9f1e-8eefe25fe0cc_terseLabel_en-US" xlink:label="lab_srt_RangeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Domain]</link:label>
    <link:label id="lab_srt_RangeMember_label_en-US" xlink:label="lab_srt_RangeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RangeMember" xlink:to="lab_srt_RangeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_UndrlygSecurityMktPriceChngPct_terseLabel_en-US" xlink:label="lab_ecd_UndrlygSecurityMktPriceChngPct" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Underlying Security Market Price Change</link:label>
    <link:label id="lab_ecd_UndrlygSecurityMktPriceChngPct_label_en-US" xlink:label="lab_ecd_UndrlygSecurityMktPriceChngPct" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Underlying Security Market Price Change, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_UndrlygSecurityMktPriceChngPct" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_UndrlygSecurityMktPriceChngPct"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_UndrlygSecurityMktPriceChngPct" xlink:to="lab_ecd_UndrlygSecurityMktPriceChngPct" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_417b7720-ac64-47e6-9cfe-70262db8e6a9_verboseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1_49fb1c0d-48f1-4ac0-be71-8dd7531e9bca_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt instrument, convertible, threshold consecutive trading days</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Convertible, Threshold Consecutive Trading Days</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:to="lab_us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_BusinessCombinationConsiderationTransferredHoldbackCurrent_f679afe1-cedd-4293-8b9e-66482aa63e65_terseLabel_en-US" xlink:label="lab_fsly_BusinessCombinationConsiderationTransferredHoldbackCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Holdback payable</link:label>
    <link:label id="lab_fsly_BusinessCombinationConsiderationTransferredHoldbackCurrent_label_en-US" xlink:label="lab_fsly_BusinessCombinationConsiderationTransferredHoldbackCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Consideration Transferred, Holdback, Current</link:label>
    <link:label id="lab_fsly_BusinessCombinationConsiderationTransferredHoldbackCurrent_documentation_en-US" xlink:label="lab_fsly_BusinessCombinationConsiderationTransferredHoldbackCurrent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Consideration Transferred, Holdback, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_BusinessCombinationConsiderationTransferredHoldbackCurrent" xlink:href="fsly-20231231.xsd#fsly_BusinessCombinationConsiderationTransferredHoldbackCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_BusinessCombinationConsiderationTransferredHoldbackCurrent" xlink:to="lab_fsly_BusinessCombinationConsiderationTransferredHoldbackCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_e98edc60-d54a-442b-a999-f5c0ceab154c_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_898cfaef-27ad-4fd6-a86c-ed13624a02bf_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseRemainingLeaseTerm_5ad128d4-0282-40c7-a761-27c9318ab9d5_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseRemainingLeaseTerm" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Remaining lease terms, operating (in years)</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseRemainingLeaseTerm_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseRemainingLeaseTerm" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Remaining Lease Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseRemainingLeaseTerm" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseRemainingLeaseTerm"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseRemainingLeaseTerm" xlink:to="lab_us-gaap_LesseeOperatingLeaseRemainingLeaseTerm" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtDisclosureTextBlock_16f772a2-e44c-422b-9c20-905693bdb0cb_terseLabel_en-US" xlink:label="lab_us-gaap_DebtDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instruments</link:label>
    <link:label id="lab_us-gaap_DebtDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_DebtDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtDisclosureTextBlock" xlink:to="lab_us-gaap_DebtDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfStockholdersEquityAbstract_d053810c-8253-472e-92aa-cf15e3e00c6b_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfStockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpensePolicy_71e0004f-f4b0-411f-881b-008d0c8aef4d_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and Development Costs</link:label>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpensePolicy_label_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and Development Expense, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:to="lab_us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock_b7aacd96-9916-40cc-9274-6d10bbec8db0_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Cash, Cash Equivalents, and Marketable Securities</link:label>
    <link:label id="lab_us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents and Investments [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_352b7ba9-c458-4889-9a4b-2c79663f827f_terseLabel_en-US" xlink:label="lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effects of exchange rate changes on cash, cash equivalents, and restricted cash</link:label>
    <link:label id="lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_label_en-US" xlink:label="lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodGrantDateFairValue_74fc3b15-6740-4a64-9189-9ffd0c05e660_terseLabel_en-US" xlink:label="lab_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vested in period, grant date fair value</link:label>
    <link:label id="lab_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodGrantDateFairValue_label_en-US" xlink:label="lab_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Equity Instruments Other Than Options, Vested In Period, Grant Date Fair Value</link:label>
    <link:label id="lab_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodGrantDateFairValue_documentation_en-US" xlink:label="lab_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Equity Instruments Other Than Options, Vested In Period, Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodGrantDateFairValue" xlink:href="fsly-20231231.xsd#fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodGrantDateFairValue" xlink:to="lab_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_ShareBasedPaymentArrangementPlanModificationExerciseValueOfAwardsAffected_830e5351-a61d-4746-b191-0c6772f98de0_terseLabel_en-US" xlink:label="lab_fsly_ShareBasedPaymentArrangementPlanModificationExerciseValueOfAwardsAffected" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan modification, exercise value of awards affected</link:label>
    <link:label id="lab_fsly_ShareBasedPaymentArrangementPlanModificationExerciseValueOfAwardsAffected_label_en-US" xlink:label="lab_fsly_ShareBasedPaymentArrangementPlanModificationExerciseValueOfAwardsAffected" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Plan Modification, Exercise Value Of Awards Affected</link:label>
    <link:label id="lab_fsly_ShareBasedPaymentArrangementPlanModificationExerciseValueOfAwardsAffected_documentation_en-US" xlink:label="lab_fsly_ShareBasedPaymentArrangementPlanModificationExerciseValueOfAwardsAffected" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Plan Modification, Exercise Value Of Awards Affected</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ShareBasedPaymentArrangementPlanModificationExerciseValueOfAwardsAffected" xlink:href="fsly-20231231.xsd#fsly_ShareBasedPaymentArrangementPlanModificationExerciseValueOfAwardsAffected"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_ShareBasedPaymentArrangementPlanModificationExerciseValueOfAwardsAffected" xlink:to="lab_fsly_ShareBasedPaymentArrangementPlanModificationExerciseValueOfAwardsAffected" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_MnpiDiscTimedForCompValFlag_terseLabel_en-US" xlink:label="lab_ecd_MnpiDiscTimedForCompValFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">MNPI Disclosure Timed for Compensation Value</link:label>
    <link:label id="lab_ecd_MnpiDiscTimedForCompValFlag_label_en-US" xlink:label="lab_ecd_MnpiDiscTimedForCompValFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">MNPI Disclosure Timed for Compensation Value [Flag]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_MnpiDiscTimedForCompValFlag" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_MnpiDiscTimedForCompValFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_MnpiDiscTimedForCompValFlag" xlink:to="lab_ecd_MnpiDiscTimedForCompValFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PerformanceSharesMember_e5cea620-5f69-4efb-80b5-f2a0e9d05978_terseLabel_en-US" xlink:label="lab_us-gaap_PerformanceSharesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">PSUs</link:label>
    <link:label id="lab_us-gaap_PerformanceSharesMember_label_en-US" xlink:label="lab_us-gaap_PerformanceSharesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Shares [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PerformanceSharesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PerformanceSharesMember" xlink:to="lab_us-gaap_PerformanceSharesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentReportingAbstract_6590b343-0531-4bdf-8445-fb042a56bb65_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting [Abstract]</link:label>
    <link:label id="lab_us-gaap_SegmentReportingAbstract_label_en-US" xlink:label="lab_us-gaap_SegmentReportingAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingAbstract" xlink:to="lab_us-gaap_SegmentReportingAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsPayableCurrent_a16b6b20-ba09-4091-bb5a-4107c493957c_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts payable</link:label>
    <link:label id="lab_us-gaap_AccountsPayableCurrent_label_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Payable, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsPayableCurrent" xlink:to="lab_us-gaap_AccountsPayableCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ComputerEquipmentMember_b88ed723-3fd3-4fc9-8164-31c20f2b209f_terseLabel_en-US" xlink:label="lab_us-gaap_ComputerEquipmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Computer and networking equipment</link:label>
    <link:label id="lab_us-gaap_ComputerEquipmentMember_label_en-US" xlink:label="lab_us-gaap_ComputerEquipmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Computer Equipment [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComputerEquipmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerEquipmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComputerEquipmentMember" xlink:to="lab_us-gaap_ComputerEquipmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_RestatementDateAxis_terseLabel_en-US" xlink:label="lab_ecd_RestatementDateAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restatement Determination Date:</link:label>
    <link:label id="lab_ecd_RestatementDateAxis_label_en-US" xlink:label="lab_ecd_RestatementDateAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restatement Determination Date [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_RestatementDateAxis" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_RestatementDateAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_RestatementDateAxis" xlink:to="lab_ecd_RestatementDateAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CorporateDebtSecuritiesMember_0f21d7f6-91a5-49ac-a280-52171fd5f5ac_terseLabel_en-US" xlink:label="lab_us-gaap_CorporateDebtSecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Corporate notes and bonds</link:label>
    <link:label id="lab_us-gaap_CorporateDebtSecuritiesMember_label_en-US" xlink:label="lab_us-gaap_CorporateDebtSecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Corporate Debt Securities [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateDebtSecuritiesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CorporateDebtSecuritiesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CorporateDebtSecuritiesMember" xlink:to="lab_us-gaap_CorporateDebtSecuritiesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_8f4d0f26-08ca-46bc-b27c-8dc9f74a4bbc_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Provision at federal statutory tax rate</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommitmentsAndContingencies_e62d765b-b958-428e-9e0b-3b6c26738e37_terseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingencies" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and contingencies (Note&#160;10)</link:label>
    <link:label id="lab_us-gaap_CommitmentsAndContingencies_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingencies" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingencies" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingencies" xlink:to="lab_us-gaap_CommitmentsAndContingencies" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_f368dcdc-dcb5-403a-a190-913bd7c1e49a_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Leases</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Fiscal Year Maturity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="lab_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_StatementGeographicalAxis_80e01695-f229-4694-8360-8096d8f69f25_terseLabel_en-US" xlink:label="lab_srt_StatementGeographicalAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Geographical [Axis]</link:label>
    <link:label id="lab_srt_StatementGeographicalAxis_label_en-US" xlink:label="lab_srt_StatementGeographicalAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Geographical [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementGeographicalAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_StatementGeographicalAxis" xlink:to="lab_srt_StatementGeographicalAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1_588abe6d-b91d-4080-bdc7-5e4ea62aab2b_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Requisite service period (in years)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Award Requisite Service Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureTextBlock_435ea40a-2103-4923-a846-6900ee9252e2_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Taxes</link:label>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_AccruedComputerAndNetworkingEquipment_c85d8b74-3806-4967-a596-35649e112fbb_terseLabel_en-US" xlink:label="lab_fsly_AccruedComputerAndNetworkingEquipment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued computer and networking equipment</link:label>
    <link:label id="lab_fsly_AccruedComputerAndNetworkingEquipment_label_en-US" xlink:label="lab_fsly_AccruedComputerAndNetworkingEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Computer And Networking Equipment</link:label>
    <link:label id="lab_fsly_AccruedComputerAndNetworkingEquipment_documentation_en-US" xlink:label="lab_fsly_AccruedComputerAndNetworkingEquipment" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Computer And Networking Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_AccruedComputerAndNetworkingEquipment" xlink:href="fsly-20231231.xsd#fsly_AccruedComputerAndNetworkingEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_AccruedComputerAndNetworkingEquipment" xlink:to="lab_fsly_AccruedComputerAndNetworkingEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskLineItems_34cb314a-dfd2-4ef2-bceb-dc2b61755e21_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk [Line Items]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskLineItems_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskLineItems" xlink:to="lab_us-gaap_ConcentrationRiskLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_1ecbfa3b-704a-4eeb-99ca-1fe29210bf45_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and equipment, gross</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_RevenueRemainingPerformanceObligationAmountAccrued_4524a608-340d-4a4c-a64e-912e2de4410b_terseLabel_en-US" xlink:label="lab_fsly_RevenueRemainingPerformanceObligationAmountAccrued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Remaining performance obligations accrued</link:label>
    <link:label id="lab_fsly_RevenueRemainingPerformanceObligationAmountAccrued_label_en-US" xlink:label="lab_fsly_RevenueRemainingPerformanceObligationAmountAccrued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Amount Accrued</link:label>
    <link:label id="lab_fsly_RevenueRemainingPerformanceObligationAmountAccrued_documentation_en-US" xlink:label="lab_fsly_RevenueRemainingPerformanceObligationAmountAccrued" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Amount Accrued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_RevenueRemainingPerformanceObligationAmountAccrued" xlink:href="fsly-20231231.xsd#fsly_RevenueRemainingPerformanceObligationAmountAccrued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_RevenueRemainingPerformanceObligationAmountAccrued" xlink:to="lab_fsly_RevenueRemainingPerformanceObligationAmountAccrued" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeLeasesPolicyTextBlock_c53c0aa6-f541-4159-8819-b4de69e28353_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeLeasesPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases</link:label>
    <link:label id="lab_us-gaap_LesseeLeasesPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_LesseeLeasesPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Leases [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeasesPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeasesPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeLeasesPolicyTextBlock" xlink:to="lab_us-gaap_LesseeLeasesPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_A2026ConvertibleNotesMember_134ff02c-fa35-4151-9c1e-477db002fc8b_terseLabel_en-US" xlink:label="lab_fsly_A2026ConvertibleNotesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2026 Convertible Notes</link:label>
    <link:label id="lab_fsly_A2026ConvertibleNotesMember_label_en-US" xlink:label="lab_fsly_A2026ConvertibleNotesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2026 Convertible Notes [Member]</link:label>
    <link:label id="lab_fsly_A2026ConvertibleNotesMember_documentation_en-US" xlink:label="lab_fsly_A2026ConvertibleNotesMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2026 Convertible Notes</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_A2026ConvertibleNotesMember" xlink:href="fsly-20231231.xsd#fsly_A2026ConvertibleNotesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_A2026ConvertibleNotesMember" xlink:to="lab_fsly_A2026ConvertibleNotesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessAcquisitionLineItems_cfcb2086-0b0f-4ddd-a81c-9be4f80169d0_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition [Line Items]</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionLineItems_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems" xlink:to="lab_us-gaap_BusinessAcquisitionLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_2326d9ce-8203-4edb-8f41-48d28902688c_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted-Average Grant Date Fair Value Per Share</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_DebtInstrumentRepurchaseTransactionCosts_bf8722b0-a0b2-4fdb-ab07-788430d4a3e7_terseLabel_en-US" xlink:label="lab_fsly_DebtInstrumentRepurchaseTransactionCosts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt repurchase transaction costs</link:label>
    <link:label id="lab_fsly_DebtInstrumentRepurchaseTransactionCosts_label_en-US" xlink:label="lab_fsly_DebtInstrumentRepurchaseTransactionCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Repurchase, Transaction Costs</link:label>
    <link:label id="lab_fsly_DebtInstrumentRepurchaseTransactionCosts_documentation_en-US" xlink:label="lab_fsly_DebtInstrumentRepurchaseTransactionCosts" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Repurchase, Transaction Costs</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DebtInstrumentRepurchaseTransactionCosts" xlink:href="fsly-20231231.xsd#fsly_DebtInstrumentRepurchaseTransactionCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_DebtInstrumentRepurchaseTransactionCosts" xlink:to="lab_fsly_DebtInstrumentRepurchaseTransactionCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_b975da69-305d-42c3-8dd1-ce7d4a6e725d_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Recurring and Nonrecurring [Table]</link:label>
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_label_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Recurring and Nonrecurring [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_PeoTotalCompAmt_terseLabel_en-US" xlink:label="lab_ecd_PeoTotalCompAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">PEO Total Compensation Amount</link:label>
    <link:label id="lab_ecd_PeoTotalCompAmt_label_en-US" xlink:label="lab_ecd_PeoTotalCompAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">PEO Total Compensation Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeoTotalCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeoTotalCompAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_PeoTotalCompAmt" xlink:to="lab_ecd_PeoTotalCompAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_f06324a2-e498-4f85-a3a3-1816f7cd207d_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillRollForward_9a26a2b0-dffd-4772-86ee-11ec92c8f956_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_GoodwillRollForward_label_en-US" xlink:label="lab_us-gaap_GoodwillRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillRollForward" xlink:to="lab_us-gaap_GoodwillRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_TradingArrByIndTable_terseLabel_en-US" xlink:label="lab_ecd_TradingArrByIndTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Arrangements, by Individual</link:label>
    <link:label id="lab_ecd_TradingArrByIndTable_label_en-US" xlink:label="lab_ecd_TradingArrByIndTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Arrangements, by Individual [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TradingArrByIndTable" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TradingArrByIndTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_TradingArrByIndTable" xlink:to="lab_ecd_TradingArrByIndTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueInputsLevel3Member_2d29a36e-4295-40c3-a180-514ef04e3106_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel3Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Level&#160;3</link:label>
    <link:label id="lab_us-gaap_FairValueInputsLevel3Member_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel3Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Inputs, Level 3 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel3Member" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel3Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel3Member" xlink:to="lab_us-gaap_FairValueInputsLevel3Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_58eb35ae-6adc-431f-adad-338946edc5bb_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options outstanding, beginning balance (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_880d59a4-e9e1-42e4-a093-7cdd82907dba_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options outstanding, ending balance (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost_e43d5bb5-46a7-4c64-ba5a-25a41bf3976f_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Expense related to modification</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Accelerated Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtConversionByUniqueDescriptionAxis_e66b3051-83bf-460d-9342-73aa56951c34_terseLabel_en-US" xlink:label="lab_us-gaap_DebtConversionByUniqueDescriptionAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Conversion Description [Axis]</link:label>
    <link:label id="lab_us-gaap_DebtConversionByUniqueDescriptionAxis_label_en-US" xlink:label="lab_us-gaap_DebtConversionByUniqueDescriptionAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Conversion Description [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtConversionByUniqueDescriptionAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtConversionByUniqueDescriptionAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtConversionByUniqueDescriptionAxis" xlink:to="lab_us-gaap_DebtConversionByUniqueDescriptionAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_c84505c0-c18a-4948-a129-ddc0d717bc99_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise of vested stock options</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Value, Stock Options Exercised</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_NonPeoNeoAvgCompActuallyPaidAmt_terseLabel_en-US" xlink:label="lab_ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-PEO NEO Average Compensation Actually Paid Amount</link:label>
    <link:label id="lab_ecd_NonPeoNeoAvgCompActuallyPaidAmt_label_en-US" xlink:label="lab_ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-PEO NEO Average Compensation Actually Paid Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonPeoNeoAvgCompActuallyPaidAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:to="lab_ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_aa461540-b75b-41c3-9078-4ec8009131e6_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted-average grant date fair value (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetIncomeLoss_19ce3c15-f2b9-4043-9d16-c72afbf3c4de_totalLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net loss</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_d1e9cb4e-e60f-4bc1-abf2-bc8e45ef1b1d_terseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net loss</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_label_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Income (Loss)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetIncomeLoss" xlink:to="lab_us-gaap_NetIncomeLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesCurrent_29b17908-d718-40bd-95b9-8dd11d7609c3_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total current liabilities</link:label>
    <link:label id="lab_us-gaap_LiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrent" xlink:to="lab_us-gaap_LiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_4dacf9cb-dcbb-42d3-b1ae-568d7c82b922_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2025</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Liability, to be Paid, Year Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:to="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_2327a0dc-a2a8-4049-82ed-b738f7bb5946_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign Currency</link:label>
    <link:label id="lab_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign Currency Transactions and Translations Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:to="lab_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_ChangedPeerGroupFnTextBlock_terseLabel_en-US" xlink:label="lab_ecd_ChangedPeerGroupFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Changed Peer Group, Footnote</link:label>
    <link:label id="lab_ecd_ChangedPeerGroupFnTextBlock_label_en-US" xlink:label="lab_ecd_ChangedPeerGroupFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Changed Peer Group, Footnote [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ChangedPeerGroupFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ChangedPeerGroupFnTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_ChangedPeerGroupFnTextBlock" xlink:to="lab_ecd_ChangedPeerGroupFnTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_CoSelectedMeasureName_terseLabel_en-US" xlink:label="lab_ecd_CoSelectedMeasureName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Company Selected Measure Name</link:label>
    <link:label id="lab_ecd_CoSelectedMeasureName_label_en-US" xlink:label="lab_ecd_CoSelectedMeasureName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Company Selected Measure Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CoSelectedMeasureName" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CoSelectedMeasureName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_CoSelectedMeasureName" xlink:to="lab_ecd_CoSelectedMeasureName" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeasesTextBlock_d50b95cc-e5d9-480e-a726-358d2187656a_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeasesTextBlock_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Leases [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeasesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeasesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_bb6540de-42e7-4b8d-be32-05ad27de54af_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and equipment, net</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_f3691ce6-8be1-4aec-b9d9-8bb7091aec39_totalLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and equipment, net</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_2043bf48-3d61-402f-a280-2e5070f9ed11_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">LIABILITIES AND STOCKHOLDERS&#8217; EQUITY</link:label>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities and Equity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_2b612bb6-8ab7-48d9-ad8b-0122cb2985d4_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets [Line Items]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_BandwidthWithThirdPartyNetworkProvidersMember_098f6715-7a5b-4aed-bd91-761985d881d5_terseLabel_en-US" xlink:label="lab_fsly_BandwidthWithThirdPartyNetworkProvidersMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Bandwidth Contracts</link:label>
    <link:label id="lab_fsly_BandwidthWithThirdPartyNetworkProvidersMember_label_en-US" xlink:label="lab_fsly_BandwidthWithThirdPartyNetworkProvidersMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Bandwidth With Third Party Network Providers [Member]</link:label>
    <link:label id="lab_fsly_BandwidthWithThirdPartyNetworkProvidersMember_documentation_en-US" xlink:label="lab_fsly_BandwidthWithThirdPartyNetworkProvidersMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Bandwidth With Third Party Network Providers [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_BandwidthWithThirdPartyNetworkProvidersMember" xlink:href="fsly-20231231.xsd#fsly_BandwidthWithThirdPartyNetworkProvidersMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_BandwidthWithThirdPartyNetworkProvidersMember" xlink:to="lab_fsly_BandwidthWithThirdPartyNetworkProvidersMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_1d5935d9-f305-4619-99d9-686599b0ac68_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross Unrealized Loss</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:to="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskBenchmarkDomain_222f39a2-9572-4ab2-abb6-114c0c712521_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Benchmark [Domain]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskBenchmarkDomain_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Benchmark [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="lab_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_c4fc652b-3c37-4312-b4da-5fcec340fb2f_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise of stock options (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_2103013b-0abf-43ec-89da-d8559abe61c6_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercised (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_fdd3f0ae-4023-4a47-a723-265e66a87bb6_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">United States</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Domestic</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_DeferredTaxAssetLeaseLiability_28ae8b61-a319-4873-b36a-c2af3c7773ea_terseLabel_en-US" xlink:label="lab_fsly_DeferredTaxAssetLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease liability</link:label>
    <link:label id="lab_fsly_DeferredTaxAssetLeaseLiability_label_en-US" xlink:label="lab_fsly_DeferredTaxAssetLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Asset, Lease Liability</link:label>
    <link:label id="lab_fsly_DeferredTaxAssetLeaseLiability_documentation_en-US" xlink:label="lab_fsly_DeferredTaxAssetLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Asset, Lease Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DeferredTaxAssetLeaseLiability" xlink:href="fsly-20231231.xsd#fsly_DeferredTaxAssetLeaseLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_DeferredTaxAssetLeaseLiability" xlink:to="lab_fsly_DeferredTaxAssetLeaseLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_4a6ff406-8048-492c-b228-3ecdffdd9846_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award vesting period</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_097fa6f1-ca10-4948-87d3-9f711d58062d_terseLabel_en-US" xlink:label="lab_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Estimated useful life (in years)</link:label>
    <link:label id="lab_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_a60be6aa-1d1c-4798-a30e-3841c6dbc504_verboseLabel_en-US" xlink:label="lab_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Estimated useful life (in years)</link:label>
    <link:label id="lab_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_label_en-US" xlink:label="lab_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Acquired Finite-Lived Intangible Assets, Weighted Average Useful Life</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:to="lab_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonClassBMember_dee31f55-da31-40eb-a373-4eca03c2baa4_terseLabel_en-US" xlink:label="lab_us-gaap_CommonClassBMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Class B</link:label>
    <link:label id="lab_us-gaap_CommonClassBMember_label_en-US" xlink:label="lab_us-gaap_CommonClassBMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Class B [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassBMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonClassBMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonClassBMember" xlink:to="lab_us-gaap_CommonClassBMember" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_MeasureName_terseLabel_en-US" xlink:label="lab_ecd_MeasureName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Name</link:label>
    <link:label id="lab_ecd_MeasureName_label_en-US" xlink:label="lab_ecd_MeasureName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measure Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_MeasureName" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_MeasureName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_MeasureName" xlink:to="lab_ecd_MeasureName" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_ForgoneRecoveryIndName_terseLabel_en-US" xlink:label="lab_ecd_ForgoneRecoveryIndName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Name</link:label>
    <link:label id="lab_ecd_ForgoneRecoveryIndName_label_en-US" xlink:label="lab_ecd_ForgoneRecoveryIndName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forgone Recovery, Individual Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ForgoneRecoveryIndName" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryIndName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_ForgoneRecoveryIndName" xlink:to="lab_ecd_ForgoneRecoveryIndName" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToAcquireShortTermInvestments_eaabce3a-7b27-46d9-b361-f6349cb1d2cf_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireShortTermInvestments" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchases of marketable securities</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquireShortTermInvestments_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireShortTermInvestments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Acquire Short-Term Investments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireShortTermInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireShortTermInvestments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquireShortTermInvestments" xlink:to="lab_us-gaap_PaymentsToAcquireShortTermInvestments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Goodwill_6af5cd51-d3b2-4d87-ad28-8e332e35d77d_terseLabel_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill</link:label>
    <link:label id="lab_us-gaap_Goodwill_c7681300-cd27-4f2c-a0b7-53f1c83ed82e_periodStartLabel_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance</link:label>
    <link:label id="lab_us-gaap_Goodwill_77f4c19e-0220-465d-8a1b-e5ca4bda09a5_periodEndLabel_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance</link:label>
    <link:label id="lab_us-gaap_Goodwill_label_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Goodwill" xlink:to="lab_us-gaap_Goodwill" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_d64e5e45-5b02-4ecc-b1cb-21759f1a9b19_terseLabel_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increases related to prior year tax positions</link:label>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_label_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrecognized Tax Benefits, Increase Resulting from Prior Period Tax Positions</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:to="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeLeaseDescriptionTable_b9020503-0ed5-46d3-b1ce-5377ac39da4a_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeLeaseDescriptionTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Lease, Description [Table]</link:label>
    <link:label id="lab_us-gaap_LesseeLeaseDescriptionTable_label_en-US" xlink:label="lab_us-gaap_LesseeLeaseDescriptionTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Lease, Description [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable" xlink:to="lab_us-gaap_LesseeLeaseDescriptionTable" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AwardUndrlygSecuritiesAmt_terseLabel_en-US" xlink:label="lab_ecd_AwardUndrlygSecuritiesAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Underlying Securities</link:label>
    <link:label id="lab_ecd_AwardUndrlygSecuritiesAmt_label_en-US" xlink:label="lab_ecd_AwardUndrlygSecuritiesAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Underlying Securities Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardUndrlygSecuritiesAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardUndrlygSecuritiesAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardUndrlygSecuritiesAmt" xlink:to="lab_ecd_AwardUndrlygSecuritiesAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_c11dbc94-0405-4f23-96e7-681c00eb4ae7_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivable</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Accounts Receivable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_540595cd-6810-4cc6-b452-6ca1680c1ef8_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease liabilities, non-current</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentNameDomain_e468f0ab-1bc2-4419-9166-e881402e7bed_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Name [Domain]</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentNameDomain_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentNameDomain" xlink:to="lab_us-gaap_DebtInstrumentNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_EnterpriseCustomerThreshold_17c8e19a-45dd-4388-94ef-3f5a7810a383_terseLabel_en-US" xlink:label="lab_fsly_EnterpriseCustomerThreshold" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Enterprise customer threshold</link:label>
    <link:label id="lab_fsly_EnterpriseCustomerThreshold_label_en-US" xlink:label="lab_fsly_EnterpriseCustomerThreshold" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Enterprise Customer Threshold</link:label>
    <link:label id="lab_fsly_EnterpriseCustomerThreshold_documentation_en-US" xlink:label="lab_fsly_EnterpriseCustomerThreshold" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Enterprise Customer Threshold</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_EnterpriseCustomerThreshold" xlink:href="fsly-20231231.xsd#fsly_EnterpriseCustomerThreshold"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_EnterpriseCustomerThreshold" xlink:to="lab_fsly_EnterpriseCustomerThreshold" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsOfDebtIssuanceCosts_0cd3764c-3dcc-43a2-8ea0-10086f6550cf_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsOfDebtIssuanceCosts" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments of debt issuance costs</link:label>
    <link:label id="lab_us-gaap_PaymentsOfDebtIssuanceCosts_label_en-US" xlink:label="lab_us-gaap_PaymentsOfDebtIssuanceCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments of Debt Issuance Costs</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfDebtIssuanceCosts" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDebtIssuanceCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsOfDebtIssuanceCosts" xlink:to="lab_us-gaap_PaymentsOfDebtIssuanceCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementLocationAxis_5d59283a-5d4b-41a1-b45d-f16e252aab1e_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Axis]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementLocationAxis_label_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationAxis" xlink:to="lab_us-gaap_IncomeStatementLocationAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet_a7328384-bedb-48e1-99e8-8f0390549e24_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Discount and transaction costs</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Unamortized Discount (Premium) and Debt Issuance Costs, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet" xlink:to="lab_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_ForeignGovernmentAndSupranationalSecuritiesMember_7dada15c-f33a-403e-9578-5063222f0d01_terseLabel_en-US" xlink:label="lab_fsly_ForeignGovernmentAndSupranationalSecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign government and supranational securities</link:label>
    <link:label id="lab_fsly_ForeignGovernmentAndSupranationalSecuritiesMember_label_en-US" xlink:label="lab_fsly_ForeignGovernmentAndSupranationalSecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign Government And Supranational Securities [Member]</link:label>
    <link:label id="lab_fsly_ForeignGovernmentAndSupranationalSecuritiesMember_documentation_en-US" xlink:label="lab_fsly_ForeignGovernmentAndSupranationalSecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign Government And Supranational Securities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ForeignGovernmentAndSupranationalSecuritiesMember" xlink:href="fsly-20231231.xsd#fsly_ForeignGovernmentAndSupranationalSecuritiesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_ForeignGovernmentAndSupranationalSecuritiesMember" xlink:to="lab_fsly_ForeignGovernmentAndSupranationalSecuritiesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_b14690ba-5c1d-4b64-ab25-7ec39d6c254f_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Operating Lease Maturities</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_EuropeMember_0985ab6e-35eb-4882-9561-3ffd7076889c_terseLabel_en-US" xlink:label="lab_srt_EuropeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Europe</link:label>
    <link:label id="lab_srt_EuropeMember_label_en-US" xlink:label="lab_srt_EuropeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Europe [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_EuropeMember" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EuropeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_EuropeMember" xlink:to="lab_srt_EuropeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CostOfSalesPolicyTextBlock_d1e4ed1d-6fb0-4858-b8ed-287d62a6d933_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfSalesPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of Revenue</link:label>
    <link:label id="lab_us-gaap_CostOfSalesPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_CostOfSalesPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of Goods and Service [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfSalesPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfSalesPolicyTextBlock" xlink:to="lab_us-gaap_CostOfSalesPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_IncreaseDecreaseInOperatingLeaseLiabilities_ec7c1ddb-99f1-491b-84df-49e65e3cb63e_terseLabel_en-US" xlink:label="lab_fsly_IncreaseDecreaseInOperatingLeaseLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease liabilities</link:label>
    <link:label id="lab_fsly_IncreaseDecreaseInOperatingLeaseLiabilities_label_en-US" xlink:label="lab_fsly_IncreaseDecreaseInOperatingLeaseLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) In Operating Lease Liabilities</link:label>
    <link:label id="lab_fsly_IncreaseDecreaseInOperatingLeaseLiabilities_documentation_en-US" xlink:label="lab_fsly_IncreaseDecreaseInOperatingLeaseLiabilities" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) In Operating Lease Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_IncreaseDecreaseInOperatingLeaseLiabilities" xlink:href="fsly-20231231.xsd#fsly_IncreaseDecreaseInOperatingLeaseLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_IncreaseDecreaseInOperatingLeaseLiabilities" xlink:to="lab_fsly_IncreaseDecreaseInOperatingLeaseLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ProductsAndServicesDomain_0ded8ebd-76d8-4d56-930a-4c0c9f29e775_terseLabel_en-US" xlink:label="lab_srt_ProductsAndServicesDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Domain]</link:label>
    <link:label id="lab_srt_ProductsAndServicesDomain_label_en-US" xlink:label="lab_srt_ProductsAndServicesDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ProductsAndServicesDomain" xlink:to="lab_srt_ProductsAndServicesDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_OtherPerfMeasureAmt_terseLabel_en-US" xlink:label="lab_ecd_OtherPerfMeasureAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Performance Measure, Amount</link:label>
    <link:label id="lab_ecd_OtherPerfMeasureAmt_label_en-US" xlink:label="lab_ecd_OtherPerfMeasureAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Performance Measure, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_OtherPerfMeasureAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_OtherPerfMeasureAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_OtherPerfMeasureAmt" xlink:to="lab_ecd_OtherPerfMeasureAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals_4d126299-73fa-4873-b096-644cc68a37b1_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reserves and accruals</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:to="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeaseCostTableTextBlock_198fa6fd-f472-42bd-a34f-d3d80f532ea2_terseLabel_en-US" xlink:label="lab_us-gaap_LeaseCostTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Lease Costs &amp; Other Information</link:label>
    <link:label id="lab_us-gaap_LeaseCostTableTextBlock_label_en-US" xlink:label="lab_us-gaap_LeaseCostTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease, Cost [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCostTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseCostTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseCostTableTextBlock" xlink:to="lab_us-gaap_LeaseCostTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_CommonStockVotingRightsNumberofVotesAllowedToEachShare_3ad2d1e0-742f-404f-9030-4729e29ba588_terseLabel_en-US" xlink:label="lab_fsly_CommonStockVotingRightsNumberofVotesAllowedToEachShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, voting rights (votes per share)</link:label>
    <link:label id="lab_fsly_CommonStockVotingRightsNumberofVotesAllowedToEachShare_label_en-US" xlink:label="lab_fsly_CommonStockVotingRightsNumberofVotesAllowedToEachShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Voting Rights, Number of Votes Allowed To Each Share</link:label>
    <link:label id="lab_fsly_CommonStockVotingRightsNumberofVotesAllowedToEachShare_documentation_en-US" xlink:label="lab_fsly_CommonStockVotingRightsNumberofVotesAllowedToEachShare" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Voting Rights, Number of Votes Allowed To Each Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_CommonStockVotingRightsNumberofVotesAllowedToEachShare" xlink:href="fsly-20231231.xsd#fsly_CommonStockVotingRightsNumberofVotesAllowedToEachShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_CommonStockVotingRightsNumberofVotesAllowedToEachShare" xlink:to="lab_fsly_CommonStockVotingRightsNumberofVotesAllowedToEachShare" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_b06e9de8-3f5e-44cb-88d9-6c9445c5316f_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gain (loss) on investments in available-for-sale-securities</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Available-for-Sale Securities Adjustment, Net of Tax, Portion Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent" xlink:to="lab_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_PayoutOfPerformanceBasedRestrictedStockUnitsPercentage_5f4fe447-33c1-44ba-8777-069ac76fac08_terseLabel_en-US" xlink:label="lab_fsly_PayoutOfPerformanceBasedRestrictedStockUnitsPercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payout of performance-based restricted stock units, percentage</link:label>
    <link:label id="lab_fsly_PayoutOfPerformanceBasedRestrictedStockUnitsPercentage_label_en-US" xlink:label="lab_fsly_PayoutOfPerformanceBasedRestrictedStockUnitsPercentage" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payout of Performance-Based Restricted Stock Units, Percentage</link:label>
    <link:label id="lab_fsly_PayoutOfPerformanceBasedRestrictedStockUnitsPercentage_documentation_en-US" xlink:label="lab_fsly_PayoutOfPerformanceBasedRestrictedStockUnitsPercentage" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payout of Performance-Based Restricted Stock Units, Percentage</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_PayoutOfPerformanceBasedRestrictedStockUnitsPercentage" xlink:href="fsly-20231231.xsd#fsly_PayoutOfPerformanceBasedRestrictedStockUnitsPercentage"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_PayoutOfPerformanceBasedRestrictedStockUnitsPercentage" xlink:to="lab_fsly_PayoutOfPerformanceBasedRestrictedStockUnitsPercentage" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_71d6a035-e88d-421f-a707-f9822049657a_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash flows from investing activities:</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_CustomerOneMember_b7f35629-ce39-4f2d-9afe-01e31a7d3b2e_terseLabel_en-US" xlink:label="lab_fsly_CustomerOneMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer One</link:label>
    <link:label id="lab_fsly_CustomerOneMember_label_en-US" xlink:label="lab_fsly_CustomerOneMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer One [Member]</link:label>
    <link:label id="lab_fsly_CustomerOneMember_documentation_en-US" xlink:label="lab_fsly_CustomerOneMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_CustomerOneMember" xlink:href="fsly-20231231.xsd#fsly_CustomerOneMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_CustomerOneMember" xlink:to="lab_fsly_CustomerOneMember" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_RevenueWithCustomerDurationOfContracts_0f18ed96-b599-4d69-9463-63968f89233f_terseLabel_en-US" xlink:label="lab_fsly_RevenueWithCustomerDurationOfContracts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Typical duration of contracts (in years)</link:label>
    <link:label id="lab_fsly_RevenueWithCustomerDurationOfContracts_label_en-US" xlink:label="lab_fsly_RevenueWithCustomerDurationOfContracts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue With Customer, Duration Of Contracts</link:label>
    <link:label id="lab_fsly_RevenueWithCustomerDurationOfContracts_documentation_en-US" xlink:label="lab_fsly_RevenueWithCustomerDurationOfContracts" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue With Customer, Duration Of Contracts</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_RevenueWithCustomerDurationOfContracts" xlink:href="fsly-20231231.xsd#fsly_RevenueWithCustomerDurationOfContracts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_RevenueWithCustomerDurationOfContracts" xlink:to="lab_fsly_RevenueWithCustomerDurationOfContracts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PlanNameDomain_a1a5bae9-f870-4fc2-a138-00f54434537c_terseLabel_en-US" xlink:label="lab_us-gaap_PlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Domain]</link:label>
    <link:label id="lab_us-gaap_PlanNameDomain_label_en-US" xlink:label="lab_us-gaap_PlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PlanNameDomain" xlink:to="lab_us-gaap_PlanNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsOfDebtExtinguishmentCosts_23f64a51-92df-453e-a7d3-37ecb0cac9e9_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsOfDebtExtinguishmentCosts" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash paid for debt extinguishment</link:label>
    <link:label id="lab_us-gaap_PaymentsOfDebtExtinguishmentCosts_label_en-US" xlink:label="lab_us-gaap_PaymentsOfDebtExtinguishmentCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payment for Debt Extinguishment or Debt Prepayment Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfDebtExtinguishmentCosts" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDebtExtinguishmentCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsOfDebtExtinguishmentCosts" xlink:to="lab_us-gaap_PaymentsOfDebtExtinguishmentCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_WeightedAverageRemainingLeaseTermAbstract_542f1829-2b62-445f-b306-5df055f2e808_terseLabel_en-US" xlink:label="lab_fsly_WeightedAverageRemainingLeaseTermAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Remaining Lease term (in years):</link:label>
    <link:label id="lab_fsly_WeightedAverageRemainingLeaseTermAbstract_label_en-US" xlink:label="lab_fsly_WeightedAverageRemainingLeaseTermAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Remaining Lease Term [Abstract]</link:label>
    <link:label id="lab_fsly_WeightedAverageRemainingLeaseTermAbstract_documentation_en-US" xlink:label="lab_fsly_WeightedAverageRemainingLeaseTermAbstract" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Remaining Lease Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_WeightedAverageRemainingLeaseTermAbstract" xlink:href="fsly-20231231.xsd#fsly_WeightedAverageRemainingLeaseTermAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_WeightedAverageRemainingLeaseTermAbstract" xlink:to="lab_fsly_WeightedAverageRemainingLeaseTermAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InterestExpense_65aaec83-fff3-4ac2-9835-762d699a42f7_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_InterestExpense" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest expense</link:label>
    <link:label id="lab_us-gaap_InterestExpense_label_en-US" xlink:label="lab_us-gaap_InterestExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestExpense" xlink:to="lab_us-gaap_InterestExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalExpendituresIncurredButNotYetPaid_f25354a3-ce64-4fbe-bf11-5fb9e38045d8_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property&#160;and&#160;equipment&#160;additions&#160;not&#160;yet&#160;paid&#160;in&#160;cash or financed</link:label>
    <link:label id="lab_us-gaap_CapitalExpendituresIncurredButNotYetPaid_label_en-US" xlink:label="lab_us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capital Expenditures Incurred but Not yet Paid</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalExpendituresIncurredButNotYetPaid"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:to="lab_us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GainsLossesOnExtinguishmentOfDebt_c881280e-a155-4f42-a371-f7bf0a8a4703_terseLabel_en-US" xlink:label="lab_us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net gain on extinguishment of debt</link:label>
    <link:label id="lab_us-gaap_GainsLossesOnExtinguishmentOfDebt_39667687-e06a-4760-803e-91fe6aa0804b_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net gain on extinguishment of debt</link:label>
    <link:label id="lab_us-gaap_GainsLossesOnExtinguishmentOfDebt_label_en-US" xlink:label="lab_us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gain (Loss) on Extinguishment of Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:to="lab_us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_efd4bdc7-6c7c-4f4b-bebb-5549a04273fb_verboseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted-average remaining contractual period</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquityNoteAbstract_e4f1d1ef-fe0c-4774-8559-705dd2058cf9_terseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityNoteAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' Equity Note [Abstract]</link:label>
    <link:label id="lab_us-gaap_StockholdersEquityNoteAbstract_label_en-US" xlink:label="lab_us-gaap_StockholdersEquityNoteAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' Equity Note [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityNoteAbstract" xlink:to="lab_us-gaap_StockholdersEquityNoteAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_TradingArrAxis_terseLabel_en-US" xlink:label="lab_ecd_TradingArrAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Arrangement:</link:label>
    <link:label id="lab_ecd_TradingArrAxis_label_en-US" xlink:label="lab_ecd_TradingArrAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Arrangement [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TradingArrAxis" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TradingArrAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_TradingArrAxis" xlink:to="lab_ecd_TradingArrAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLossCarryforwardsTable_7c482676-941f-4552-af26-ade7e6cd5e26_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwardsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Loss Carryforwards [Table]</link:label>
    <link:label id="lab_us-gaap_OperatingLossCarryforwardsTable_label_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwardsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Loss Carryforwards [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwardsTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLossCarryforwardsTable" xlink:to="lab_us-gaap_OperatingLossCarryforwardsTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_UseOfEstimates_7840a4c7-3828-4a27-93db-ec35c8ccbab1_terseLabel_en-US" xlink:label="lab_us-gaap_UseOfEstimates" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Use of Estimates</link:label>
    <link:label id="lab_us-gaap_UseOfEstimates_label_en-US" xlink:label="lab_us-gaap_UseOfEstimates" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Use of Estimates, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UseOfEstimates" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UseOfEstimates"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UseOfEstimates" xlink:to="lab_us-gaap_UseOfEstimates" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongtermDebtTypeDomain_b4e9c580-f9cd-4ce4-a77c-b9342c5af605_terseLabel_en-US" xlink:label="lab_us-gaap_LongtermDebtTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Type [Domain]</link:label>
    <link:label id="lab_us-gaap_LongtermDebtTypeDomain_label_en-US" xlink:label="lab_us-gaap_LongtermDebtTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Debt, Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongtermDebtTypeDomain" xlink:to="lab_us-gaap_LongtermDebtTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityFileNumber_e78c0f2b-eb2c-4ff0-bd3e-b2ffdaffeaa2_terseLabel_en-US" xlink:label="lab_dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity File Number</link:label>
    <link:label id="lab_dei_EntityFileNumber_label_en-US" xlink:label="lab_dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity File Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFileNumber" xlink:to="lab_dei_EntityFileNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_DeferredTaxLiabilitiesStateTaxes_1f5b6369-ffbd-4a9b-8f11-104f7be1b9ce_negatedTerseLabel_en-US" xlink:label="lab_fsly_DeferredTaxLiabilitiesStateTaxes" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">State taxes</link:label>
    <link:label id="lab_fsly_DeferredTaxLiabilitiesStateTaxes_label_en-US" xlink:label="lab_fsly_DeferredTaxLiabilitiesStateTaxes" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, State Taxes</link:label>
    <link:label id="lab_fsly_DeferredTaxLiabilitiesStateTaxes_documentation_en-US" xlink:label="lab_fsly_DeferredTaxLiabilitiesStateTaxes" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, State Taxes</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DeferredTaxLiabilitiesStateTaxes" xlink:href="fsly-20231231.xsd#fsly_DeferredTaxLiabilitiesStateTaxes"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_DeferredTaxLiabilitiesStateTaxes" xlink:to="lab_fsly_DeferredTaxLiabilitiesStateTaxes" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentUnamortizedDiscount_c69355cf-c2ad-4994-9a45-689a73e86ca1_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentUnamortizedDiscount" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less: unamortized debt issuance costs</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentUnamortizedDiscount_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentUnamortizedDiscount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Unamortized Discount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentUnamortizedDiscount" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentUnamortizedDiscount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentUnamortizedDiscount" xlink:to="lab_us-gaap_DebtInstrumentUnamortizedDiscount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_0c179bd2-0efe-4e4a-a9ef-8977be5fa807_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Thereafter</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, after Year Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_A2019EquityIncentivePlanMember_015e8836-33bc-413b-a370-aca0d2afff53_terseLabel_en-US" xlink:label="lab_fsly_A2019EquityIncentivePlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2019 Equity Incentive Plan</link:label>
    <link:label id="lab_fsly_A2019EquityIncentivePlanMember_label_en-US" xlink:label="lab_fsly_A2019EquityIncentivePlanMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2019 Equity Incentive Plan [Member]</link:label>
    <link:label id="lab_fsly_A2019EquityIncentivePlanMember_documentation_en-US" xlink:label="lab_fsly_A2019EquityIncentivePlanMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2019 Equity Incentive Plan [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_A2019EquityIncentivePlanMember" xlink:href="fsly-20231231.xsd#fsly_A2019EquityIncentivePlanMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_A2019EquityIncentivePlanMember" xlink:to="lab_fsly_A2019EquityIncentivePlanMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember_94cd261a-86ff-46f1-9842-6a9970009cf6_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrealized gain/(loss) for available-for-sale investments</link:label>
    <link:label id="lab_us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember_label_en-US" xlink:label="lab_us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">AOCI, Accumulated Gain (Loss), Debt Securities, Available-for-Sale, Parent [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember" xlink:to="lab_us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_SalesAndExciseTaxPayableCurrentExcludingNormalActivity_cd92a29c-82e1-4eb3-ae08-1360021f5b51_terseLabel_en-US" xlink:label="lab_fsly_SalesAndExciseTaxPayableCurrentExcludingNormalActivity" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sales and use tax</link:label>
    <link:label id="lab_fsly_SalesAndExciseTaxPayableCurrentExcludingNormalActivity_label_en-US" xlink:label="lab_fsly_SalesAndExciseTaxPayableCurrentExcludingNormalActivity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sales and Excise Tax Payable, Current, Excluding Normal Activity</link:label>
    <link:label id="lab_fsly_SalesAndExciseTaxPayableCurrentExcludingNormalActivity_documentation_en-US" xlink:label="lab_fsly_SalesAndExciseTaxPayableCurrentExcludingNormalActivity" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sales and Excise Tax Payable, Current, Excluding Normal Activity</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_SalesAndExciseTaxPayableCurrentExcludingNormalActivity" xlink:href="fsly-20231231.xsd#fsly_SalesAndExciseTaxPayableCurrentExcludingNormalActivity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_SalesAndExciseTaxPayableCurrentExcludingNormalActivity" xlink:to="lab_fsly_SalesAndExciseTaxPayableCurrentExcludingNormalActivity" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_9947c93a-8297-441c-a874-9b3561fbc0c0_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Decreases related to prior year tax positions</link:label>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_label_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrecognized Tax Benefits, Decrease Resulting from Prior Period Tax Positions</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:to="lab_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_AuditorFirmId_d9b76dce-186d-46f9-9dd7-048637f68b10_terseLabel_en-US" xlink:label="lab_dei_AuditorFirmId" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Auditor Firm ID</link:label>
    <link:label id="lab_dei_AuditorFirmId_label_en-US" xlink:label="lab_dei_AuditorFirmId" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Auditor Firm ID</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AuditorFirmId" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorFirmId"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AuditorFirmId" xlink:to="lab_dei_AuditorFirmId" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AmortizationOfIntangibleAssets_cf7ba4d2-b5f8-4ca6-9cad-ec447fe7ea6f_terseLabel_en-US" xlink:label="lab_us-gaap_AmortizationOfIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of intangible assets</link:label>
    <link:label id="lab_us-gaap_AmortizationOfIntangibleAssets_label_en-US" xlink:label="lab_us-gaap_AmortizationOfIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of Intangible Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AmortizationOfIntangibleAssets" xlink:to="lab_us-gaap_AmortizationOfIntangibleAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityShellCompany_e1c66a0b-f2cc-4dc6-a584-5433506e1998_terseLabel_en-US" xlink:label="lab_dei_EntityShellCompany" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Shell Company</link:label>
    <link:label id="lab_dei_EntityShellCompany_label_en-US" xlink:label="lab_dei_EntityShellCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Shell Company</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityShellCompany" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityShellCompany" xlink:to="lab_dei_EntityShellCompany" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessAcquisitionAcquireeDomain_5aed1218-882a-45f9-9514-55ea29b6d7ad_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAcquireeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition, Acquiree [Domain]</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionAcquireeDomain_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAcquireeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition, Acquiree [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="lab_us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_2111db52-dbd4-4963-856d-c7a6a4be90c7_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Risk-free interest rate, minimum</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Minimum</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_RestatementDeterminationDate_terseLabel_en-US" xlink:label="lab_ecd_RestatementDeterminationDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restatement Determination Date</link:label>
    <link:label id="lab_ecd_RestatementDeterminationDate_label_en-US" xlink:label="lab_ecd_RestatementDeterminationDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restatement Determination Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_RestatementDeterminationDate" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_RestatementDeterminationDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_RestatementDeterminationDate" xlink:to="lab_ecd_RestatementDeterminationDate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_159c8111-2ea8-41b1-9d2f-20f1f7f9329e_terseLabel_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increases related to current year tax positions</link:label>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_label_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrecognized Tax Benefits, Increase Resulting from Current Period Tax Positions</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:to="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_900383b3-5f6b-4498-a464-1c418510deb5_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other liabilities</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Other Operating Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:to="lab_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_Rule10b51ArrAdoptedFlag_terseLabel_en-US" xlink:label="lab_ecd_Rule10b51ArrAdoptedFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Rule 10b5-1 Arrangement Adopted</link:label>
    <link:label id="lab_ecd_Rule10b51ArrAdoptedFlag_label_en-US" xlink:label="lab_ecd_Rule10b51ArrAdoptedFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Rule 10b5-1 Arrangement Adopted [Flag]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_Rule10b51ArrAdoptedFlag" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Rule10b51ArrAdoptedFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_Rule10b51ArrAdoptedFlag" xlink:to="lab_ecd_Rule10b51ArrAdoptedFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_7fab9312-576b-40f5-a4d4-dd15efe52431_periodStartLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, cash equivalents, and restricted cash at beginning of period</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_b99e0ef1-bb64-4c6f-9f3a-c2e3337cccd8_periodEndLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, cash equivalents, and restricted cash at end of period</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_3eafdab1-d1d3-4206-abcb-f610eecefc25_totalLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total cash, cash equivalents, and restricted cash</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_label_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_A2022BonusProgramMember_fdcda506-dcd9-4195-83f7-0d79fe4801f1_terseLabel_en-US" xlink:label="lab_fsly_A2022BonusProgramMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2022 Bonus Program</link:label>
    <link:label id="lab_fsly_A2022BonusProgramMember_label_en-US" xlink:label="lab_fsly_A2022BonusProgramMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2022 Bonus Program [Member]</link:label>
    <link:label id="lab_fsly_A2022BonusProgramMember_documentation_en-US" xlink:label="lab_fsly_A2022BonusProgramMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2022 Bonus Program</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_A2022BonusProgramMember" xlink:href="fsly-20231231.xsd#fsly_A2022BonusProgramMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_A2022BonusProgramMember" xlink:to="lab_fsly_A2022BonusProgramMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_VariableLeaseCost_bd049f36-1afb-4003-9b06-b45cb3baa62f_terseLabel_en-US" xlink:label="lab_us-gaap_VariableLeaseCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable lease cost</link:label>
    <link:label id="lab_us-gaap_VariableLeaseCost_label_en-US" xlink:label="lab_us-gaap_VariableLeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable Lease, Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableLeaseCost" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableLeaseCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VariableLeaseCost" xlink:to="lab_us-gaap_VariableLeaseCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseCost_af7a183f-29d9-4b8a-9ffd-b4b31920225b_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease cost</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseCost_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseCost" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseCost" xlink:to="lab_us-gaap_OperatingLeaseCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesIssued_399fb99c-148c-4d22-8b5b-324d604dbd9c_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, shares issued (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesIssued_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesIssued" xlink:to="lab_us-gaap_CommonStockSharesIssued" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_76a7b35b-fefb-4100-bdec-d141cb6ea385_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vested (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongTermDebt_567934e1-3a10-4722-9a41-4acc0834c5d4_terseLabel_en-US" xlink:label="lab_us-gaap_LongTermDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term debt, less current portion</link:label>
    <link:label id="lab_us-gaap_LongTermDebt_label_en-US" xlink:label="lab_us-gaap_LongTermDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebt" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermDebt" xlink:to="lab_us-gaap_LongTermDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsFairValueDisclosure_448a002e-75ff-4dce-9eb9-b081c57cb478_totalLabel_en-US" xlink:label="lab_us-gaap_AssetsFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total financial assets</link:label>
    <link:label id="lab_us-gaap_AssetsFairValueDisclosure_label_en-US" xlink:label="lab_us-gaap_AssetsFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets, Fair Value Disclosure</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsFairValueDisclosure" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsFairValueDisclosure"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsFairValueDisclosure" xlink:to="lab_us-gaap_AssetsFairValueDisclosure" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_PaymentForBusinessIncurredButNotYetPaid_0d260860-61dd-458c-b154-9e952d4023a5_terseLabel_en-US" xlink:label="lab_fsly_PaymentForBusinessIncurredButNotYetPaid" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase consideration associated with business combination, accrued but not paid</link:label>
    <link:label id="lab_fsly_PaymentForBusinessIncurredButNotYetPaid_label_en-US" xlink:label="lab_fsly_PaymentForBusinessIncurredButNotYetPaid" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payment For Business Incurred, But Not Yet Paid</link:label>
    <link:label id="lab_fsly_PaymentForBusinessIncurredButNotYetPaid_documentation_en-US" xlink:label="lab_fsly_PaymentForBusinessIncurredButNotYetPaid" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payment For Business Incurred, But Not Yet Paid</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_PaymentForBusinessIncurredButNotYetPaid" xlink:href="fsly-20231231.xsd#fsly_PaymentForBusinessIncurredButNotYetPaid"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_PaymentForBusinessIncurredButNotYetPaid" xlink:to="lab_fsly_PaymentForBusinessIncurredButNotYetPaid" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedTranslationAdjustmentMember_e7e1f0e1-1344-40d1-9846-3848cf98dcff_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedTranslationAdjustmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign Currency Translation</link:label>
    <link:label id="lab_us-gaap_AccumulatedTranslationAdjustmentMember_label_en-US" xlink:label="lab_us-gaap_AccumulatedTranslationAdjustmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Foreign Currency Adjustment Attributable to Parent [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedTranslationAdjustmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedTranslationAdjustmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedTranslationAdjustmentMember" xlink:to="lab_us-gaap_AccumulatedTranslationAdjustmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonClassAMember_9194b519-d97d-423f-ab49-1e709fd3d7bf_terseLabel_en-US" xlink:label="lab_us-gaap_CommonClassAMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Class A</link:label>
    <link:label id="lab_us-gaap_CommonClassAMember_label_en-US" xlink:label="lab_us-gaap_CommonClassAMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Class A [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonClassAMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonClassAMember" xlink:to="lab_us-gaap_CommonClassAMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_3a34eece-133a-46c8-a4ca-362592d1cafa_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted-average period of recognition</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTax_3fcffd03-b7be-4473-bf53-1df62e17879c_totalLabel_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTax" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Comprehensive loss</link:label>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTax_label_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="lab_us-gaap_ComprehensiveIncomeNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DomesticCountryMember_b01255f5-e713-42f9-98c8-d23ea910ce35_terseLabel_en-US" xlink:label="lab_us-gaap_DomesticCountryMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Federal</link:label>
    <link:label id="lab_us-gaap_DomesticCountryMember_label_en-US" xlink:label="lab_us-gaap_DomesticCountryMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Domestic Tax Authority [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticCountryMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DomesticCountryMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DomesticCountryMember" xlink:to="lab_us-gaap_DomesticCountryMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressAddressLine1_30e80f0f-6060-4967-a5b0-c606b3a33b62_terseLabel_en-US" xlink:label="lab_dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:label id="lab_dei_EntityAddressAddressLine1_label_en-US" xlink:label="lab_dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressAddressLine1" xlink:to="lab_dei_EntityAddressAddressLine1" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts_ec813431-2e7b-4f28-a8ee-8bab61806b38_terseLabel_en-US" xlink:label="lab_fsly_DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized research and development</link:label>
    <link:label id="lab_fsly_DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts_label_en-US" xlink:label="lab_fsly_DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Capitalized Research And Development Costs</link:label>
    <link:label id="lab_fsly_DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts_documentation_en-US" xlink:label="lab_fsly_DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Capitalized Research And Development Costs</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts" xlink:href="fsly-20231231.xsd#fsly_DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts" xlink:to="lab_fsly_DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_953132e4-513e-491d-b2c4-fc2238e527f0_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2024</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Liability, to be Paid, Year One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_f40ccaa7-0b83-4f3b-acb9-0090978d2fb4_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted-Average&#160; Exercise Price</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TaxesPayableCurrent_0c139795-6b72-40bf-9c70-7d081efe30a7_terseLabel_en-US" xlink:label="lab_us-gaap_TaxesPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other tax liabilities</link:label>
    <link:label id="lab_us-gaap_TaxesPayableCurrent_label_en-US" xlink:label="lab_us-gaap_TaxesPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Taxes Payable, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxesPayableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxesPayableCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TaxesPayableCurrent" xlink:to="lab_us-gaap_TaxesPayableCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationPercentage_8f682110-0065-4aeb-a882-907876fedcbd_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Remaining performance obligation, percentage</link:label>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationPercentage_label_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Percentage</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:to="lab_us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventMember_64aa17fc-8c47-42c1-8616-b228aac3a06c_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event</link:label>
    <link:label id="lab_us-gaap_SubsequentEventMember_label_en-US" xlink:label="lab_us-gaap_SubsequentEventMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventMember" xlink:to="lab_us-gaap_SubsequentEventMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLossCarryforwards_10c9aded-923a-4f37-9958-28a6a6638755_verboseLabel_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwards" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating loss carryforwards</link:label>
    <link:label id="lab_us-gaap_OperatingLossCarryforwards_label_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwards" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Loss Carryforwards</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwards" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwards"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLossCarryforwards" xlink:to="lab_us-gaap_OperatingLossCarryforwards" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate_217072c0-472d-4e8b-880a-321ebd047c44_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum deduction percentage of eligible compensation</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Maximum Employee Subscription Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsDeferredIncome_05b47bc7-2e0f-497f-8902-6c81e35a7720_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsDeferredIncome" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred revenue</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsDeferredIncome_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsDeferredIncome" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Deferred Income</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsDeferredIncome" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsDeferredIncome"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsDeferredIncome" xlink:to="lab_us-gaap_DeferredTaxAssetsDeferredIncome" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_79a3229d-4bba-40c8-b40e-73932b5444d7_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Intangible Assets</link:label>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherLiabilitiesCurrent_20ee329f-91d0-40e5-bd4a-3e81b5b3ddee_terseLabel_en-US" xlink:label="lab_us-gaap_OtherLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other current liabilities</link:label>
    <link:label id="lab_us-gaap_OtherLiabilitiesCurrent_717b4f0d-0eeb-4394-8b5e-9dde9742a83f_totalLabel_en-US" xlink:label="lab_us-gaap_OtherLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total other current liabilities</link:label>
    <link:label id="lab_us-gaap_OtherLiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_OtherLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherLiabilitiesCurrent" xlink:to="lab_us-gaap_OtherLiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementAbstract_3e7d5951-abbd-4f9f-966b-27a58cdafe77_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Condensed Consolidated Statements of Operations</link:label>
    <link:label id="lab_us-gaap_IncomeStatementAbstract_label_en-US" xlink:label="lab_us-gaap_IncomeStatementAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementAbstract" xlink:to="lab_us-gaap_IncomeStatementAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesNewIssues_5395d8b7-d741-43e0-997f-62b35362e120_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares issued (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesNewIssues_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Shares, New Issues</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongTermPurchaseCommitmentTable_4f61b392-a91c-4e0b-9b80-fb62820bb061_terseLabel_en-US" xlink:label="lab_us-gaap_LongTermPurchaseCommitmentTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Purchase Commitment [Table]</link:label>
    <link:label id="lab_us-gaap_LongTermPurchaseCommitmentTable_label_en-US" xlink:label="lab_us-gaap_LongTermPurchaseCommitmentTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Purchase Commitment [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermPurchaseCommitmentTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermPurchaseCommitmentTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentTable" xlink:to="lab_us-gaap_LongTermPurchaseCommitmentTable" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_InsiderTrdPoliciesProcAdoptedFlag_terseLabel_en-US" xlink:label="lab_ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Insider Trading Policies and Procedures Adopted</link:label>
    <link:label id="lab_ecd_InsiderTrdPoliciesProcAdoptedFlag_label_en-US" xlink:label="lab_ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Insider Trading Policies and Procedures Adopted [Flag]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTrdPoliciesProcAdoptedFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:to="lab_ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedContractCostAmortizationPeriod_98501028-71bd-4c40-ad86-ce64709bcf81_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostAmortizationPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized contract cost, useful life (in years)</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostAmortizationPeriod_label_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostAmortizationPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost, Amortization Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostAmortizationPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostAmortizationPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedContractCostAmortizationPeriod" xlink:to="lab_us-gaap_CapitalizedContractCostAmortizationPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ClassOfStockLineItems_3ede0d96-a0b3-4920-a4f5-624e32ce74f4_terseLabel_en-US" xlink:label="lab_us-gaap_ClassOfStockLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Stock [Line Items]</link:label>
    <link:label id="lab_us-gaap_ClassOfStockLineItems_label_en-US" xlink:label="lab_us-gaap_ClassOfStockLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Stock [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ClassOfStockLineItems" xlink:to="lab_us-gaap_ClassOfStockLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_AdvancesForPaymentsOfPropertyPlantAndEquipment_7aeab472-5cc5-4945-b647-5c328502ad3e_negatedTerseLabel_en-US" xlink:label="lab_fsly_AdvancesForPaymentsOfPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Advance payment for purchase of property and equipment</link:label>
    <link:label id="lab_fsly_AdvancesForPaymentsOfPropertyPlantAndEquipment_label_en-US" xlink:label="lab_fsly_AdvancesForPaymentsOfPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Advances For Payments Of Property, Plant, And Equipment</link:label>
    <link:label id="lab_fsly_AdvancesForPaymentsOfPropertyPlantAndEquipment_documentation_en-US" xlink:label="lab_fsly_AdvancesForPaymentsOfPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Advances For Payments Of Property, Plant, And Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_AdvancesForPaymentsOfPropertyPlantAndEquipment" xlink:href="fsly-20231231.xsd#fsly_AdvancesForPaymentsOfPropertyPlantAndEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_AdvancesForPaymentsOfPropertyPlantAndEquipment" xlink:to="lab_fsly_AdvancesForPaymentsOfPropertyPlantAndEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedContractCostAmortization_69559c11-256e-4a47-8214-0b3a2e05854b_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of deferred contract costs</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostAmortization_label_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost, Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedContractCostAmortization" xlink:to="lab_us-gaap_CapitalizedContractCostAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinancialInstrumentAxis_f168d0fd-cc40-4e63-a477-ff5707385b9b_terseLabel_en-US" xlink:label="lab_us-gaap_FinancialInstrumentAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Instrument [Axis]</link:label>
    <link:label id="lab_us-gaap_FinancialInstrumentAxis_label_en-US" xlink:label="lab_us-gaap_FinancialInstrumentAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Instrument [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinancialInstrumentAxis" xlink:to="lab_us-gaap_FinancialInstrumentAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdvertisingCostsPolicyTextBlock_b2f52562-6c5f-4e96-861a-80fee4bc2cad_terseLabel_en-US" xlink:label="lab_us-gaap_AdvertisingCostsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Advertising Expense</link:label>
    <link:label id="lab_us-gaap_AdvertisingCostsPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_AdvertisingCostsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Advertising Cost [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdvertisingCostsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingCostsPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdvertisingCostsPolicyTextBlock" xlink:to="lab_us-gaap_AdvertisingCostsPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_TotalShareholderRtnAmt_terseLabel_en-US" xlink:label="lab_ecd_TotalShareholderRtnAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total Shareholder Return Amount</link:label>
    <link:label id="lab_ecd_TotalShareholderRtnAmt_label_en-US" xlink:label="lab_ecd_TotalShareholderRtnAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total Shareholder Return Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TotalShareholderRtnAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TotalShareholderRtnAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_TotalShareholderRtnAmt" xlink:to="lab_ecd_TotalShareholderRtnAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_fdee3dfc-c18a-480b-ab5d-80a54e70e1ee_terseLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reconciliation of cash, cash equivalents, and restricted cash as shown in the statements of cash flows</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_label_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:to="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCommonStockSharesOutstanding_51aef2d8-26b0-483e-a5bd-25019a80e1b6_terseLabel_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:label id="lab_dei_EntityCommonStockSharesOutstanding_label_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCommonStockSharesOutstanding" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCommonStockSharesOutstanding" xlink:to="lab_dei_EntityCommonStockSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedAndSoldNumber_2e9f918f-e8be-498f-9ced-8eed47b29c4a_terseLabel_en-US" xlink:label="lab_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedAndSoldNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Nonvested shares sold that remain unvested (in shares)</link:label>
    <link:label id="lab_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedAndSoldNumber_label_en-US" xlink:label="lab_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedAndSoldNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement By Share-based Payment Award, Equity Instruments Other Than Options, Nonvested And Sold, Number</link:label>
    <link:label id="lab_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedAndSoldNumber_documentation_en-US" xlink:label="lab_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedAndSoldNumber" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement By Share-based Payment Award, Equity Instruments Other Than Options, Nonvested And Sold, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedAndSoldNumber" xlink:href="fsly-20231231.xsd#fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedAndSoldNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedAndSoldNumber" xlink:to="lab_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedAndSoldNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AdjToPeoCompFnTextBlock_terseLabel_en-US" xlink:label="lab_ecd_AdjToPeoCompFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustment To PEO Compensation, Footnote</link:label>
    <link:label id="lab_ecd_AdjToPeoCompFnTextBlock_label_en-US" xlink:label="lab_ecd_AdjToPeoCompFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustment To PEO Compensation, Footnote [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AdjToPeoCompFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AdjToPeoCompFnTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AdjToPeoCompFnTextBlock" xlink:to="lab_ecd_AdjToPeoCompFnTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_StockSoldDuringPeriodValueRestrictedStockAward_c6266bb7-39ed-427e-9cb5-43ceab5c044b_terseLabel_en-US" xlink:label="lab_fsly_StockSoldDuringPeriodValueRestrictedStockAward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from sale of restricted shares</link:label>
    <link:label id="lab_fsly_StockSoldDuringPeriodValueRestrictedStockAward_label_en-US" xlink:label="lab_fsly_StockSoldDuringPeriodValueRestrictedStockAward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Sold During Period, Value, Restricted Stock Award</link:label>
    <link:label id="lab_fsly_StockSoldDuringPeriodValueRestrictedStockAward_documentation_en-US" xlink:label="lab_fsly_StockSoldDuringPeriodValueRestrictedStockAward" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Sold During Period, Value, Restricted Stock Award</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_StockSoldDuringPeriodValueRestrictedStockAward" xlink:href="fsly-20231231.xsd#fsly_StockSoldDuringPeriodValueRestrictedStockAward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_StockSoldDuringPeriodValueRestrictedStockAward" xlink:to="lab_fsly_StockSoldDuringPeriodValueRestrictedStockAward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredForeignIncomeTaxExpenseBenefit_13fa9b51-028d-4c9c-a452-8b2d1bf70fcd_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign</link:label>
    <link:label id="lab_us-gaap_DeferredForeignIncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Foreign Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedContractCostTableTextBlock_68043f5a-6c4f-4037-a63e-7a8fac778438_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Costs to Obtain Contracts</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostTableTextBlock_label_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedContractCostTableTextBlock" xlink:to="lab_us-gaap_CapitalizedContractCostTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_ShareBasedPaymentArrangementPerformanceTargetAxis_0e16d758-b443-456d-a2af-61174be20154_terseLabel_en-US" xlink:label="lab_fsly_ShareBasedPaymentArrangementPerformanceTargetAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Performance Target [Axis]</link:label>
    <link:label id="lab_fsly_ShareBasedPaymentArrangementPerformanceTargetAxis_label_en-US" xlink:label="lab_fsly_ShareBasedPaymentArrangementPerformanceTargetAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Performance Target [Axis]</link:label>
    <link:label id="lab_fsly_ShareBasedPaymentArrangementPerformanceTargetAxis_documentation_en-US" xlink:label="lab_fsly_ShareBasedPaymentArrangementPerformanceTargetAxis" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Performance Target</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ShareBasedPaymentArrangementPerformanceTargetAxis" xlink:href="fsly-20231231.xsd#fsly_ShareBasedPaymentArrangementPerformanceTargetAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_ShareBasedPaymentArrangementPerformanceTargetAxis" xlink:to="lab_fsly_ShareBasedPaymentArrangementPerformanceTargetAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_f0be81a0-78db-40b4-8bb9-2691fa284037_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Hierarchy and NAV [Axis]</link:label>
    <link:label id="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_label_en-US" xlink:label="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Hierarchy and NAV [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DepreciationNonproduction_bbe9a468-1f7e-4d3f-8199-41ae9e25a962_terseLabel_en-US" xlink:label="lab_us-gaap_DepreciationNonproduction" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation expense</link:label>
    <link:label id="lab_us-gaap_DepreciationNonproduction_label_en-US" xlink:label="lab_us-gaap_DepreciationNonproduction" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation, Nonproduction</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepreciationNonproduction" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationNonproduction"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DepreciationNonproduction" xlink:to="lab_us-gaap_DepreciationNonproduction" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_ShareBasedPaymentArrangementPlanModificationNumberOfAwardsAffected_7a0e461c-c6db-4ded-8236-dcef49998a1c_terseLabel_en-US" xlink:label="lab_fsly_ShareBasedPaymentArrangementPlanModificationNumberOfAwardsAffected" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan modification, number of awards affected (in shares)</link:label>
    <link:label id="lab_fsly_ShareBasedPaymentArrangementPlanModificationNumberOfAwardsAffected_label_en-US" xlink:label="lab_fsly_ShareBasedPaymentArrangementPlanModificationNumberOfAwardsAffected" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Plan Modification, Number Of Awards Affected</link:label>
    <link:label id="lab_fsly_ShareBasedPaymentArrangementPlanModificationNumberOfAwardsAffected_documentation_en-US" xlink:label="lab_fsly_ShareBasedPaymentArrangementPlanModificationNumberOfAwardsAffected" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Plan Modification, Number Of Awards Affected</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ShareBasedPaymentArrangementPlanModificationNumberOfAwardsAffected" xlink:href="fsly-20231231.xsd#fsly_ShareBasedPaymentArrangementPlanModificationNumberOfAwardsAffected"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_ShareBasedPaymentArrangementPlanModificationNumberOfAwardsAffected" xlink:to="lab_fsly_ShareBasedPaymentArrangementPlanModificationNumberOfAwardsAffected" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_89a66664-98d6-4d61-a33b-e68a5510e08a_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated deficit</link:label>
    <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained Earnings (Accumulated Deficit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_589f3a2f-a39f-43cb-a09e-c3d56e19495f_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting of restricted stock (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Shares, Restricted Stock Award, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_LesseeOperatingLeaseLeaseNotYetCommencedCommitmentAmount_0dff3081-8ac0-4c60-ae5c-3654d42edcef_terseLabel_en-US" xlink:label="lab_fsly_LesseeOperatingLeaseLeaseNotYetCommencedCommitmentAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease not yet commenced, commitment amount</link:label>
    <link:label id="lab_fsly_LesseeOperatingLeaseLeaseNotYetCommencedCommitmentAmount_label_en-US" xlink:label="lab_fsly_LesseeOperatingLeaseLeaseNotYetCommencedCommitmentAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Lease Not Yet Commenced, Commitment Amount</link:label>
    <link:label id="lab_fsly_LesseeOperatingLeaseLeaseNotYetCommencedCommitmentAmount_documentation_en-US" xlink:label="lab_fsly_LesseeOperatingLeaseLeaseNotYetCommencedCommitmentAmount" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Lease Not Yet Commenced, Commitment Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_LesseeOperatingLeaseLeaseNotYetCommencedCommitmentAmount" xlink:href="fsly-20231231.xsd#fsly_LesseeOperatingLeaseLeaseNotYetCommencedCommitmentAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_LesseeOperatingLeaseLeaseNotYetCommencedCommitmentAmount" xlink:to="lab_fsly_LesseeOperatingLeaseLeaseNotYetCommencedCommitmentAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_AgencyBondsMember_70b51d39-1493-42e5-bce3-8bef35a9b904_terseLabel_en-US" xlink:label="lab_fsly_AgencyBondsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Agency bonds</link:label>
    <link:label id="lab_fsly_AgencyBondsMember_label_en-US" xlink:label="lab_fsly_AgencyBondsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Agency Bonds [Member]</link:label>
    <link:label id="lab_fsly_AgencyBondsMember_documentation_en-US" xlink:label="lab_fsly_AgencyBondsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Agency Bonds</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_AgencyBondsMember" xlink:href="fsly-20231231.xsd#fsly_AgencyBondsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_AgencyBondsMember" xlink:to="lab_fsly_AgencyBondsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_AccruedColocationAndBandwidthCosts_762d2715-a9c0-4d8c-a479-5ead64dce2a5_terseLabel_en-US" xlink:label="lab_fsly_AccruedColocationAndBandwidthCosts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued colocation and bandwidth costs</link:label>
    <link:label id="lab_fsly_AccruedColocationAndBandwidthCosts_label_en-US" xlink:label="lab_fsly_AccruedColocationAndBandwidthCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Colocation And Bandwidth Costs</link:label>
    <link:label id="lab_fsly_AccruedColocationAndBandwidthCosts_documentation_en-US" xlink:label="lab_fsly_AccruedColocationAndBandwidthCosts" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Colocation And Bandwidth Costs</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_AccruedColocationAndBandwidthCosts" xlink:href="fsly-20231231.xsd#fsly_AccruedColocationAndBandwidthCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_AccruedColocationAndBandwidthCosts" xlink:to="lab_fsly_AccruedColocationAndBandwidthCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentFaceAmount_a1203f5b-ee0c-4151-a5ed-441ba4fd7dc2_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentFaceAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt instrument, face amount</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentFaceAmount_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentFaceAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Face Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentFaceAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentFaceAmount" xlink:to="lab_us-gaap_DebtInstrumentFaceAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsCurrentAbstract_4dcfa709-19f6-4fb2-a89c-604febb8bb33_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current assets:</link:label>
    <link:label id="lab_us-gaap_AssetsCurrentAbstract_label_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets, Current [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrentAbstract" xlink:to="lab_us-gaap_AssetsCurrentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeasesAbstract_label_en-US" xlink:label="lab_us-gaap_LeasesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeasesAbstract" xlink:to="lab_us-gaap_LeasesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_FinanceLeaseCost_ac546288-4287-4db3-a334-b740c9ae3e7a_totalLabel_en-US" xlink:label="lab_fsly_FinanceLeaseCost" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total finance lease cost</link:label>
    <link:label id="lab_fsly_FinanceLeaseCost_label_en-US" xlink:label="lab_fsly_FinanceLeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease Cost</link:label>
    <link:label id="lab_fsly_FinanceLeaseCost_documentation_en-US" xlink:label="lab_fsly_FinanceLeaseCost" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_FinanceLeaseCost" xlink:href="fsly-20231231.xsd#fsly_FinanceLeaseCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_FinanceLeaseCost" xlink:to="lab_fsly_FinanceLeaseCost" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressStateOrProvince_f9498db2-fda8-4f58-a941-ba6530cb13d2_terseLabel_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:label id="lab_dei_EntityAddressStateOrProvince_label_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressStateOrProvince" xlink:to="lab_dei_EntityAddressStateOrProvince" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock_terseLabel_en-US" xlink:label="lab_ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Compensation Actually Paid vs. Total Shareholder Return</link:label>
    <link:label id="lab_ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock_label_en-US" xlink:label="lab_ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Compensation Actually Paid vs. Total Shareholder Return [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:to="lab_ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_59b8fbba-934b-476b-82cc-16e1e80dc0e1_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Revenues from External Customers and Long-Lived Assets [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Revenues from External Customers and Long-Lived Assets [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="lab_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDue_8b72c23f-01aa-420d-be70-abab20cecaf4_totalLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total future minimum lease payments</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDue_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Liability, to be Paid</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="lab_us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_09bd2d04-d06d-46fc-867d-0a0ea8c6e6c9_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash flows from operating activities:</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IPOMember_63791ad6-96ba-4330-80eb-bb7646cb72b4_terseLabel_en-US" xlink:label="lab_us-gaap_IPOMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">IPO</link:label>
    <link:label id="lab_us-gaap_IPOMember_label_en-US" xlink:label="lab_us-gaap_IPOMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">IPO [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IPOMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IPOMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IPOMember" xlink:to="lab_us-gaap_IPOMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentConvertibleConversionPrice1_7377660b-4a6a-4aaa-b0e4-9dc14919aa22_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt instrument, convertible, conversion price (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentConvertibleConversionPrice1_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Convertible, Conversion Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:to="lab_us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentConvertibleConversionRatio1_a52411c5-db68-48e1-9e6e-c7bf7a806b9d_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentConvertibleConversionRatio1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt instrument, convertible, conversion ratio</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentConvertibleConversionRatio1_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentConvertibleConversionRatio1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Convertible, Conversion Ratio</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentConvertibleConversionRatio1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleConversionRatio1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentConvertibleConversionRatio1" xlink:to="lab_us-gaap_DebtInstrumentConvertibleConversionRatio1" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_OperatingVariableAndShortTermLeaseCosts_e8012807-448e-45e5-9ec3-b32dc122430b_totalLabel_en-US" xlink:label="lab_fsly_OperatingVariableAndShortTermLeaseCosts" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total operating lease cost</link:label>
    <link:label id="lab_fsly_OperatingVariableAndShortTermLeaseCosts_label_en-US" xlink:label="lab_fsly_OperatingVariableAndShortTermLeaseCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating, Variable, And Short-Term Lease Costs</link:label>
    <link:label id="lab_fsly_OperatingVariableAndShortTermLeaseCosts_documentation_en-US" xlink:label="lab_fsly_OperatingVariableAndShortTermLeaseCosts" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating, Variable, And Short-Term Lease Costs</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_OperatingVariableAndShortTermLeaseCosts" xlink:href="fsly-20231231.xsd#fsly_OperatingVariableAndShortTermLeaseCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_OperatingVariableAndShortTermLeaseCosts" xlink:to="lab_fsly_OperatingVariableAndShortTermLeaseCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_74610295-1e36-42fa-b904-5b603763d8b4_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss) [Line Items]</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss) [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_31892484-4564-490e-ab40-f82aa5358d70_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign currency translation adjustment</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:to="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ClassOfStockDomain_6f0d6dfd-ce4d-44e8-bcf8-bc84b03fc9b6_terseLabel_en-US" xlink:label="lab_us-gaap_ClassOfStockDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Stock [Domain]</link:label>
    <link:label id="lab_us-gaap_ClassOfStockDomain_label_en-US" xlink:label="lab_us-gaap_ClassOfStockDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Stock [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ClassOfStockDomain" xlink:to="lab_us-gaap_ClassOfStockDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_NameOfMajorCustomerDomain_b85a5f20-e11c-4abe-a38f-e07a63e736d7_terseLabel_en-US" xlink:label="lab_srt_NameOfMajorCustomerDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer [Domain]</link:label>
    <link:label id="lab_srt_NameOfMajorCustomerDomain_label_en-US" xlink:label="lab_srt_NameOfMajorCustomerDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_NameOfMajorCustomerDomain" xlink:to="lab_srt_NameOfMajorCustomerDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_179ba798-e333-4696-8833-dc672b236596_terseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net loss attributable to common stockholders, basic</link:label>
    <link:label id="lab_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_label_en-US" xlink:label="lab_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Income (Loss) Available to Common Stockholders, Basic</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:to="lab_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_e9ce50d6-b6c3-4d3f-9511-e2b02699e2e5_terseLabel_en-US" xlink:label="lab_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenues from External Customers and Long-Lived Assets [Line Items]</link:label>
    <link:label id="lab_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_label_en-US" xlink:label="lab_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenues from External Customers and Long-Lived Assets [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="lab_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_e3f687a4-c82a-47eb-b600-cf98265d7497_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of Shares</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_8aa74c7a-8f2d-4aa2-9e33-630065b5f034_totalLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective tax rate</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiability_35b244a4-645e-4d41-b03d-77ee1a0a5edd_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total liability</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiability_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiability" xlink:to="lab_us-gaap_OperatingLeaseLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_PerformanceTargetPayoutLevelOneMember_49e8f33b-4a95-4f68-90ad-367e7f79b4e5_terseLabel_en-US" xlink:label="lab_fsly_PerformanceTargetPayoutLevelOneMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Target Payout Level One</link:label>
    <link:label id="lab_fsly_PerformanceTargetPayoutLevelOneMember_label_en-US" xlink:label="lab_fsly_PerformanceTargetPayoutLevelOneMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Target Payout Level One [Member]</link:label>
    <link:label id="lab_fsly_PerformanceTargetPayoutLevelOneMember_documentation_en-US" xlink:label="lab_fsly_PerformanceTargetPayoutLevelOneMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Target Payout Level One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_PerformanceTargetPayoutLevelOneMember" xlink:href="fsly-20231231.xsd#fsly_PerformanceTargetPayoutLevelOneMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_PerformanceTargetPayoutLevelOneMember" xlink:to="lab_fsly_PerformanceTargetPayoutLevelOneMember" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_TotalShareholderRtnVsPeerGroupTextBlock_terseLabel_en-US" xlink:label="lab_ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total Shareholder Return Vs Peer Group</link:label>
    <link:label id="lab_ecd_TotalShareholderRtnVsPeerGroupTextBlock_label_en-US" xlink:label="lab_ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total Shareholder Return Vs Peer Group [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TotalShareholderRtnVsPeerGroupTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:to="lab_ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice_f4b06e1d-9c4b-43cf-884d-d72ce379c05b_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vested and exercisable, weighted-average exercise price (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_VestingDomain_5ddbd9cd-59af-4930-86bd-343bf54c6741_terseLabel_en-US" xlink:label="lab_us-gaap_VestingDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting [Domain]</link:label>
    <link:label id="lab_us-gaap_VestingDomain_label_en-US" xlink:label="lab_us-gaap_VestingDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VestingDomain" xlink:to="lab_us-gaap_VestingDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_73be25e7-6d68-4766-b848-a8a634d08b41_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Prepaid Expense and Other Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_24816bb3-e527-4c8f-8532-6dd10897dacd_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss)</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">AOCI Attributable to Parent [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AggtErrCompAmt_terseLabel_en-US" xlink:label="lab_ecd_AggtErrCompAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Aggregate Erroneous Compensation Amount</link:label>
    <link:label id="lab_ecd_AggtErrCompAmt_label_en-US" xlink:label="lab_ecd_AggtErrCompAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Aggregate Erroneous Compensation Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AggtErrCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AggtErrCompAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AggtErrCompAmt" xlink:to="lab_ecd_AggtErrCompAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_b8f3e5d7-a3d5-438c-9cbd-49fc1da27774_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]</link:label>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_label_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:to="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AllExecutiveCategoriesMember_terseLabel_en-US" xlink:label="lab_ecd_AllExecutiveCategoriesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">All Executive Categories</link:label>
    <link:label id="lab_ecd_AllExecutiveCategoriesMember_label_en-US" xlink:label="lab_ecd_AllExecutiveCategoriesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">All Executive Categories [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AllExecutiveCategoriesMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllExecutiveCategoriesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AllExecutiveCategoriesMember" xlink:to="lab_ecd_AllExecutiveCategoriesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestingOfEarlyExercisedStockOptionsNumberOfShares_7188ffbe-7ea2-4f06-8bfd-572ce70fc923_terseLabel_en-US" xlink:label="lab_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestingOfEarlyExercisedStockOptionsNumberOfShares" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting of early exercised stock options (in shares)</link:label>
    <link:label id="lab_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestingOfEarlyExercisedStockOptionsNumberOfShares_label_en-US" xlink:label="lab_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestingOfEarlyExercisedStockOptionsNumberOfShares" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement By Share-based Payment Award, Options, Vesting Of Early Exercised Stock Options, Number Of Shares</link:label>
    <link:label id="lab_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestingOfEarlyExercisedStockOptionsNumberOfShares_documentation_en-US" xlink:label="lab_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestingOfEarlyExercisedStockOptionsNumberOfShares" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement By Share-based Payment Award, Options, Vesting Of Early Exercised Stock Options, Number Of Shares</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestingOfEarlyExercisedStockOptionsNumberOfShares" xlink:href="fsly-20231231.xsd#fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestingOfEarlyExercisedStockOptionsNumberOfShares"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestingOfEarlyExercisedStockOptionsNumberOfShares" xlink:to="lab_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestingOfEarlyExercisedStockOptionsNumberOfShares" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_2ac039d6-d85c-4d83-925b-cb5936b6fee9_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss) [Table]</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss) [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedBonusesCurrent_d3096b39-837a-4463-bcb9-f44d1231bec1_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedBonusesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued bonus</link:label>
    <link:label id="lab_us-gaap_AccruedBonusesCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedBonusesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Bonuses, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedBonusesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedBonusesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedBonusesCurrent" xlink:to="lab_us-gaap_AccruedBonusesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PlanNameAxis_a53b50a6-8e33-4d65-8735-84903a05ceb7_terseLabel_en-US" xlink:label="lab_us-gaap_PlanNameAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Axis]</link:label>
    <link:label id="lab_us-gaap_PlanNameAxis_label_en-US" xlink:label="lab_us-gaap_PlanNameAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PlanNameAxis" xlink:to="lab_us-gaap_PlanNameAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtDisclosureAbstract_99e6e802-b2c8-4314-8370-e2aff3890ead_terseLabel_en-US" xlink:label="lab_us-gaap_DebtDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_DebtDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_DebtDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtDisclosureAbstract" xlink:to="lab_us-gaap_DebtDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NumberOfReportableSegments_a87592de-507c-4acf-8b4f-de8edd82465a_terseLabel_en-US" xlink:label="lab_us-gaap_NumberOfReportableSegments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of reportable segments</link:label>
    <link:label id="lab_us-gaap_NumberOfReportableSegments_label_en-US" xlink:label="lab_us-gaap_NumberOfReportableSegments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of Reportable Segments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfReportableSegments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfReportableSegments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NumberOfReportableSegments" xlink:to="lab_us-gaap_NumberOfReportableSegments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareAbstract_361a429d-cd16-4564-8dea-5fe12aedcf1a_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share [Abstract]</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareAbstract_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareAbstract" xlink:to="lab_us-gaap_EarningsPerShareAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockValue_8ea38482-2d7e-49c4-83bb-903d03dacf5f_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class A Common stock, $0.00002 par value; 1,000,000,000 shares authorized as of both December&#160;31, 2023 and 2022; 132,992,126 and 124,336,171 shares issued and outstanding at December&#160;31, 2023 and 2022, respectively</link:label>
    <link:label id="lab_us-gaap_CommonStockValue_label_en-US" xlink:label="lab_us-gaap_CommonStockValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Value, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockValue" xlink:to="lab_us-gaap_CommonStockValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentRedemptionPricePercentage_0eb825b9-46d0-4abb-beb8-4bc70040a079_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentRedemptionPricePercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt instrument, redemption price, percentage</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentRedemptionPricePercentage_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentRedemptionPricePercentage" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Redemption Price, Percentage</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPricePercentage" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentRedemptionPricePercentage"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPricePercentage" xlink:to="lab_us-gaap_DebtInstrumentRedemptionPricePercentage" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_45585f23-cf90-4156-ab3b-6a78800850bd_terseLabel_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Organization, Consolidation and Presentation of Financial Statements [Abstract]</link:label>
    <link:label id="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_label_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Organization, Consolidation and Presentation of Financial Statements [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TradeNamesMember_cc6c2221-193d-4600-b9bb-0bfa7a7e6a8e_terseLabel_en-US" xlink:label="lab_us-gaap_TradeNamesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trade names</link:label>
    <link:label id="lab_us-gaap_TradeNamesMember_label_en-US" xlink:label="lab_us-gaap_TradeNamesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trade Names [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TradeNamesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradeNamesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TradeNamesMember" xlink:to="lab_us-gaap_TradeNamesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_2f4b8f4b-4878-4fdd-8dde-4e6ec850d6af_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-cash lease expense</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Right-of-Use Asset, Periodic Reduction</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:to="lab_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_VestingOfEarlyExercisedStockOptions_dc4ef511-5e99-49b5-9376-193f20b471d2_terseLabel_en-US" xlink:label="lab_fsly_VestingOfEarlyExercisedStockOptions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting of early-exercised stock options</link:label>
    <link:label id="lab_fsly_VestingOfEarlyExercisedStockOptions_label_en-US" xlink:label="lab_fsly_VestingOfEarlyExercisedStockOptions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting Of Early-Exercised Stock Options</link:label>
    <link:label id="lab_fsly_VestingOfEarlyExercisedStockOptions_documentation_en-US" xlink:label="lab_fsly_VestingOfEarlyExercisedStockOptions" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting Of Early-Exercised Stock Options</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_VestingOfEarlyExercisedStockOptions" xlink:href="fsly-20231231.xsd#fsly_VestingOfEarlyExercisedStockOptions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_VestingOfEarlyExercisedStockOptions" xlink:to="lab_fsly_VestingOfEarlyExercisedStockOptions" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_44c6d83c-1408-49ff-b7f7-3b51618b5f66_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred tax benefit:</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="lab_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeasePrincipalPayments_718a76a1-bf73-45c2-99bf-bbb040c35526_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeasePrincipalPayments" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repayments of finance lease liabilities</link:label>
    <link:label id="lab_us-gaap_FinanceLeasePrincipalPayments_label_en-US" xlink:label="lab_us-gaap_FinanceLeasePrincipalPayments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Principal Payments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeasePrincipalPayments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeasePrincipalPayments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeasePrincipalPayments" xlink:to="lab_us-gaap_FinanceLeasePrincipalPayments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock_2132eaa2-d11d-457e-bc1a-c1cc402367eb_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finance Lease Maturity</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Liability, to be Paid, Maturity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock" xlink:to="lab_us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedCash_528a29a5-e430-46d6-baa6-3ff24cce9595_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedCash" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted cash</link:label>
    <link:label id="lab_us-gaap_RestrictedCash_label_en-US" xlink:label="lab_us-gaap_RestrictedCash" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Cash</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCash" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCash"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedCash" xlink:to="lab_us-gaap_RestrictedCash" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerAbstract_63590c50-cae9-4eff-bbfc-3355e30332d8_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer [Abstract]</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerAbstract_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AllIndividualsMember_terseLabel_en-US" xlink:label="lab_ecd_AllIndividualsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">All Individuals</link:label>
    <link:label id="lab_ecd_AllIndividualsMember_label_en-US" xlink:label="lab_ecd_AllIndividualsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">All Individuals [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AllIndividualsMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllIndividualsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AllIndividualsMember" xlink:to="lab_ecd_AllIndividualsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherNonoperatingIncomeExpense_9f523b6d-f1e9-4eb0-ba0d-0f74f372b671_terseLabel_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other income (expense), net</link:label>
    <link:label id="lab_us-gaap_OtherNonoperatingIncomeExpense_label_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Nonoperating Income (Expense)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherNonoperatingIncomeExpense" xlink:to="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityFilerCategory_786e0fa8-b92f-4352-9a7c-41e6dd6109ab_terseLabel_en-US" xlink:label="lab_dei_EntityFilerCategory" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Filer Category</link:label>
    <link:label id="lab_dei_EntityFilerCategory_label_en-US" xlink:label="lab_dei_EntityFilerCategory" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Filer Category</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFilerCategory" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFilerCategory" xlink:to="lab_dei_EntityFilerCategory" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_NonPeoNeoAvgTotalCompAmt_terseLabel_en-US" xlink:label="lab_ecd_NonPeoNeoAvgTotalCompAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-PEO NEO Average Total Compensation Amount</link:label>
    <link:label id="lab_ecd_NonPeoNeoAvgTotalCompAmt_label_en-US" xlink:label="lab_ecd_NonPeoNeoAvgTotalCompAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-PEO NEO Average Total Compensation Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonPeoNeoAvgTotalCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonPeoNeoAvgTotalCompAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_NonPeoNeoAvgTotalCompAmt" xlink:to="lab_ecd_NonPeoNeoAvgTotalCompAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementTable_3c3a5928-142c-4ed9-be05-75c3e574ca48_terseLabel_en-US" xlink:label="lab_us-gaap_StatementTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Table]</link:label>
    <link:label id="lab_us-gaap_StatementTable_label_en-US" xlink:label="lab_us-gaap_StatementTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementTable" xlink:to="lab_us-gaap_StatementTable" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CurrentFiscalYearEndDate_51f796d9-34a0-418c-ad63-95157ca5b851_terseLabel_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:label id="lab_dei_CurrentFiscalYearEndDate_label_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CurrentFiscalYearEndDate" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CurrentFiscalYearEndDate" xlink:to="lab_dei_CurrentFiscalYearEndDate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_515c7b7d-f04b-4564-a2e1-6f33d6a8d185_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Effective Tax Rate Reconciliation</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefits_5b270c59-1491-427a-a6fb-18928c280267_periodStartLabel_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefits" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance at beginning of year</link:label>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefits_4949f5ad-3490-4c29-86bc-7ac43e7e1bb4_periodEndLabel_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefits" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance at end of year</link:label>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefits_label_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefits" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrecognized Tax Benefits</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefits" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefits"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrecognizedTaxBenefits" xlink:to="lab_us-gaap_UnrecognizedTaxBenefits" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityAxis_2c0d1f42-b1d0-443d-8b46-3c298a0bdf45_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority [Axis]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityAxis_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis" xlink:to="lab_us-gaap_IncomeTaxAuthorityAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_PeoName_terseLabel_en-US" xlink:label="lab_ecd_PeoName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">PEO Name</link:label>
    <link:label id="lab_ecd_PeoName_label_en-US" xlink:label="lab_ecd_PeoName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">PEO Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeoName" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeoName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_PeoName" xlink:to="lab_ecd_PeoName" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_6b832d71-07b2-4f6e-9530-5f460a66bba7_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Expected volatility, minimum</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Minimum</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherSundryLiabilitiesCurrent_fbd96798-1da9-4538-beaa-0843cd84fbf9_terseLabel_en-US" xlink:label="lab_us-gaap_OtherSundryLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other current liabilities</link:label>
    <link:label id="lab_us-gaap_OtherSundryLiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_OtherSundryLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Sundry Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherSundryLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherSundryLiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherSundryLiabilitiesCurrent" xlink:to="lab_us-gaap_OtherSundryLiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtPolicyTextBlock_282080f9-2692-4b7f-a88c-b20dd3bfe659_terseLabel_en-US" xlink:label="lab_us-gaap_DebtPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Convertible Debt</link:label>
    <link:label id="lab_us-gaap_DebtPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_DebtPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtPolicyTextBlock" xlink:to="lab_us-gaap_DebtPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_AsiaPacificMember_c1bb5775-8573-4622-9ca6-c8647b800008_terseLabel_en-US" xlink:label="lab_srt_AsiaPacificMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asia Pacific</link:label>
    <link:label id="lab_srt_AsiaPacificMember_label_en-US" xlink:label="lab_srt_AsiaPacificMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asia Pacific [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_AsiaPacificMember" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_AsiaPacificMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_AsiaPacificMember" xlink:to="lab_srt_AsiaPacificMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BaseRateMember_3b1c28be-3679-46ba-a278-88337b892caf_terseLabel_en-US" xlink:label="lab_us-gaap_BaseRateMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Base Rate</link:label>
    <link:label id="lab_us-gaap_BaseRateMember_label_en-US" xlink:label="lab_us-gaap_BaseRateMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Base Rate [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BaseRateMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BaseRateMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BaseRateMember" xlink:to="lab_us-gaap_BaseRateMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedCashCurrent_8f6a4fd6-003c-47f2-9ce2-18607a6f5828_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedCashCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted cash</link:label>
    <link:label id="lab_us-gaap_RestrictedCashCurrent_label_en-US" xlink:label="lab_us-gaap_RestrictedCashCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Cash, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedCashCurrent" xlink:to="lab_us-gaap_RestrictedCashCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfGoodwillTextBlock_b81d5b95-dc21-49ab-9e0b-42ae6a1f5759_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfGoodwillTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Changes in the Carrying Amount of Goodwill</link:label>
    <link:label id="lab_us-gaap_ScheduleOfGoodwillTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfGoodwillTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Goodwill [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfGoodwillTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfGoodwillTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfGoodwillTextBlock" xlink:to="lab_us-gaap_ScheduleOfGoodwillTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_8bea272a-8a87-4eca-83c7-6000fe6c0e67_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-Based Compensation Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:to="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_ProceedsFromEarlySaleOfRestrictedShares_52caed4b-78fb-4e3a-869c-cbe96a891eb2_terseLabel_en-US" xlink:label="lab_fsly_ProceedsFromEarlySaleOfRestrictedShares" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash received for restricted stock sold in advance of vesting conditions</link:label>
    <link:label id="lab_fsly_ProceedsFromEarlySaleOfRestrictedShares_label_en-US" xlink:label="lab_fsly_ProceedsFromEarlySaleOfRestrictedShares" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds From Early Sale Of Restricted Shares</link:label>
    <link:label id="lab_fsly_ProceedsFromEarlySaleOfRestrictedShares_documentation_en-US" xlink:label="lab_fsly_ProceedsFromEarlySaleOfRestrictedShares" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds From Early Sale Of Restricted Shares</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ProceedsFromEarlySaleOfRestrictedShares" xlink:href="fsly-20231231.xsd#fsly_ProceedsFromEarlySaleOfRestrictedShares"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_ProceedsFromEarlySaleOfRestrictedShares" xlink:to="lab_fsly_ProceedsFromEarlySaleOfRestrictedShares" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherAccruedLiabilitiesCurrent_9ddf23db-a42b-4eec-ba36-01a81fdfa7a2_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other accrued expenses</link:label>
    <link:label id="lab_us-gaap_OtherAccruedLiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Accrued Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAccruedLiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:to="lab_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsProceedsFromNonvestedSharesSold_82c4ae92-a367-45f4-8c66-c5625b9eb532_terseLabel_en-US" xlink:label="lab_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsProceedsFromNonvestedSharesSold" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from nonvested shares sold</link:label>
    <link:label id="lab_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsProceedsFromNonvestedSharesSold_label_en-US" xlink:label="lab_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsProceedsFromNonvestedSharesSold" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement By Share-based Payment Award, Equity Instruments Other Than Options, Proceeds From Nonvested Shares Sold</link:label>
    <link:label id="lab_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsProceedsFromNonvestedSharesSold_documentation_en-US" xlink:label="lab_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsProceedsFromNonvestedSharesSold" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement By Share-based Payment Award, Equity Instruments Other Than Options, Proceeds From Nonvested Shares Sold</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsProceedsFromNonvestedSharesSold" xlink:href="fsly-20231231.xsd#fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsProceedsFromNonvestedSharesSold"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsProceedsFromNonvestedSharesSold" xlink:to="lab_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsProceedsFromNonvestedSharesSold" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NatureOfOperations_b05ebb72-e05f-4a89-ad48-a917334bb927_terseLabel_en-US" xlink:label="lab_us-gaap_NatureOfOperations" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Nature of Business</link:label>
    <link:label id="lab_us-gaap_NatureOfOperations_label_en-US" xlink:label="lab_us-gaap_NatureOfOperations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Nature of Operations [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NatureOfOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NatureOfOperations"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NatureOfOperations" xlink:to="lab_us-gaap_NatureOfOperations" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage_1ccba98d-994d-4c04-9de3-fdb79485c6a3_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest rate, stated percentage</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Interest Rate, Stated Percentage</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:to="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfFinancialPositionAbstract_78638041-57d7-4902-9817-a5fe7db29ad8_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Condensed Consolidated Balance Sheets</link:label>
    <link:label id="lab_us-gaap_StatementOfFinancialPositionAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract" xlink:to="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquity_06d88fae-de1c-4049-b21b-d632ea1eae5c_totalLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total stockholders&#8217; equity</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_424e3bd7-fde6-4a02-b1cd-fccd70390ff5_periodStartLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_17fea76d-21c8-497f-bb61-9a131f4a3d59_periodEndLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_label_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity, Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquity" xlink:to="lab_us-gaap_StockholdersEquity" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_6f3e7003-78de-4c54-9897-bda75ced1ce7_terseLabel_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrecognized tax benefit that would impact income tax provision</link:label>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_label_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrecognized Tax Benefits that Would Impact Effective Tax Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:to="lab_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_01fd7b34-27e1-40b2-b3d9-511ab120d452_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedStockMember_a94bce0f-7062-4609-b943-aa8bacecce9e_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">RSAs</link:label>
    <link:label id="lab_us-gaap_RestrictedStockMember_label_en-US" xlink:label="lab_us-gaap_RestrictedStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedStockMember" xlink:to="lab_us-gaap_RestrictedStockMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization_b68a2982-a41a-4ec9-9d5f-824b00e9d86a_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance lease, right-of-use asset, accumulated amortization</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Right-of-Use Asset, Accumulated Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization" xlink:to="lab_us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_d1d6140a-fecf-464f-b4bc-410014912916_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfStockByClassTable_a3cac30d-8ebd-43a3-be93-9cd0aa3ae4f2_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfStockByClassTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Stock by Class [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfStockByClassTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfStockByClassTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Stock by Class [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfStockByClassTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfStockByClassTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable" xlink:to="lab_us-gaap_ScheduleOfStockByClassTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskByTypeAxis_1d3e22b4-1620-4833-b851-abac7ccff580_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Type [Axis]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskByTypeAxis_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis" xlink:to="lab_us-gaap_ConcentrationRiskByTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_f811a651-3168-41b4-85e2-9e02bad3b670_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Expected term (in years)</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventsAbstract_94e46053-190d-4a37-9178-29a92665982e_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Events [Abstract]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventsAbstract_label_en-US" xlink:label="lab_us-gaap_SubsequentEventsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Events [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventsAbstract" xlink:to="lab_us-gaap_SubsequentEventsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_fd150805-84d4-4f99-a3ff-c201a1faee01_totalLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss before income taxes</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToAcquireIntangibleAssets_e28556f2-cbef-483c-8375-1800990b4a81_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireIntangibleAssets" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchases of intangible assets</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquireIntangibleAssets_d5196279-c4cd-4934-8e75-df40c3b96905_terseLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase of intangible assets</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquireIntangibleAssets_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Acquire Intangible Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireIntangibleAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireIntangibleAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquireIntangibleAssets" xlink:to="lab_us-gaap_PaymentsToAcquireIntangibleAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_DebtCovenantAdjustedQuickRatioMinimumRequirement_d35d68e8-5524-4eb5-a87f-2feeb873c4e8_terseLabel_en-US" xlink:label="lab_fsly_DebtCovenantAdjustedQuickRatioMinimumRequirement" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt covenant, adjusted quick ratio, minimum requirement</link:label>
    <link:label id="lab_fsly_DebtCovenantAdjustedQuickRatioMinimumRequirement_label_en-US" xlink:label="lab_fsly_DebtCovenantAdjustedQuickRatioMinimumRequirement" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Covenant, Adjusted Quick Ratio, Minimum Requirement</link:label>
    <link:label id="lab_fsly_DebtCovenantAdjustedQuickRatioMinimumRequirement_documentation_en-US" xlink:label="lab_fsly_DebtCovenantAdjustedQuickRatioMinimumRequirement" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Covenant, Adjusted Quick Ratio, Minimum Requirement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DebtCovenantAdjustedQuickRatioMinimumRequirement" xlink:href="fsly-20231231.xsd#fsly_DebtCovenantAdjustedQuickRatioMinimumRequirement"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_DebtCovenantAdjustedQuickRatioMinimumRequirement" xlink:to="lab_fsly_DebtCovenantAdjustedQuickRatioMinimumRequirement" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_718740fd-467e-4601-9b06-0744873da7b9_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Conversion of Class B to Class A Stock (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_bdae8116-4f8c-4571-b520-f406210e4629_verboseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Conversion of stock (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Shares, Conversion of Convertible Securities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueInputsLevel2Member_1d2af085-bbfc-42e6-80bd-40a7c65d62ef_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel2Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Level&#160;2</link:label>
    <link:label id="lab_us-gaap_FairValueInputsLevel2Member_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel2Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Inputs, Level 2 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel2Member" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel2Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel2Member" xlink:to="lab_us-gaap_FairValueInputsLevel2Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_db177407-83a9-4be0-a20e-7aaee8d13cd7_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]</link:label>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_label_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock_66cad136-ec14-4e97-941d-e250884107a0_terseLabel_en-US" xlink:label="lab_us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Long-Lived Assets by Geographic Region</link:label>
    <link:label id="lab_us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock_label_en-US" xlink:label="lab_us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Lived Assets by Geographic Areas [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:to="lab_us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_e7312fa8-be04-4b12-97a2-8aadc4721243_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Stockholders' Equity [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Stockholders' Equity [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_NamedExecutiveOfficersFnTextBlock_terseLabel_en-US" xlink:label="lab_ecd_NamedExecutiveOfficersFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Named Executive Officers, Footnote</link:label>
    <link:label id="lab_ecd_NamedExecutiveOfficersFnTextBlock_label_en-US" xlink:label="lab_ecd_NamedExecutiveOfficersFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Named Executive Officers, Footnote [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NamedExecutiveOfficersFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NamedExecutiveOfficersFnTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_NamedExecutiveOfficersFnTextBlock" xlink:to="lab_ecd_NamedExecutiveOfficersFnTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_4a065651-ddf6-48a9-b0ff-e6896ebf23fd_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_label_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalPeriodFocus" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalPeriodFocus" xlink:to="lab_dei_DocumentFiscalPeriodFocus" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentConvertibleThresholdTradingDays_6d457c61-ed4c-4ba5-b7b2-fc1013b746a7_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt instrument, convertible, threshold trading days</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentConvertibleThresholdTradingDays_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Convertible, Threshold Trading Days</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleThresholdTradingDays"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:to="lab_us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife_000ab75d-d527-49c3-a346-67be7cb4f17f_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Useful life (in years)</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Useful Life</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockCompensationPlanMember_fb1b0b6e-2942-4796-8bab-70d7ce922282_terseLabel_en-US" xlink:label="lab_us-gaap_StockCompensationPlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement</link:label>
    <link:label id="lab_us-gaap_StockCompensationPlanMember_label_en-US" xlink:label="lab_us-gaap_StockCompensationPlanMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockCompensationPlanMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockCompensationPlanMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockCompensationPlanMember" xlink:to="lab_us-gaap_StockCompensationPlanMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_3f6962e0-3d43-4b80-88d0-e050c4f8952e_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2027</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Four</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_01c77b96-dc6f-4bd7-b730-e26b073344ad_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options outstanding, weighted average exercise price, beginning of period (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_63e2b5d2-8940-48c2-8de3-4ca2a10a8554_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options outstanding, end of period (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensation_ebba54c6-3c88-484d-8af1-ad1980e9bd6c_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensation_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Noncash Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensation" xlink:to="lab_us-gaap_ShareBasedCompensation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock_1d21601d-3a14-491e-9560-a3413bca0405_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Revenue by Geographic Area</link:label>
    <link:label id="lab_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock_label_en-US" xlink:label="lab_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from External Customers by Geographic Areas [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:to="lab_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentRepurchaseAmount_1d2680c6-6996-4bb8-8ef3-18d7ff8e95ed_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentRepurchaseAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repurchase amount</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentRepurchaseAmount_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentRepurchaseAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Repurchase Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRepurchaseAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentRepurchaseAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentRepurchaseAmount" xlink:to="lab_us-gaap_DebtInstrumentRepurchaseAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ForeignCountryMember_8c061663-7e54-4397-819e-0d2082ba0e45_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCountryMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign Tax Authority</link:label>
    <link:label id="lab_us-gaap_ForeignCountryMember_label_en-US" xlink:label="lab_us-gaap_ForeignCountryMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign Tax Authority [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCountryMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCountryMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCountryMember" xlink:to="lab_us-gaap_ForeignCountryMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization_07ca7bc0-80ef-4b23-a017-3d6999603517_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance lease, right-of-use asset, before accumulated amortization</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Right-of-Use Asset, before Accumulated Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization" xlink:to="lab_us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CityAreaCode_9aec96f7-76a1-402a-a1d0-b607a9f8a305_terseLabel_en-US" xlink:label="lab_dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">City Area Code</link:label>
    <link:label id="lab_dei_CityAreaCode_label_en-US" xlink:label="lab_dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">City Area Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CityAreaCode" xlink:to="lab_dei_CityAreaCode" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ProductOrServiceAxis_98007060-60da-4e69-9f60-22499afbb2da_terseLabel_en-US" xlink:label="lab_srt_ProductOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Axis]</link:label>
    <link:label id="lab_srt_ProductOrServiceAxis_label_en-US" xlink:label="lab_srt_ProductOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ProductOrServiceAxis" xlink:to="lab_srt_ProductOrServiceAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareTextBlock_abfa7165-0a1b-4ed0-bf76-ca274642259c_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Loss Per Share Attributable to Common Stockholders</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareTextBlock_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareTextBlock" xlink:to="lab_us-gaap_EarningsPerShareTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_LeasesWeightedAverageDiscountRateAbstract_59b25c2a-1ab8-4582-a301-fbbb921c65b0_terseLabel_en-US" xlink:label="lab_fsly_LeasesWeightedAverageDiscountRateAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Discount Rate:</link:label>
    <link:label id="lab_fsly_LeasesWeightedAverageDiscountRateAbstract_label_en-US" xlink:label="lab_fsly_LeasesWeightedAverageDiscountRateAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases, Weighted Average Discount Rate [Abstract]</link:label>
    <link:label id="lab_fsly_LeasesWeightedAverageDiscountRateAbstract_documentation_en-US" xlink:label="lab_fsly_LeasesWeightedAverageDiscountRateAbstract" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases, Weighted Average Discount Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_LeasesWeightedAverageDiscountRateAbstract" xlink:href="fsly-20231231.xsd#fsly_LeasesWeightedAverageDiscountRateAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_LeasesWeightedAverageDiscountRateAbstract" xlink:to="lab_fsly_LeasesWeightedAverageDiscountRateAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentFiscalYearFocus_cb6eb37f-343f-4645-98ab-a3373bb89e9c_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:label id="lab_dei_DocumentFiscalYearFocus_label_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalYearFocus" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalYearFocus" xlink:to="lab_dei_DocumentFiscalYearFocus" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_StockIssuedDuringPeriodValueRestrictedStockAwardBonusProgram_25520e50-d84d-48fe-9fa0-b8c47eb23ed4_terseLabel_en-US" xlink:label="lab_fsly_StockIssuedDuringPeriodValueRestrictedStockAwardBonusProgram" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares issued under bonus program</link:label>
    <link:label id="lab_fsly_StockIssuedDuringPeriodValueRestrictedStockAwardBonusProgram_label_en-US" xlink:label="lab_fsly_StockIssuedDuringPeriodValueRestrictedStockAwardBonusProgram" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Value, Restricted Stock Award, Bonus Program</link:label>
    <link:label id="lab_fsly_StockIssuedDuringPeriodValueRestrictedStockAwardBonusProgram_documentation_en-US" xlink:label="lab_fsly_StockIssuedDuringPeriodValueRestrictedStockAwardBonusProgram" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Value, Restricted Stock Award, Bonus Program</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_StockIssuedDuringPeriodValueRestrictedStockAwardBonusProgram" xlink:href="fsly-20231231.xsd#fsly_StockIssuedDuringPeriodValueRestrictedStockAwardBonusProgram"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_StockIssuedDuringPeriodValueRestrictedStockAwardBonusProgram" xlink:to="lab_fsly_StockIssuedDuringPeriodValueRestrictedStockAwardBonusProgram" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_SegmentGeographicalDomain_f5fa3c74-0d0d-43ea-bdc7-7e442fb92191_terseLabel_en-US" xlink:label="lab_srt_SegmentGeographicalDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Geographical [Domain]</link:label>
    <link:label id="lab_srt_SegmentGeographicalDomain_label_en-US" xlink:label="lab_srt_SegmentGeographicalDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Geographical [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_SegmentGeographicalDomain" xlink:to="lab_srt_SegmentGeographicalDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_DebtConversionScenarioFourMember_92321fd2-58c2-4ee8-8c1f-8617b3ed9b83_terseLabel_en-US" xlink:label="lab_fsly_DebtConversionScenarioFourMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fundamental Change</link:label>
    <link:label id="lab_fsly_DebtConversionScenarioFourMember_label_en-US" xlink:label="lab_fsly_DebtConversionScenarioFourMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Conversion, Scenario Four [Member]</link:label>
    <link:label id="lab_fsly_DebtConversionScenarioFourMember_documentation_en-US" xlink:label="lab_fsly_DebtConversionScenarioFourMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Conversion, Scenario Four</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DebtConversionScenarioFourMember" xlink:href="fsly-20231231.xsd#fsly_DebtConversionScenarioFourMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_DebtConversionScenarioFourMember" xlink:to="lab_fsly_DebtConversionScenarioFourMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_06f6a9bd-4ceb-438d-b928-ef37763d4fc1_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Stock Option Activity</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Option, Activity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AwardExrcPrice_terseLabel_en-US" xlink:label="lab_ecd_AwardExrcPrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise Price</link:label>
    <link:label id="lab_ecd_AwardExrcPrice_label_en-US" xlink:label="lab_ecd_AwardExrcPrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardExrcPrice" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardExrcPrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardExrcPrice" xlink:to="lab_ecd_AwardExrcPrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_e868040d-ff20-4bb1-9bc2-ebaa938c25a4_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_StockSoldDuringPeriodSharesRestrictedStockAward_b23faeeb-c947-45dd-84d0-a7995c169b81_terseLabel_en-US" xlink:label="lab_fsly_StockSoldDuringPeriodSharesRestrictedStockAward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from sale of restricted shares (in shares)</link:label>
    <link:label id="lab_fsly_StockSoldDuringPeriodSharesRestrictedStockAward_label_en-US" xlink:label="lab_fsly_StockSoldDuringPeriodSharesRestrictedStockAward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Sold During Period, Shares, Restricted Stock Award</link:label>
    <link:label id="lab_fsly_StockSoldDuringPeriodSharesRestrictedStockAward_documentation_en-US" xlink:label="lab_fsly_StockSoldDuringPeriodSharesRestrictedStockAward" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Sold During Period, Shares, Restricted Stock Award</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_StockSoldDuringPeriodSharesRestrictedStockAward" xlink:href="fsly-20231231.xsd#fsly_StockSoldDuringPeriodSharesRestrictedStockAward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_StockSoldDuringPeriodSharesRestrictedStockAward" xlink:to="lab_fsly_StockSoldDuringPeriodSharesRestrictedStockAward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_d5efa25a-7b56-48f7-af27-a45f4d18ba70_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongTermPurchaseCommitmentLineItems_83ac72df-fb6e-424e-9b1a-9e13c69b797d_terseLabel_en-US" xlink:label="lab_us-gaap_LongTermPurchaseCommitmentLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Purchase Commitment [Line Items]</link:label>
    <link:label id="lab_us-gaap_LongTermPurchaseCommitmentLineItems_label_en-US" xlink:label="lab_us-gaap_LongTermPurchaseCommitmentLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Purchase Commitment [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermPurchaseCommitmentLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermPurchaseCommitmentLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentLineItems" xlink:to="lab_us-gaap_LongTermPurchaseCommitmentLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredFinanceCostsGross_33563617-ebbe-47ae-80c9-1ab3044f81d2_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredFinanceCostsGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Transaction costs</link:label>
    <link:label id="lab_us-gaap_DeferredFinanceCostsGross_label_en-US" xlink:label="lab_us-gaap_DeferredFinanceCostsGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Issuance Costs, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFinanceCostsGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFinanceCostsGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredFinanceCostsGross" xlink:to="lab_us-gaap_DeferredFinanceCostsGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxesPaidNet_7553594a-b28b-4d9b-8c6a-3130d1bfd085_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxesPaidNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash paid for income taxes, net of refunds received</link:label>
    <link:label id="lab_us-gaap_IncomeTaxesPaidNet_label_en-US" xlink:label="lab_us-gaap_IncomeTaxesPaidNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Taxes Paid, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxesPaidNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesPaidNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxesPaidNet" xlink:to="lab_us-gaap_IncomeTaxesPaidNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DevelopedTechnologyRightsMember_cffd233d-6832-40ff-818a-54da62913047_terseLabel_en-US" xlink:label="lab_us-gaap_DevelopedTechnologyRightsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Developed technology</link:label>
    <link:label id="lab_us-gaap_DevelopedTechnologyRightsMember_label_en-US" xlink:label="lab_us-gaap_DevelopedTechnologyRightsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Developed Technology Rights [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DevelopedTechnologyRightsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DevelopedTechnologyRightsMember" xlink:to="lab_us-gaap_DevelopedTechnologyRightsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_EnterpriseCustomersMember_121bdb77-5d9f-4957-bb07-f6d6c67d4592_terseLabel_en-US" xlink:label="lab_fsly_EnterpriseCustomersMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Enterprise customers</link:label>
    <link:label id="lab_fsly_EnterpriseCustomersMember_label_en-US" xlink:label="lab_fsly_EnterpriseCustomersMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Enterprise Customers [Member]</link:label>
    <link:label id="lab_fsly_EnterpriseCustomersMember_documentation_en-US" xlink:label="lab_fsly_EnterpriseCustomersMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Enterprise Customers [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_EnterpriseCustomersMember" xlink:href="fsly-20231231.xsd#fsly_EnterpriseCustomersMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_EnterpriseCustomersMember" xlink:to="lab_fsly_EnterpriseCustomersMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_facf2608-36cd-4c59-8aba-4b3532da0ac9_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Stock-Based Compensation Expense</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:to="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentMember_0d9402cf-8ccb-4d80-9885-7cc1100199fc_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentMember_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentMember" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_19988e44-e05f-4a8e-ab69-8ec6f587b4fd_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization and accretion of discounts and premiums on investments</link:label>
    <link:label id="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_label_en-US" xlink:label="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accretion (Amortization) of Discounts and Premiums, Investments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:to="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquity_c38a47d7-9579-4b82-8814-27557f19df96_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total liabilities and stockholders&#8217; equity</link:label>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquity_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities and Equity</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_9adffc9d-3507-4796-9d05-4b9b467a2170_totalLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortized Cost</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Amortized Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:to="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherAssetsNoncurrent_00a952a5-322c-4109-9555-504e2150d1e6_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other assets</link:label>
    <link:label id="lab_us-gaap_OtherAssetsNoncurrent_3a1f170a-0b6b-45df-90ad-2eb0c0145b70_totalLabel_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total other assets</link:label>
    <link:label id="lab_us-gaap_OtherAssetsNoncurrent_label_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Assets, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAssetsNoncurrent" xlink:to="lab_us-gaap_OtherAssetsNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_PeerGroupTotalShareholderRtnAmt_terseLabel_en-US" xlink:label="lab_ecd_PeerGroupTotalShareholderRtnAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Peer Group Total Shareholder Return Amount</link:label>
    <link:label id="lab_ecd_PeerGroupTotalShareholderRtnAmt_label_en-US" xlink:label="lab_ecd_PeerGroupTotalShareholderRtnAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Peer Group Total Shareholder Return Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeerGroupTotalShareholderRtnAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeerGroupTotalShareholderRtnAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_PeerGroupTotalShareholderRtnAmt" xlink:to="lab_ecd_PeerGroupTotalShareholderRtnAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_37212f75-8d9e-40ed-af5f-5231e1b9a4c7_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Risk-free interest rate</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAsset_eaec140e-eec8-4478-86a6-435be5b766d5_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease right-of-use assets, net</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAsset_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Right-of-Use Asset</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentTable_840c5805-e748-49cb-acac-057acc4676da_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Long-term Debt Instruments [Table]</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentTable_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Long-Term Debt Instruments [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentTable" xlink:to="lab_us-gaap_DebtInstrumentTable" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_EquityValuationAssumptionDifferenceFnTextBlock_terseLabel_en-US" xlink:label="lab_ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Valuation Assumption Difference, Footnote</link:label>
    <link:label id="lab_ecd_EquityValuationAssumptionDifferenceFnTextBlock_label_en-US" xlink:label="lab_ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Valuation Assumption Difference, Footnote [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_EquityValuationAssumptionDifferenceFnTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:to="lab_ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_969318d5-f19f-4f77-b342-f4f66397c6c3_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Risk-free interest rate, maximum</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Maximum</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CurrentForeignTaxExpenseBenefit_836fb753-18d0-480b-b365-f5640425cd81_terseLabel_en-US" xlink:label="lab_us-gaap_CurrentForeignTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign</link:label>
    <link:label id="lab_us-gaap_CurrentForeignTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_CurrentForeignTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Foreign Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentForeignTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentForeignTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CurrentForeignTaxExpenseBenefit" xlink:to="lab_us-gaap_CurrentForeignTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_85b4159d-4eb7-43e5-9827-08388c57ccbb_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Expected volatility, maximum</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Maximum</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted_1975438a-4c16-4522-bb71-71a31f22b074_terseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net loss attributable to common stockholders, diluted</link:label>
    <link:label id="lab_us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted_label_en-US" xlink:label="lab_us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Income (Loss) Available to Common Stockholders, Diluted</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" xlink:to="lab_us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_TrdArrDuration_terseLabel_en-US" xlink:label="lab_ecd_TrdArrDuration" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Arrangement Duration</link:label>
    <link:label id="lab_ecd_TrdArrDuration_label_en-US" xlink:label="lab_ecd_TrdArrDuration" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Arrangement Duration</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrDuration" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrDuration"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_TrdArrDuration" xlink:to="lab_ecd_TrdArrDuration" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock_95ef54d2-0f80-49ca-bce0-54b39b508aeb_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Other Assets</link:label>
    <link:label id="lab_us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Other Assets, Noncurrent [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock" xlink:to="lab_us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressCityOrTown_0425f761-7851-4a97-9869-07da1aad3cef_terseLabel_en-US" xlink:label="lab_dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:label id="lab_dei_EntityAddressCityOrTown_label_en-US" xlink:label="lab_dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressCityOrTown" xlink:to="lab_dei_EntityAddressCityOrTown" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AwardTmgMnpiCnsdrdFlag_terseLabel_en-US" xlink:label="lab_ecd_AwardTmgMnpiCnsdrdFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Timing MNPI Considered</link:label>
    <link:label id="lab_ecd_AwardTmgMnpiCnsdrdFlag_label_en-US" xlink:label="lab_ecd_AwardTmgMnpiCnsdrdFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Timing MNPI Considered [Flag]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgMnpiCnsdrdFlag" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgMnpiCnsdrdFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardTmgMnpiCnsdrdFlag" xlink:to="lab_ecd_AwardTmgMnpiCnsdrdFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_PriorRevenueMethodologyMember_236f0284-3224-43bc-851c-2127299db230_terseLabel_en-US" xlink:label="lab_fsly_PriorRevenueMethodologyMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prior Revenue Methodology</link:label>
    <link:label id="lab_fsly_PriorRevenueMethodologyMember_label_en-US" xlink:label="lab_fsly_PriorRevenueMethodologyMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prior Revenue Methodology [Member]</link:label>
    <link:label id="lab_fsly_PriorRevenueMethodologyMember_documentation_en-US" xlink:label="lab_fsly_PriorRevenueMethodologyMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prior Revenue Methodology</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_PriorRevenueMethodologyMember" xlink:href="fsly-20231231.xsd#fsly_PriorRevenueMethodologyMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_PriorRevenueMethodologyMember" xlink:to="lab_fsly_PriorRevenueMethodologyMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PurchaseObligationDueInSecondYear_c55e7d65-b330-4963-9d9e-7b9d3c4bb9bc_terseLabel_en-US" xlink:label="lab_us-gaap_PurchaseObligationDueInSecondYear" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2025</link:label>
    <link:label id="lab_us-gaap_PurchaseObligationDueInSecondYear_label_en-US" xlink:label="lab_us-gaap_PurchaseObligationDueInSecondYear" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase Obligation, to be Paid, Year Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueInSecondYear" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInSecondYear"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PurchaseObligationDueInSecondYear" xlink:to="lab_us-gaap_PurchaseObligationDueInSecondYear" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PurchaseObligationDueInThirdYear_89823f70-d162-466a-8828-20461737745a_terseLabel_en-US" xlink:label="lab_us-gaap_PurchaseObligationDueInThirdYear" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2026</link:label>
    <link:label id="lab_us-gaap_PurchaseObligationDueInThirdYear_label_en-US" xlink:label="lab_us-gaap_PurchaseObligationDueInThirdYear" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase Obligation, to be Paid, Year Three</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueInThirdYear" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInThirdYear"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PurchaseObligationDueInThirdYear" xlink:to="lab_us-gaap_PurchaseObligationDueInThirdYear" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock_50c3d4f8-f410-4762-9d0f-1a3db003b54e_terseLabel_en-US" xlink:label="lab_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance Sheet Information</link:label>
    <link:label id="lab_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock_label_en-US" xlink:label="lab_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Supplemental Balance Sheet Disclosures [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalBalanceSheetDisclosuresTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:to="lab_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ChangeInAccountingEstimateTypeDomain_1f1928b2-7b96-4c15-8b16-c6cd8d948620_terseLabel_en-US" xlink:label="lab_us-gaap_ChangeInAccountingEstimateTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Change in Accounting Estimate, Type [Domain]</link:label>
    <link:label id="lab_us-gaap_ChangeInAccountingEstimateTypeDomain_label_en-US" xlink:label="lab_us-gaap_ChangeInAccountingEstimateTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Change in Accounting Estimate, Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ChangeInAccountingEstimateTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ChangeInAccountingEstimateTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ChangeInAccountingEstimateTypeDomain" xlink:to="lab_us-gaap_ChangeInAccountingEstimateTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueOfFinancialInstrumentsPolicy_cf16325e-45ea-494e-86a3-aa0d69f72b62_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value of Financial Instruments</link:label>
    <link:label id="lab_us-gaap_FairValueOfFinancialInstrumentsPolicy_label_en-US" xlink:label="lab_us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value of Financial Instruments, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:to="lab_us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_TrdArrTerminationDate_terseLabel_en-US" xlink:label="lab_ecd_TrdArrTerminationDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Termination Date</link:label>
    <link:label id="lab_ecd_TrdArrTerminationDate_label_en-US" xlink:label="lab_ecd_TrdArrTerminationDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Arrangement Termination Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrTerminationDate" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrTerminationDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_TrdArrTerminationDate" xlink:to="lab_ecd_TrdArrTerminationDate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities_e68c7c60-d971-4b7e-b354-18552bad8875_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maturities of marketable securities</link:label>
    <link:label id="lab_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities_label_en-US" xlink:label="lab_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Sale and Maturity of Marketable Securities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities" xlink:to="lab_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesAuthorized_2cfd1bb9-b8f6-412c-9a3d-b45c5fa252a5_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, shares authorized (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesAuthorized_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares Authorized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesAuthorized" xlink:to="lab_us-gaap_CommonStockSharesAuthorized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_ccfbcee4-dc96-4e15-9578-a42630132ae4_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_0bb53d5d-2b32-4643-a9b1-7da28ef9dec4_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross Unrealized Gain</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, before Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:to="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_BusinessCombinationUnvestedStockOptionAssumedShares_d38c4144-9290-4b53-9756-3028974ce1fd_terseLabel_en-US" xlink:label="lab_fsly_BusinessCombinationUnvestedStockOptionAssumedShares" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unvested stock options assumed (in shares)</link:label>
    <link:label id="lab_fsly_BusinessCombinationUnvestedStockOptionAssumedShares_label_en-US" xlink:label="lab_fsly_BusinessCombinationUnvestedStockOptionAssumedShares" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Unvested Stock Option Assumed, Shares</link:label>
    <link:label id="lab_fsly_BusinessCombinationUnvestedStockOptionAssumedShares_documentation_en-US" xlink:label="lab_fsly_BusinessCombinationUnvestedStockOptionAssumedShares" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Unvested Stock Option Assumed, Shares</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_BusinessCombinationUnvestedStockOptionAssumedShares" xlink:href="fsly-20231231.xsd#fsly_BusinessCombinationUnvestedStockOptionAssumedShares"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_BusinessCombinationUnvestedStockOptionAssumedShares" xlink:to="lab_fsly_BusinessCombinationUnvestedStockOptionAssumedShares" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_6a093b3b-b5b0-4b53-bf6f-78aff146739e_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments to reconcile net loss to net cash used in operating activities:</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock_559372de-4375-419d-87d0-e7055802178d_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Identifiable Finite-Lived Intangible Assets</link:label>
    <link:label id="lab_us-gaap_FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock_label_en-US" xlink:label="lab_us-gaap_FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived and Indefinite-Lived Intangible Assets Acquired as Part of Business Combination [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock" xlink:to="lab_us-gaap_FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AwardTmgDiscLineItems_label_en-US" xlink:label="lab_ecd_AwardTmgDiscLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Timing Disclosures [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgDiscLineItems" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgDiscLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="lab_ecd_AwardTmgDiscLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdditionalPaidInCapital_4a704559-6893-49b6-8472-af9fd7a55322_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapital" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional paid-in capital</link:label>
    <link:label id="lab_us-gaap_AdditionalPaidInCapital_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapital" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid in Capital</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapital" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapital"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapital" xlink:to="lab_us-gaap_AdditionalPaidInCapital" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConvertibleDebtSecuritiesMember_14e3cfc0-e963-4216-a3dc-632028a39b48_terseLabel_en-US" xlink:label="lab_us-gaap_ConvertibleDebtSecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Convertible senior notes (if-converted)</link:label>
    <link:label id="lab_us-gaap_ConvertibleDebtSecuritiesMember_label_en-US" xlink:label="lab_us-gaap_ConvertibleDebtSecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Convertible Debt Securities [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertibleDebtSecuritiesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtSecuritiesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConvertibleDebtSecuritiesMember" xlink:to="lab_us-gaap_ConvertibleDebtSecuritiesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongTermPurchaseCommitmentTextBlock_caa60ede-ba51-4042-b1f3-07bf88111f5f_terseLabel_en-US" xlink:label="lab_us-gaap_LongTermPurchaseCommitmentTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Purchase Commitments</link:label>
    <link:label id="lab_us-gaap_LongTermPurchaseCommitmentTextBlock_label_en-US" xlink:label="lab_us-gaap_LongTermPurchaseCommitmentTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Purchase Commitment [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermPurchaseCommitmentTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermPurchaseCommitmentTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentTextBlock" xlink:to="lab_us-gaap_LongTermPurchaseCommitmentTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxPolicyTextBlock_cb0d9b4f-3a01-42d0-abe8-99daebd88f1b_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Taxes</link:label>
    <link:label id="lab_us-gaap_IncomeTaxPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_IncomeTaxPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxPolicyTextBlock" xlink:to="lab_us-gaap_IncomeTaxPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_7cb66e34-c16b-4cfa-95e2-aa0925f45abe_terseLabel_en-US" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:label id="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_label_en-US" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid Expense and Other Assets, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_f1e8eca2-9501-4594-b135-e867cd61be23_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2026</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Three</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_InsiderTradingArrLineItems_label_en-US" xlink:label="lab_ecd_InsiderTradingArrLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Insider Trading Arrangements [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_InsiderTradingArrLineItems" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTradingArrLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="lab_ecd_InsiderTradingArrLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_8213f616-bab5-417b-b2d0-9dcd5b6cf2d2_terseLabel_en-US" xlink:label="lab_us-gaap_AOCIAttributableToParentNetOfTaxRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">AOCI Attributable to Parent, Net of Tax [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_label_en-US" xlink:label="lab_us-gaap_AOCIAttributableToParentNetOfTaxRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">AOCI Attributable to Parent, Net of Tax [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AOCIAttributableToParentNetOfTaxRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward" xlink:to="lab_us-gaap_AOCIAttributableToParentNetOfTaxRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_5cdd61ca-0841-4205-82f8-6e22b29776e8_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Aggregate intrinsic value</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityRegistrantName_946a9101-75e6-44e1-a71f-2dbec9e1532e_terseLabel_en-US" xlink:label="lab_dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:label id="lab_dei_EntityRegistrantName_label_en-US" xlink:label="lab_dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityRegistrantName" xlink:to="lab_dei_EntityRegistrantName" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_MtrlTermsOfTrdArrTextBlock_terseLabel_en-US" xlink:label="lab_ecd_MtrlTermsOfTrdArrTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Material Terms of Trading Arrangement</link:label>
    <link:label id="lab_ecd_MtrlTermsOfTrdArrTextBlock_label_en-US" xlink:label="lab_ecd_MtrlTermsOfTrdArrTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Material Terms of Trading Arrangement [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_MtrlTermsOfTrdArrTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_MtrlTermsOfTrdArrTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_MtrlTermsOfTrdArrTextBlock" xlink:to="lab_ecd_MtrlTermsOfTrdArrTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AwardTmgMethodTextBlock_terseLabel_en-US" xlink:label="lab_ecd_AwardTmgMethodTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Timing Method</link:label>
    <link:label id="lab_ecd_AwardTmgMethodTextBlock_label_en-US" xlink:label="lab_ecd_AwardTmgMethodTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Timing Method [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgMethodTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgMethodTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardTmgMethodTextBlock" xlink:to="lab_ecd_AwardTmgMethodTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets_03dd29d0-0287-4cf6-a60a-c6ba9a067c6a_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other assets</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Other Operating Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:to="lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_06b8bd20-36e7-4eeb-a618-9f6ccc0a3cf2_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign tax rate differential</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_4f0d2932-e4dd-4735-8419-9f00ca768a8b_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2025</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AdjToCompAmt_terseLabel_en-US" xlink:label="lab_ecd_AdjToCompAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustment to Compensation, Amount</link:label>
    <link:label id="lab_ecd_AdjToCompAmt_label_en-US" xlink:label="lab_ecd_AdjToCompAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustment to Compensation Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AdjToCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AdjToCompAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AdjToCompAmt" xlink:to="lab_ecd_AdjToCompAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_f37be721-343b-4505-bdbe-5f0dfab5c366_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Remaining Period</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Tranche Two [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:to="lab_us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CostOfSalesMember_7ef41ce0-16c4-44b7-9737-de16392c83e4_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfSalesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of revenue</link:label>
    <link:label id="lab_us-gaap_CostOfSalesMember_label_en-US" xlink:label="lab_us-gaap_CostOfSalesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of Sales [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfSalesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfSalesMember" xlink:to="lab_us-gaap_CostOfSalesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_AuditorName_b038e4ab-b152-4ece-8a8c-a43dbda1196a_terseLabel_en-US" xlink:label="lab_dei_AuditorName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Auditor Name</link:label>
    <link:label id="lab_dei_AuditorName_label_en-US" xlink:label="lab_dei_AuditorName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Auditor Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AuditorName" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AuditorName" xlink:to="lab_dei_AuditorName" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromLinesOfCredit_b081913e-f84f-4fbd-9ecc-893fd9e4ed03_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromLinesOfCredit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amounts drawn on line of credit during the period</link:label>
    <link:label id="lab_us-gaap_ProceedsFromLinesOfCredit_label_en-US" xlink:label="lab_us-gaap_ProceedsFromLinesOfCredit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Lines of Credit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromLinesOfCredit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromLinesOfCredit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromLinesOfCredit" xlink:to="lab_us-gaap_ProceedsFromLinesOfCredit" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_CompActuallyPaidVsNetIncomeTextBlock_terseLabel_en-US" xlink:label="lab_ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Compensation Actually Paid vs. Net Income</link:label>
    <link:label id="lab_ecd_CompActuallyPaidVsNetIncomeTextBlock_label_en-US" xlink:label="lab_ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Compensation Actually Paid vs. Net Income [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CompActuallyPaidVsNetIncomeTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:to="lab_ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_ColocationServicesMember_4f34a321-a830-4d42-8779-6af0ccbd11f0_terseLabel_en-US" xlink:label="lab_fsly_ColocationServicesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Colocation Services</link:label>
    <link:label id="lab_fsly_ColocationServicesMember_label_en-US" xlink:label="lab_fsly_ColocationServicesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Colocation Services [Member]</link:label>
    <link:label id="lab_fsly_ColocationServicesMember_documentation_en-US" xlink:label="lab_fsly_ColocationServicesMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Colocation Services [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ColocationServicesMember" xlink:href="fsly-20231231.xsd#fsly_ColocationServicesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_ColocationServicesMember" xlink:to="lab_fsly_ColocationServicesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_PeerGroupIssuersFnTextBlock_terseLabel_en-US" xlink:label="lab_ecd_PeerGroupIssuersFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Peer Group Issuers, Footnote</link:label>
    <link:label id="lab_ecd_PeerGroupIssuersFnTextBlock_label_en-US" xlink:label="lab_ecd_PeerGroupIssuersFnTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Peer Group Issuers, Footnote [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeerGroupIssuersFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeerGroupIssuersFnTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_PeerGroupIssuersFnTextBlock" xlink:to="lab_ecd_PeerGroupIssuersFnTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_d880472c-2745-467c-a155-93b85721501a_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Financial Assets and Liabilities Measured and Recorded at Fair Value on a Recurring Basis</link:label>
    <link:label id="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_RevestSharesMember_e15fced3-fdeb-4587-8413-9e6b13eed029_terseLabel_en-US" xlink:label="lab_fsly_RevestSharesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revest shares</link:label>
    <link:label id="lab_fsly_RevestSharesMember_label_en-US" xlink:label="lab_fsly_RevestSharesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revest Shares [Member]</link:label>
    <link:label id="lab_fsly_RevestSharesMember_documentation_en-US" xlink:label="lab_fsly_RevestSharesMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revest Shares</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_RevestSharesMember" xlink:href="fsly-20231231.xsd#fsly_RevestSharesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_RevestSharesMember" xlink:to="lab_fsly_RevestSharesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InternalUseSoftwarePolicy_6c8beeba-39f9-4ae1-9a5f-98476f6260ef_terseLabel_en-US" xlink:label="lab_us-gaap_InternalUseSoftwarePolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Internal-Use Software Development Costs</link:label>
    <link:label id="lab_us-gaap_InternalUseSoftwarePolicy_label_en-US" xlink:label="lab_us-gaap_InternalUseSoftwarePolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Internal Use Software, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InternalUseSoftwarePolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InternalUseSoftwarePolicy"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InternalUseSoftwarePolicy" xlink:to="lab_us-gaap_InternalUseSoftwarePolicy" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_NumberOfEquityIncentivePlans_3d4c3e57-0010-4437-be60-0c03087bdc09_terseLabel_en-US" xlink:label="lab_fsly_NumberOfEquityIncentivePlans" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of equity incentive plans</link:label>
    <link:label id="lab_fsly_NumberOfEquityIncentivePlans_label_en-US" xlink:label="lab_fsly_NumberOfEquityIncentivePlans" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number Of Equity Incentive Plans</link:label>
    <link:label id="lab_fsly_NumberOfEquityIncentivePlans_documentation_en-US" xlink:label="lab_fsly_NumberOfEquityIncentivePlans" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number Of Equity Incentive Plans</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_NumberOfEquityIncentivePlans" xlink:href="fsly-20231231.xsd#fsly_NumberOfEquityIncentivePlans"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_NumberOfEquityIncentivePlans" xlink:to="lab_fsly_NumberOfEquityIncentivePlans" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCentralIndexKey_5e1128b6-aad8-45ba-8a70-d554481c501c_terseLabel_en-US" xlink:label="lab_dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:label id="lab_dei_EntityCentralIndexKey_label_en-US" xlink:label="lab_dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCentralIndexKey" xlink:to="lab_dei_EntityCentralIndexKey" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AmortizationOfFinancingCostsAndDiscounts_8803bd58-9930-4f7f-8879-d2bf560bda23_terseLabel_en-US" xlink:label="lab_us-gaap_AmortizationOfFinancingCostsAndDiscounts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of debt discount and issuance costs</link:label>
    <link:label id="lab_us-gaap_AmortizationOfFinancingCostsAndDiscounts_label_en-US" xlink:label="lab_us-gaap_AmortizationOfFinancingCostsAndDiscounts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of Debt Issuance Costs and Discounts</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfFinancingCostsAndDiscounts" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfFinancingCostsAndDiscounts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AmortizationOfFinancingCostsAndDiscounts" xlink:to="lab_us-gaap_AmortizationOfFinancingCostsAndDiscounts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllocatedShareBasedCompensationExpense_a027f4ec-00fd-4357-908b-de013ebfb08a_terseLabel_en-US" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation expense</link:label>
    <link:label id="lab_us-gaap_AllocatedShareBasedCompensationExpense_label_en-US" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="lab_us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_NonRule10b51ArrTrmntdFlag_terseLabel_en-US" xlink:label="lab_ecd_NonRule10b51ArrTrmntdFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-Rule 10b5-1 Arrangement Terminated</link:label>
    <link:label id="lab_ecd_NonRule10b51ArrTrmntdFlag_label_en-US" xlink:label="lab_ecd_NonRule10b51ArrTrmntdFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-Rule 10b5-1 Arrangement Terminated [Flag]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonRule10b51ArrTrmntdFlag" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonRule10b51ArrTrmntdFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_NonRule10b51ArrTrmntdFlag" xlink:to="lab_ecd_NonRule10b51ArrTrmntdFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsGross_da880650-9dce-43ea-b5ad-0c4b466e2d0c_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross carrying value</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsGross_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityDomain_1ddc4c53-e2a9-4aa3-84f7-15314adcc023_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority [Domain]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityDomain_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain" xlink:to="lab_us-gaap_IncomeTaxAuthorityDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_DebtCovenantAdjustedQuickRatioMinimumThresholdToTriggerRevenueGrowthCovenantRequirement_1da9bb68-c488-423f-b0d6-0b189c124add_terseLabel_en-US" xlink:label="lab_fsly_DebtCovenantAdjustedQuickRatioMinimumThresholdToTriggerRevenueGrowthCovenantRequirement" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt covenant, adjusted quick ratio, minimum threshold to trigger revenue growth covenant requirement</link:label>
    <link:label id="lab_fsly_DebtCovenantAdjustedQuickRatioMinimumThresholdToTriggerRevenueGrowthCovenantRequirement_label_en-US" xlink:label="lab_fsly_DebtCovenantAdjustedQuickRatioMinimumThresholdToTriggerRevenueGrowthCovenantRequirement" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Covenant, Adjusted Quick Ratio, Minimum Threshold To Trigger Revenue Growth Covenant Requirement</link:label>
    <link:label id="lab_fsly_DebtCovenantAdjustedQuickRatioMinimumThresholdToTriggerRevenueGrowthCovenantRequirement_documentation_en-US" xlink:label="lab_fsly_DebtCovenantAdjustedQuickRatioMinimumThresholdToTriggerRevenueGrowthCovenantRequirement" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Covenant, Adjusted Quick Ratio, Minimum Threshold To Trigger Revenue Growth Covenant Requirement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DebtCovenantAdjustedQuickRatioMinimumThresholdToTriggerRevenueGrowthCovenantRequirement" xlink:href="fsly-20231231.xsd#fsly_DebtCovenantAdjustedQuickRatioMinimumThresholdToTriggerRevenueGrowthCovenantRequirement"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_DebtCovenantAdjustedQuickRatioMinimumThresholdToTriggerRevenueGrowthCovenantRequirement" xlink:to="lab_fsly_DebtCovenantAdjustedQuickRatioMinimumThresholdToTriggerRevenueGrowthCovenantRequirement" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent_8e193835-d959-4d04-bd3e-475f6d395efc_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued compensation and related benefits</link:label>
    <link:label id="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee-related Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:to="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SalesRevenueNetMember_25221ab3-948b-40ad-a475-25733c85ba2a_terseLabel_en-US" xlink:label="lab_us-gaap_SalesRevenueNetMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue</link:label>
    <link:label id="lab_us-gaap_SalesRevenueNetMember_label_en-US" xlink:label="lab_us-gaap_SalesRevenueNetMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue Benchmark [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesRevenueNetMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SalesRevenueNetMember" xlink:to="lab_us-gaap_SalesRevenueNetMember" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_TrdArrIndName_terseLabel_en-US" xlink:label="lab_ecd_TrdArrIndName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Name</link:label>
    <link:label id="lab_ecd_TrdArrIndName_label_en-US" xlink:label="lab_ecd_TrdArrIndName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Arrangement, Individual Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrIndName" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrIndName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_TrdArrIndName" xlink:to="lab_ecd_TrdArrIndName" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_083a9b99-2831-48fd-be49-d141cfb5152d_totalLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total other comprehensive gain (loss)</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_bd4b94c9-007b-4a09-a0d5-a64634972217_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other comprehensive income (loss)</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_e07f1300-e499-4de3-be91-88fbdcab54b4_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other comprehensive income (loss)</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedContractCostNetNoncurrent_10fca8cc-ef7e-499f-b159-c13e54cb5867_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostNetNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred contract costs, net</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostNetNoncurrent_label_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostNetNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost, Net, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostNetNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostNetNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedContractCostNetNoncurrent" xlink:to="lab_us-gaap_CapitalizedContractCostNetNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongtermDebtTypeAxis_b206c704-824c-4d66-8d9e-884c2fc6e6a3_terseLabel_en-US" xlink:label="lab_us-gaap_LongtermDebtTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Type [Axis]</link:label>
    <link:label id="lab_us-gaap_LongtermDebtTypeAxis_label_en-US" xlink:label="lab_us-gaap_LongtermDebtTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Debt, Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongtermDebtTypeAxis" xlink:to="lab_us-gaap_LongtermDebtTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_AmendmentFlag_b6e813ca-1548-4f14-89a7-27bde8527b7c_terseLabel_en-US" xlink:label="lab_dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amendment Flag</link:label>
    <link:label id="lab_dei_AmendmentFlag_label_en-US" xlink:label="lab_dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amendment Flag</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AmendmentFlag" xlink:to="lab_dei_AmendmentFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_CustomerArrangementMember_34469496-5f80-4b69-bfc8-7c5ac4e773e2_terseLabel_en-US" xlink:label="lab_fsly_CustomerArrangementMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer Arrangement</link:label>
    <link:label id="lab_fsly_CustomerArrangementMember_label_en-US" xlink:label="lab_fsly_CustomerArrangementMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer Arrangement [Member]</link:label>
    <link:label id="lab_fsly_CustomerArrangementMember_documentation_en-US" xlink:label="lab_fsly_CustomerArrangementMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer Arrangement [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_CustomerArrangementMember" xlink:href="fsly-20231231.xsd#fsly_CustomerArrangementMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_CustomerArrangementMember" xlink:to="lab_fsly_CustomerArrangementMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAxis_03bb911b-7fb8-4073-994d-b117653e483e_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents [Axis]</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAxis_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAxis" xlink:to="lab_us-gaap_CashAndCashEquivalentsAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedContractCostTable_78fde032-2161-4400-a28e-7e7920f1305f_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost [Table]</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostTable_label_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedContractCostTable" xlink:to="lab_us-gaap_CapitalizedContractCostTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_e2c2bd54-d4ca-4890-9888-64bb2286753b_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating leases</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Weighted Average Discount Rate, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_GlitchIncMember_d12c8889-1a95-42f0-bb3d-f86e4f4c5492_terseLabel_en-US" xlink:label="lab_fsly_GlitchIncMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Glitch Inc</link:label>
    <link:label id="lab_fsly_GlitchIncMember_label_en-US" xlink:label="lab_fsly_GlitchIncMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Glitch Inc [Member]</link:label>
    <link:label id="lab_fsly_GlitchIncMember_documentation_en-US" xlink:label="lab_fsly_GlitchIncMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Glitch Inc</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_GlitchIncMember" xlink:href="fsly-20231231.xsd#fsly_GlitchIncMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_GlitchIncMember" xlink:to="lab_fsly_GlitchIncMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InterestPaidNet_cb61434f-22e2-43a8-935f-4f163ea4d666_terseLabel_en-US" xlink:label="lab_us-gaap_InterestPaidNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash paid for interest</link:label>
    <link:label id="lab_us-gaap_InterestPaidNet_label_en-US" xlink:label="lab_us-gaap_InterestPaidNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest Paid, Excluding Capitalized Interest, Operating Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestPaidNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPaidNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestPaidNet" xlink:to="lab_us-gaap_InterestPaidNet" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_A20112019EquityIncentivePlanMember_d535e0ab-efe6-4047-8c3e-0361ba6b3397_terseLabel_en-US" xlink:label="lab_fsly_A20112019EquityIncentivePlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2011 Equity Incentive Plan</link:label>
    <link:label id="lab_fsly_A20112019EquityIncentivePlanMember_label_en-US" xlink:label="lab_fsly_A20112019EquityIncentivePlanMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2011 &amp; 2019 Equity Incentive Plan [Member]</link:label>
    <link:label id="lab_fsly_A20112019EquityIncentivePlanMember_documentation_en-US" xlink:label="lab_fsly_A20112019EquityIncentivePlanMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2011 &amp; 2019 Equity Incentive Plan</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_A20112019EquityIncentivePlanMember" xlink:href="fsly-20231231.xsd#fsly_A20112019EquityIncentivePlanMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_A20112019EquityIncentivePlanMember" xlink:to="lab_fsly_A20112019EquityIncentivePlanMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationsPolicy_db308810-2e11-4f87-a149-6eeb8a457a10_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationsPolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combinations</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationsPolicy_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationsPolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combinations Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationsPolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationsPolicy"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationsPolicy" xlink:to="lab_us-gaap_BusinessCombinationsPolicy" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_MarketBasedPerformanceStockAwardsMember_e21b4e45-b9b6-45ef-a6a8-0322ff5f371f_terseLabel_en-US" xlink:label="lab_fsly_MarketBasedPerformanceStockAwardsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">MPSUs</link:label>
    <link:label id="lab_fsly_MarketBasedPerformanceStockAwardsMember_label_en-US" xlink:label="lab_fsly_MarketBasedPerformanceStockAwardsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Market-Based Performance Stock Awards [Member]</link:label>
    <link:label id="lab_fsly_MarketBasedPerformanceStockAwardsMember_documentation_en-US" xlink:label="lab_fsly_MarketBasedPerformanceStockAwardsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Market-Based Performance Stock Awards</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_MarketBasedPerformanceStockAwardsMember" xlink:href="fsly-20231231.xsd#fsly_MarketBasedPerformanceStockAwardsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_MarketBasedPerformanceStockAwardsMember" xlink:to="lab_fsly_MarketBasedPerformanceStockAwardsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongTermDebtNoncurrent_ad1bf9af-b3ac-41f6-a283-00676843c6e9_terseLabel_en-US" xlink:label="lab_us-gaap_LongTermDebtNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term debt</link:label>
    <link:label id="lab_us-gaap_LongTermDebtNoncurrent_label_en-US" xlink:label="lab_us-gaap_LongTermDebtNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Debt, Excluding Current Maturities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermDebtNoncurrent" xlink:to="lab_us-gaap_LongTermDebtNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_84bccf4a-5d32-4012-aeb5-8bcf2f7c1a44_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance leases</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Weighted Average Remaining Lease Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="lab_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeaseholdImprovementsMember_085c5928-d761-4281-a594-dc0c3058a3c0_terseLabel_en-US" xlink:label="lab_us-gaap_LeaseholdImprovementsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leasehold improvements</link:label>
    <link:label id="lab_us-gaap_LeaseholdImprovementsMember_label_en-US" xlink:label="lab_us-gaap_LeaseholdImprovementsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leasehold Improvements [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseholdImprovementsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseholdImprovementsMember" xlink:to="lab_us-gaap_LeaseholdImprovementsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxLiabilities_6c9c0627-ea36-4bf7-b22a-c7fa3a0b3d56_negatedTotalLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilities" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net deferred tax (liabilities) assets</link:label>
    <link:label id="lab_us-gaap_DeferredTaxLiabilities_label_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilities" xlink:to="lab_us-gaap_DeferredTaxLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SellingAndMarketingExpenseMember_36da3fc8-7583-4201-8e21-d21b117e17c5_terseLabel_en-US" xlink:label="lab_us-gaap_SellingAndMarketingExpenseMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sales and marketing</link:label>
    <link:label id="lab_us-gaap_SellingAndMarketingExpenseMember_label_en-US" xlink:label="lab_us-gaap_SellingAndMarketingExpenseMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling and Marketing Expense [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingAndMarketingExpenseMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpenseMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SellingAndMarketingExpenseMember" xlink:to="lab_us-gaap_SellingAndMarketingExpenseMember" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_StockIssuedDuringPeriodValueVestingOfEarlyExercisedStockOptions_471de2fc-f921-4e57-987e-986b424d07ef_terseLabel_en-US" xlink:label="lab_fsly_StockIssuedDuringPeriodValueVestingOfEarlyExercisedStockOptions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting of early exercised stock options</link:label>
    <link:label id="lab_fsly_StockIssuedDuringPeriodValueVestingOfEarlyExercisedStockOptions_label_en-US" xlink:label="lab_fsly_StockIssuedDuringPeriodValueVestingOfEarlyExercisedStockOptions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Value, Vesting Of Early Exercised Stock Options</link:label>
    <link:label id="lab_fsly_StockIssuedDuringPeriodValueVestingOfEarlyExercisedStockOptions_documentation_en-US" xlink:label="lab_fsly_StockIssuedDuringPeriodValueVestingOfEarlyExercisedStockOptions" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Value, Vesting Of Early Exercised Stock Options</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_StockIssuedDuringPeriodValueVestingOfEarlyExercisedStockOptions" xlink:href="fsly-20231231.xsd#fsly_StockIssuedDuringPeriodValueVestingOfEarlyExercisedStockOptions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_StockIssuedDuringPeriodValueVestingOfEarlyExercisedStockOptions" xlink:to="lab_fsly_StockIssuedDuringPeriodValueVestingOfEarlyExercisedStockOptions" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_f3d0f019-83d8-49d1-b06a-1a6366c36ce9_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted-average shares used in computing net loss per share attributable to common stockholders, diluted (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock_terseLabel_en-US" xlink:label="lab_ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forgone Recovery, Explanation of Impracticability</link:label>
    <link:label id="lab_ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock_label_en-US" xlink:label="lab_ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forgone Recovery, Explanation of Impracticability [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:to="lab_ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardRestrictedStockUnitsVestedAndExpectedToVestTableTextBlock_f56f2acd-ba6a-43ba-af9e-df3e5447c6cd_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardRestrictedStockUnitsVestedAndExpectedToVestTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Restricted Stock Units and Restricted Stock Awards</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardRestrictedStockUnitsVestedAndExpectedToVestTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardRestrictedStockUnitsVestedAndExpectedToVestTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangements by Share-Based Payment Award, Restricted Stock Units, Vested and Expected to Vest [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardRestrictedStockUnitsVestedAndExpectedToVestTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardRestrictedStockUnitsVestedAndExpectedToVestTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardRestrictedStockUnitsVestedAndExpectedToVestTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardRestrictedStockUnitsVestedAndExpectedToVestTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingExpensesAbstract_6df1d6b0-4402-4e78-b2dc-fba7c4a2e663_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingExpensesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating expenses:</link:label>
    <link:label id="lab_us-gaap_OperatingExpensesAbstract_label_en-US" xlink:label="lab_us-gaap_OperatingExpensesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Expenses [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpensesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpensesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingExpensesAbstract" xlink:to="lab_us-gaap_OperatingExpensesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_d959518f-ae87-481c-85eb-c04c6de11608_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchases of property and equipment</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Acquire Property, Plant, and Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_CoSelectedMeasureAmt_terseLabel_en-US" xlink:label="lab_ecd_CoSelectedMeasureAmt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Company Selected Measure Amount</link:label>
    <link:label id="lab_ecd_CoSelectedMeasureAmt_label_en-US" xlink:label="lab_ecd_CoSelectedMeasureAmt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Company Selected Measure Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CoSelectedMeasureAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CoSelectedMeasureAmt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_CoSelectedMeasureAmt" xlink:to="lab_ecd_CoSelectedMeasureAmt" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_DebtConversionScenarioOneMember_2e3b0922-c796-4832-a7b5-f52ba586e841_terseLabel_en-US" xlink:label="lab_fsly_DebtConversionScenarioOneMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fastly Conversion Option</link:label>
    <link:label id="lab_fsly_DebtConversionScenarioOneMember_label_en-US" xlink:label="lab_fsly_DebtConversionScenarioOneMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Conversion, Scenario One [Member]</link:label>
    <link:label id="lab_fsly_DebtConversionScenarioOneMember_documentation_en-US" xlink:label="lab_fsly_DebtConversionScenarioOneMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Conversion, Scenario One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DebtConversionScenarioOneMember" xlink:href="fsly-20231231.xsd#fsly_DebtConversionScenarioOneMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_DebtConversionScenarioOneMember" xlink:to="lab_fsly_DebtConversionScenarioOneMember" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_DebtInstrumentBasisSpreadAdjustment_6abe6cc5-eaad-4cc0-8da4-c603ce6108f9_terseLabel_en-US" xlink:label="lab_fsly_DebtInstrumentBasisSpreadAdjustment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basis spread adjustment</link:label>
    <link:label id="lab_fsly_DebtInstrumentBasisSpreadAdjustment_label_en-US" xlink:label="lab_fsly_DebtInstrumentBasisSpreadAdjustment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Basis Spread Adjustment</link:label>
    <link:label id="lab_fsly_DebtInstrumentBasisSpreadAdjustment_documentation_en-US" xlink:label="lab_fsly_DebtInstrumentBasisSpreadAdjustment" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Basis Spread Adjustment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DebtInstrumentBasisSpreadAdjustment" xlink:href="fsly-20231231.xsd#fsly_DebtInstrumentBasisSpreadAdjustment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_DebtInstrumentBasisSpreadAdjustment" xlink:to="lab_fsly_DebtInstrumentBasisSpreadAdjustment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Assets_76b1e35c-420b-4230-b70b-c3d9d2a79bcb_totalLabel_en-US" xlink:label="lab_us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total assets</link:label>
    <link:label id="lab_us-gaap_Assets_label_en-US" xlink:label="lab_us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Assets" xlink:to="lab_us-gaap_Assets" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AwardsCloseToMnpiDiscIndName_terseLabel_en-US" xlink:label="lab_ecd_AwardsCloseToMnpiDiscIndName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Name</link:label>
    <link:label id="lab_ecd_AwardsCloseToMnpiDiscIndName_label_en-US" xlink:label="lab_ecd_AwardsCloseToMnpiDiscIndName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Awards Close in Time to MNPI Disclosures, Individual Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardsCloseToMnpiDiscIndName" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardsCloseToMnpiDiscIndName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AwardsCloseToMnpiDiscIndName" xlink:to="lab_ecd_AwardsCloseToMnpiDiscIndName" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive_3dc981cb-8118-49b0-ae0e-eef09892935d_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Thereafter</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Liability, to be Paid, after Year Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:to="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1_f7bcb9f2-f411-4247-90ca-b1516fbf37c0_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vested and exercisable, weighted average contractual term</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Remaining Contractual Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromConvertibleDebt_6ba295f2-1cac-4c52-9852-67af63def91f_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromConvertibleDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Issuance of convertible note, net of issuance costs</link:label>
    <link:label id="lab_us-gaap_ProceedsFromConvertibleDebt_label_en-US" xlink:label="lab_us-gaap_ProceedsFromConvertibleDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Convertible Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromConvertibleDebt" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromConvertibleDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromConvertibleDebt" xlink:to="lab_us-gaap_ProceedsFromConvertibleDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_f39a312b-b3f0-4bd6-b9c6-926963bb7290_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">APIC, Share-Based Payment Arrangement, Increase for Cost Recognition</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_ShareBasedPaymentArrangementNoncashAmountCapitalizedIntoInternalUseSoftware_d0fee90d-27b3-470f-a58c-2ef580f4ce6e_terseLabel_en-US" xlink:label="lab_fsly_ShareBasedPaymentArrangementNoncashAmountCapitalizedIntoInternalUseSoftware" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation capitalized to internal-use software</link:label>
    <link:label id="lab_fsly_ShareBasedPaymentArrangementNoncashAmountCapitalizedIntoInternalUseSoftware_label_en-US" xlink:label="lab_fsly_ShareBasedPaymentArrangementNoncashAmountCapitalizedIntoInternalUseSoftware" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Noncash, Amount Capitalized Into Internal Use Software</link:label>
    <link:label id="lab_fsly_ShareBasedPaymentArrangementNoncashAmountCapitalizedIntoInternalUseSoftware_documentation_en-US" xlink:label="lab_fsly_ShareBasedPaymentArrangementNoncashAmountCapitalizedIntoInternalUseSoftware" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Noncash, Amount Capitalized Into Internal Use Software</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ShareBasedPaymentArrangementNoncashAmountCapitalizedIntoInternalUseSoftware" xlink:href="fsly-20231231.xsd#fsly_ShareBasedPaymentArrangementNoncashAmountCapitalizedIntoInternalUseSoftware"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_ShareBasedPaymentArrangementNoncashAmountCapitalizedIntoInternalUseSoftware" xlink:to="lab_fsly_ShareBasedPaymentArrangementNoncashAmountCapitalizedIntoInternalUseSoftware" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentInterestRateDuringPeriod_a30be1df-0f42-4b53-91df-6d09ebbc6cae_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentInterestRateDuringPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective interest rate</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentInterestRateDuringPeriod_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentInterestRateDuringPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Interest Rate During Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateDuringPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateDuringPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentInterestRateDuringPeriod" xlink:to="lab_us-gaap_DebtInstrumentInterestRateDuringPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_e403710c-0f4f-4aa0-bf79-48f3f9f26a88_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vested (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_NonNeosMember_terseLabel_en-US" xlink:label="lab_ecd_NonNeosMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-NEOs</link:label>
    <link:label id="lab_ecd_NonNeosMember_label_en-US" xlink:label="lab_ecd_NonNeosMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-NEOs [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonNeosMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonNeosMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_NonNeosMember" xlink:to="lab_ecd_NonNeosMember" xlink:type="arc" order="1"/>
    <link:label id="lab_fsly_PerformanceTargetPayoutLevelThreeMember_b67f4655-f5f0-47a7-852d-7283a32da53b_terseLabel_en-US" xlink:label="lab_fsly_PerformanceTargetPayoutLevelThreeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Target Payout Level Three</link:label>
    <link:label id="lab_fsly_PerformanceTargetPayoutLevelThreeMember_label_en-US" xlink:label="lab_fsly_PerformanceTargetPayoutLevelThreeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Target Payout Level Three [Member]</link:label>
    <link:label id="lab_fsly_PerformanceTargetPayoutLevelThreeMember_documentation_en-US" xlink:label="lab_fsly_PerformanceTargetPayoutLevelThreeMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Target Payout Level Three</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_PerformanceTargetPayoutLevelThreeMember" xlink:href="fsly-20231231.xsd#fsly_PerformanceTargetPayoutLevelThreeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_fsly_PerformanceTargetPayoutLevelThreeMember" xlink:to="lab_fsly_PerformanceTargetPayoutLevelThreeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_5ec369ac-adea-4f37-acb3-11252dce4bb4_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash flows from financing activities:</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_NonPeoNeoMember_terseLabel_en-US" xlink:label="lab_ecd_NonPeoNeoMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-PEO NEO</link:label>
    <link:label id="lab_ecd_NonPeoNeoMember_label_en-US" xlink:label="lab_ecd_NonPeoNeoMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-PEO NEO [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonPeoNeoMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonPeoNeoMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_NonPeoNeoMember" xlink:to="lab_ecd_NonPeoNeoMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MarketableSecurities_516712af-6a54-4167-82bd-9fb1cbc608ec_totalLabel_en-US" xlink:label="lab_us-gaap_MarketableSecurities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total marketable securities</link:label>
    <link:label id="lab_us-gaap_MarketableSecurities_4bad3ba7-c117-4a28-9236-c19e3453f502_terseLabel_en-US" xlink:label="lab_us-gaap_MarketableSecurities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Marketable securities</link:label>
    <link:label id="lab_us-gaap_MarketableSecurities_label_en-US" xlink:label="lab_us-gaap_MarketableSecurities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Marketable Securities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MarketableSecurities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecurities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MarketableSecurities" xlink:to="lab_us-gaap_MarketableSecurities" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_AdjToCompAxis_terseLabel_en-US" xlink:label="lab_ecd_AdjToCompAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustment to Compensation:</link:label>
    <link:label id="lab_ecd_AdjToCompAxis_label_en-US" xlink:label="lab_ecd_AdjToCompAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustment to Compensation [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AdjToCompAxis" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AdjToCompAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_AdjToCompAxis" xlink:to="lab_ecd_AdjToCompAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_2eb71ad7-cd46-41de-908d-ec8d20e89597_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net operating losses</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Operating Loss Carryforwards</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:to="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentLineItems_b5af25bc-c1cb-479c-ac63-15cba193d1fd_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument [Line Items]</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentLineItems_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentLineItems" xlink:to="lab_us-gaap_DebtInstrumentLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerAssetNet_d9bcf477-4b10-44bb-b29a-7076b78dd05b_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract assets</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerAssetNet_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Asset, after Allowance for Credit Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerAssetNet" xlink:to="lab_us-gaap_ContractWithCustomerAssetNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_ba674814-6526-4306-8575-ccc910f6eb62_verboseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted-average shares used in computing net loss per share attributable to common stockholders, basic (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Basic</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment_6b9cd3ff-6b52-41c1-945a-a75b93db2029_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and development credits</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Nondeductible Expense, Research and Development, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PriorPeriodReclassificationAdjustmentDescription_a488255c-5765-437b-8c72-6532912c723c_terseLabel_en-US" xlink:label="lab_us-gaap_PriorPeriodReclassificationAdjustmentDescription" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reclassification</link:label>
    <link:label id="lab_us-gaap_PriorPeriodReclassificationAdjustmentDescription_label_en-US" xlink:label="lab_us-gaap_PriorPeriodReclassificationAdjustmentDescription" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reclassification, Comparability Adjustment [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PriorPeriodReclassificationAdjustmentDescription" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PriorPeriodReclassificationAdjustmentDescription"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PriorPeriodReclassificationAdjustmentDescription" xlink:to="lab_us-gaap_PriorPeriodReclassificationAdjustmentDescription" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskByBenchmarkAxis_dea6c0d5-1e27-488c-bcbd-418cf338bc8e_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Benchmark [Axis]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskByBenchmarkAxis_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Benchmark [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="lab_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CostOfRevenue_3789491f-95fd-430c-9e02-615e2823193d_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfRevenue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of revenue</link:label>
    <link:label id="lab_us-gaap_CostOfRevenue_label_en-US" xlink:label="lab_us-gaap_CostOfRevenue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of Revenue</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfRevenue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfRevenue" xlink:to="lab_us-gaap_CostOfRevenue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfOtherComprehensiveIncomeAbstract_fc61ca3a-5a4c-4f40-8476-237e45575347_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfOtherComprehensiveIncomeAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Other Comprehensive Income [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfOtherComprehensiveIncomeAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfOtherComprehensiveIncomeAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Other Comprehensive Income [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfOtherComprehensiveIncomeAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfOtherComprehensiveIncomeAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfOtherComprehensiveIncomeAbstract" xlink:to="lab_us-gaap_StatementOfOtherComprehensiveIncomeAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_ecd_PvpTable_terseLabel_en-US" xlink:label="lab_ecd_PvpTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pay vs Performance Disclosure</link:label>
    <link:label id="lab_ecd_PvpTable_label_en-US" xlink:label="lab_ecd_PvpTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pay vs Performance Disclosure [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PvpTable" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PvpTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_ecd_PvpTable" xlink:to="lab_ecd_PvpTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_c4f94f82-bee2-43ae-a950-4dd7afbb9c09_verboseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of credit, unused capacity, commitment fee percentage</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Unused Capacity, Commitment Fee Percentage</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:to="lab_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementLineItems_a8f758c9-4abb-43d5-96c7-319175f651d3_terseLabel_en-US" xlink:label="lab_us-gaap_StatementLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:label id="lab_us-gaap_StatementLineItems_label_en-US" xlink:label="lab_us-gaap_StatementLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementLineItems" xlink:to="lab_us-gaap_StatementLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities_48af0ccb-64a6-411d-b31b-ccdec09d07bf_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Conversion of Class B common stock to Class A common stock</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Value, Conversion of Convertible Securities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskTable_2453ebad-5e83-4601-b3ed-68d160be51de_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk [Table]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskTable_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskTable" xlink:to="lab_us-gaap_ConcentrationRiskTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfDebtTableTextBlock_0b0ecb6d-599e-476f-849a-0952ea193c61_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfDebtTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Carrying Values of Debt Agreements</link:label>
    <link:label id="lab_us-gaap_ScheduleOfDebtTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfDebtTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Debt [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDebtTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDebtTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfDebtTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfDebtTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock_4412ded8-02f4-4b9c-bb60-3951d4492428_terseLabel_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Available-For-Sale Investments</link:label>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock_label_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock" xlink:to="lab_us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TaxCreditCarryforwardAxis_0cc93138-d0ac-4760-a4e6-b8c84c0c998f_terseLabel_en-US" xlink:label="lab_us-gaap_TaxCreditCarryforwardAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tax Credit Carryforward [Axis]</link:label>
    <link:label id="lab_us-gaap_TaxCreditCarryforwardAxis_label_en-US" xlink:label="lab_us-gaap_TaxCreditCarryforwardAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tax Credit Carryforward [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxCreditCarryforwardAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxCreditCarryforwardAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TaxCreditCarryforwardAxis" xlink:to="lab_us-gaap_TaxCreditCarryforwardAxis" xlink:type="arc" order="1"/>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>15
<FILENAME>fsly-20231231_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2024 Workiva-->
<!--r:0811f168-84e9-4938-b9eb-eec18ec6ef5f,g:2dd75f08-7fdf-4aeb-9387-1f61559612c6-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://fastly.com/role/CoverPage" xlink:type="simple" xlink:href="fsly-20231231.xsd#CoverPage"/>
  <link:presentationLink xlink:role="http://fastly.com/role/CoverPage" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType_1ebfc69a-a851-4b5e-a42b-153e1dae8fd4" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:to="loc_dei_DocumentType_1ebfc69a-a851-4b5e-a42b-153e1dae8fd4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentAnnualReport_a6b0b93b-298f-4995-88d9-ac85a46d30a6" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAnnualReport"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:to="loc_dei_DocumentAnnualReport_a6b0b93b-298f-4995-88d9-ac85a46d30a6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate_76d81f72-ce9b-4947-99cd-223968960928" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:to="loc_dei_DocumentPeriodEndDate_76d81f72-ce9b-4947-99cd-223968960928" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CurrentFiscalYearEndDate_26931baa-e0f0-44ed-ad83-c787f873204a" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:to="loc_dei_CurrentFiscalYearEndDate_26931baa-e0f0-44ed-ad83-c787f873204a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentTransitionReport_2993f854-90fc-4f66-a1ab-0f94afb8b088" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:to="loc_dei_DocumentTransitionReport_2993f854-90fc-4f66-a1ab-0f94afb8b088" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber_26330d74-4cdb-4082-a356-671f2f792627" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:to="loc_dei_EntityFileNumber_26330d74-4cdb-4082-a356-671f2f792627" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName_dadba05a-6da9-4e8f-8a96-eb33c7f7efa1" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:to="loc_dei_EntityRegistrantName_dadba05a-6da9-4e8f-8a96-eb33c7f7efa1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode_c5adc552-b8f4-4a2f-b736-afa000adfc0b" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:to="loc_dei_EntityIncorporationStateCountryCode_c5adc552-b8f4-4a2f-b736-afa000adfc0b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber_6812810a-a8e9-4065-9aed-b544f3d747ae" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:to="loc_dei_EntityTaxIdentificationNumber_6812810a-a8e9-4065-9aed-b544f3d747ae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1_27da4986-03a7-4a74-8ae9-ee2f9d94c306" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:to="loc_dei_EntityAddressAddressLine1_27da4986-03a7-4a74-8ae9-ee2f9d94c306" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown_8460a780-446b-44fd-894d-0f4abe91d71b" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:to="loc_dei_EntityAddressCityOrTown_8460a780-446b-44fd-894d-0f4abe91d71b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince_84ab4feb-3545-4a5f-9d86-59c82f4d2288" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:to="loc_dei_EntityAddressStateOrProvince_84ab4feb-3545-4a5f-9d86-59c82f4d2288" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode_dea5ab7b-5706-46ed-8c65-77e64ef06a3b" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:to="loc_dei_EntityAddressPostalZipCode_dea5ab7b-5706-46ed-8c65-77e64ef06a3b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode_96392cb4-f392-4d1a-ae26-8f354754b08d" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:to="loc_dei_CityAreaCode_96392cb4-f392-4d1a-ae26-8f354754b08d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber_66529611-0b5a-4525-aa1e-b2e565c7b6c9" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:to="loc_dei_LocalPhoneNumber_66529611-0b5a-4525-aa1e-b2e565c7b6c9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle_774a91a5-e1df-41a3-b9b6-b09635d826ac" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:to="loc_dei_Security12bTitle_774a91a5-e1df-41a3-b9b6-b09635d826ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol_9737c1fd-dca0-4c87-b518-e7ea3f05080a" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:to="loc_dei_TradingSymbol_9737c1fd-dca0-4c87-b518-e7ea3f05080a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName_46e2e1e6-c18a-4d8d-bde8-92c3b9dc6c37" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:to="loc_dei_SecurityExchangeName_46e2e1e6-c18a-4d8d-bde8-92c3b9dc6c37" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityWellKnownSeasonedIssuer_1bf7ad92-d66a-4425-b786-44f5e7572dc9" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityWellKnownSeasonedIssuer"/>
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:to="loc_dei_EntityWellKnownSeasonedIssuer_1bf7ad92-d66a-4425-b786-44f5e7572dc9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityVoluntaryFilers_c77e6cf3-bfe5-4a5f-94bf-5da3a04a1d39" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityVoluntaryFilers"/>
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:to="loc_dei_EntityVoluntaryFilers_c77e6cf3-bfe5-4a5f-94bf-5da3a04a1d39" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCurrentReportingStatus_bf122af6-00d3-4f49-8904-045763ef06d0" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus"/>
    <link:presentationArc order="21" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:to="loc_dei_EntityCurrentReportingStatus_bf122af6-00d3-4f49-8904-045763ef06d0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityInteractiveDataCurrent_5f7fc815-05ee-449e-86f8-90865a70db7e" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent"/>
    <link:presentationArc order="22" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:to="loc_dei_EntityInteractiveDataCurrent_5f7fc815-05ee-449e-86f8-90865a70db7e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFilerCategory_be9a4ef9-1669-4799-aaae-9d6ff45d0c9f" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory"/>
    <link:presentationArc order="23" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:to="loc_dei_EntityFilerCategory_be9a4ef9-1669-4799-aaae-9d6ff45d0c9f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntitySmallBusiness_2074d697-8ed9-4413-9c62-93a2023bb84f" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness"/>
    <link:presentationArc order="24" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:to="loc_dei_EntitySmallBusiness_2074d697-8ed9-4413-9c62-93a2023bb84f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany_446ddfd3-799f-43d7-aff7-ea03251f6b58" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:presentationArc order="25" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:to="loc_dei_EntityEmergingGrowthCompany_446ddfd3-799f-43d7-aff7-ea03251f6b58" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_IcfrAuditorAttestationFlag_2625f2e6-657f-4b3a-be40-e589dc8975f7" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_IcfrAuditorAttestationFlag"/>
    <link:presentationArc order="26" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:to="loc_dei_IcfrAuditorAttestationFlag_2625f2e6-657f-4b3a-be40-e589dc8975f7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFinStmtErrorCorrectionFlag_52dbb981-8e6f-4046-9070-66799c92e3fa" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFinStmtErrorCorrectionFlag"/>
    <link:presentationArc order="27" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:to="loc_dei_DocumentFinStmtErrorCorrectionFlag_52dbb981-8e6f-4046-9070-66799c92e3fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityShellCompany_31cd7948-143c-4df1-b51e-0fd3eb24d338" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany"/>
    <link:presentationArc order="28" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:to="loc_dei_EntityShellCompany_31cd7948-143c-4df1-b51e-0fd3eb24d338" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityPublicFloat_9209685e-620a-4be0-8747-a52de2a7693c" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPublicFloat"/>
    <link:presentationArc order="29" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:to="loc_dei_EntityPublicFloat_9209685e-620a-4be0-8747-a52de2a7693c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCommonStockSharesOutstanding_dc843100-0b46-4d98-b13f-bf708d61d32e" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding"/>
    <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:to="loc_dei_EntityCommonStockSharesOutstanding_dc843100-0b46-4d98-b13f-bf708d61d32e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentsIncorporatedByReferenceTextBlock_248e74de-f10b-496b-9106-df98374926da" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentsIncorporatedByReferenceTextBlock"/>
    <link:presentationArc order="31" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:to="loc_dei_DocumentsIncorporatedByReferenceTextBlock_248e74de-f10b-496b-9106-df98374926da" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey_d75b6136-d04c-435a-b7ea-4170a020ca18" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey"/>
    <link:presentationArc order="32" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:to="loc_dei_EntityCentralIndexKey_d75b6136-d04c-435a-b7ea-4170a020ca18" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalYearFocus_b3994fb0-dcf9-4dc0-bdad-30f793d8b790" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus"/>
    <link:presentationArc order="33" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:to="loc_dei_DocumentFiscalYearFocus_b3994fb0-dcf9-4dc0-bdad-30f793d8b790" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalPeriodFocus_95cc2768-3dc8-4cde-bfd5-8b5faf91de7b" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus"/>
    <link:presentationArc order="34" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:to="loc_dei_DocumentFiscalPeriodFocus_95cc2768-3dc8-4cde-bfd5-8b5faf91de7b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag_6dbd109d-cb52-4024-a4c5-333386c73523" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag"/>
    <link:presentationArc order="35" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_979ae43d-7ab9-4cbf-8a64-9927b213c59a" xlink:to="loc_dei_AmendmentFlag_6dbd109d-cb52-4024-a4c5-333386c73523" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/AuditInformation" xlink:type="simple" xlink:href="fsly-20231231.xsd#AuditInformation"/>
  <link:presentationLink xlink:role="http://fastly.com/role/AuditInformation" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_fsly_AuditInformationAbstract_f6934c2d-207d-4540-89ff-650bbccb1996" xlink:href="fsly-20231231.xsd#fsly_AuditInformationAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AuditorName_e33bf95d-223d-484d-ba28-d2e13e7ea262" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorName"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_fsly_AuditInformationAbstract_f6934c2d-207d-4540-89ff-650bbccb1996" xlink:to="loc_dei_AuditorName_e33bf95d-223d-484d-ba28-d2e13e7ea262" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AuditorLocation_40ce4791-ff63-47f1-b43b-443edb123efe" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorLocation"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_fsly_AuditInformationAbstract_f6934c2d-207d-4540-89ff-650bbccb1996" xlink:to="loc_dei_AuditorLocation_40ce4791-ff63-47f1-b43b-443edb123efe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AuditorFirmId_b6e7da1b-9aa6-46f8-9550-736e9bec9951" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorFirmId"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_fsly_AuditInformationAbstract_f6934c2d-207d-4540-89ff-650bbccb1996" xlink:to="loc_dei_AuditorFirmId_b6e7da1b-9aa6-46f8-9550-736e9bec9951" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/CONSOLIDATEDBALANCESHEETS" xlink:type="simple" xlink:href="fsly-20231231.xsd#CONSOLIDATEDBALANCESHEETS"/>
  <link:presentationLink xlink:role="http://fastly.com/role/CONSOLIDATEDBALANCESHEETS" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_1cb0c632-d7f7-4dd3-9c36-a5805bfd027a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract_9ff3e1b8-e2e1-42d7-8cc1-66c790e793fe" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_1cb0c632-d7f7-4dd3-9c36-a5805bfd027a" xlink:to="loc_us-gaap_AssetsAbstract_9ff3e1b8-e2e1-42d7-8cc1-66c790e793fe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrentAbstract_2bb30f16-7f59-4cd6-816d-243b595bbc6f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_9ff3e1b8-e2e1-42d7-8cc1-66c790e793fe" xlink:to="loc_us-gaap_AssetsCurrentAbstract_2bb30f16-7f59-4cd6-816d-243b595bbc6f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_c8c4b86c-2e03-49ab-b1d5-170cb2a52271" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_2bb30f16-7f59-4cd6-816d-243b595bbc6f" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_c8c4b86c-2e03-49ab-b1d5-170cb2a52271" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MarketableSecuritiesCurrent_e114e86a-41fa-4013-92b4-df7b4790a970" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecuritiesCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_2bb30f16-7f59-4cd6-816d-243b595bbc6f" xlink:to="loc_us-gaap_MarketableSecuritiesCurrent_e114e86a-41fa-4013-92b4-df7b4790a970" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_eb16d129-122a-4735-8a2c-b2a94e5bdf8e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_2bb30f16-7f59-4cd6-816d-243b595bbc6f" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_eb16d129-122a-4735-8a2c-b2a94e5bdf8e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_0f9c463b-c471-48cc-965f-8299375d238b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_2bb30f16-7f59-4cd6-816d-243b595bbc6f" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_0f9c463b-c471-48cc-965f-8299375d238b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_bba8787a-9744-4826-8280-1b6e635d732b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_2bb30f16-7f59-4cd6-816d-243b595bbc6f" xlink:to="loc_us-gaap_AssetsCurrent_bba8787a-9744-4826-8280-1b6e635d732b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_6bf942fe-7e8d-400b-a1c3-6ab704efcf95" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_9ff3e1b8-e2e1-42d7-8cc1-66c790e793fe" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_6bf942fe-7e8d-400b-a1c3-6ab704efcf95" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_8abf9da5-ce95-490e-90d6-2f415a64e4a3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_9ff3e1b8-e2e1-42d7-8cc1-66c790e793fe" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_8abf9da5-ce95-490e-90d6-2f415a64e4a3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_f9603bb0-6afc-4969-acbe-83de26b11bae" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_9ff3e1b8-e2e1-42d7-8cc1-66c790e793fe" xlink:to="loc_us-gaap_Goodwill_f9603bb0-6afc-4969-acbe-83de26b11bae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_2964e5c2-24be-4334-ae38-e2afe4b8aa93" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_9ff3e1b8-e2e1-42d7-8cc1-66c790e793fe" xlink:to="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_2964e5c2-24be-4334-ae38-e2afe4b8aa93" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MarketableSecuritiesNoncurrent_608b1b17-a401-4f5a-9683-a0ed39a43145" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecuritiesNoncurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_9ff3e1b8-e2e1-42d7-8cc1-66c790e793fe" xlink:to="loc_us-gaap_MarketableSecuritiesNoncurrent_608b1b17-a401-4f5a-9683-a0ed39a43145" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_6ca77895-85ec-4529-a19d-e85c2111fbc6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_9ff3e1b8-e2e1-42d7-8cc1-66c790e793fe" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_6ca77895-85ec-4529-a19d-e85c2111fbc6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_4849a842-f3e7-4a5d-82b3-0ca9af66a440" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_9ff3e1b8-e2e1-42d7-8cc1-66c790e793fe" xlink:to="loc_us-gaap_Assets_4849a842-f3e7-4a5d-82b3-0ca9af66a440" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_5bf92bf8-dabd-4901-829b-a0edd9e72965" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_1cb0c632-d7f7-4dd3-9c36-a5805bfd027a" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_5bf92bf8-dabd-4901-829b-a0edd9e72965" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract_113f1ef2-24e6-4f5d-bc55-f011685eb2fe" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_5bf92bf8-dabd-4901-829b-a0edd9e72965" xlink:to="loc_us-gaap_LiabilitiesCurrentAbstract_113f1ef2-24e6-4f5d-bc55-f011685eb2fe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_8c8d1507-ed4c-4ee0-8a69-790a4cf79598" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_113f1ef2-24e6-4f5d-bc55-f011685eb2fe" xlink:to="loc_us-gaap_AccountsPayableCurrent_8c8d1507-ed4c-4ee0-8a69-790a4cf79598" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_44f8a2bb-10e7-4e93-8b49-6ec6e07b0582" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_113f1ef2-24e6-4f5d-bc55-f011685eb2fe" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_44f8a2bb-10e7-4e93-8b49-6ec6e07b0582" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityCurrent_f0fe2f41-f5d4-4a47-bf92-4196a7a6444c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_113f1ef2-24e6-4f5d-bc55-f011685eb2fe" xlink:to="loc_us-gaap_FinanceLeaseLiabilityCurrent_f0fe2f41-f5d4-4a47-bf92-4196a7a6444c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_776a4dd1-cae9-4ffd-a389-4ce2356acaac" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_113f1ef2-24e6-4f5d-bc55-f011685eb2fe" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_776a4dd1-cae9-4ffd-a389-4ce2356acaac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesCurrent_38949891-bc85-4b46-ba7b-286852d47d80" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_113f1ef2-24e6-4f5d-bc55-f011685eb2fe" xlink:to="loc_us-gaap_OtherLiabilitiesCurrent_38949891-bc85-4b46-ba7b-286852d47d80" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_8fdd5d8a-dc3e-4055-a4a0-ac5195c2a457" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_113f1ef2-24e6-4f5d-bc55-f011685eb2fe" xlink:to="loc_us-gaap_LiabilitiesCurrent_8fdd5d8a-dc3e-4055-a4a0-ac5195c2a457" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtNoncurrent_0007dee9-6536-4a97-b1a8-3891cf851083" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtNoncurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_5bf92bf8-dabd-4901-829b-a0edd9e72965" xlink:to="loc_us-gaap_LongTermDebtNoncurrent_0007dee9-6536-4a97-b1a8-3891cf851083" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityNoncurrent_424bc313-f0bd-4e44-b8aa-c91d372035ff" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_5bf92bf8-dabd-4901-829b-a0edd9e72965" xlink:to="loc_us-gaap_FinanceLeaseLiabilityNoncurrent_424bc313-f0bd-4e44-b8aa-c91d372035ff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_12a459d6-36d1-43ff-b7ea-e355f7be63cf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_5bf92bf8-dabd-4901-829b-a0edd9e72965" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_12a459d6-36d1-43ff-b7ea-e355f7be63cf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_02b7c0df-8cb9-43cc-9c21-65154b6bd8e8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesNoncurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_5bf92bf8-dabd-4901-829b-a0edd9e72965" xlink:to="loc_us-gaap_OtherLiabilitiesNoncurrent_02b7c0df-8cb9-43cc-9c21-65154b6bd8e8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities_c47721a6-ffec-4b3f-b3e0-1b25759206b5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_5bf92bf8-dabd-4901-829b-a0edd9e72965" xlink:to="loc_us-gaap_Liabilities_c47721a6-ffec-4b3f-b3e0-1b25759206b5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingencies_c962db06-d260-49ac-a872-97582238ad44" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_5bf92bf8-dabd-4901-829b-a0edd9e72965" xlink:to="loc_us-gaap_CommitmentsAndContingencies_c962db06-d260-49ac-a872-97582238ad44" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityAbstract_39963781-dcb6-48eb-bb87-20c42d482c25" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_5bf92bf8-dabd-4901-829b-a0edd9e72965" xlink:to="loc_us-gaap_StockholdersEquityAbstract_39963781-dcb6-48eb-bb87-20c42d482c25" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue_2ef19215-d9be-4ae9-a43c-3ed853eaa466" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_39963781-dcb6-48eb-bb87-20c42d482c25" xlink:to="loc_us-gaap_CommonStockValue_2ef19215-d9be-4ae9-a43c-3ed853eaa466" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapital_a1c21830-0ad6-4771-83da-37dc65d613ad" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapital"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_39963781-dcb6-48eb-bb87-20c42d482c25" xlink:to="loc_us-gaap_AdditionalPaidInCapital_a1c21830-0ad6-4771-83da-37dc65d613ad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_847f26dd-f728-4720-b629-8237f0fe366f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_39963781-dcb6-48eb-bb87-20c42d482c25" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_847f26dd-f728-4720-b629-8237f0fe366f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_c39b9106-2652-49e8-a17e-f0643200d860" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_39963781-dcb6-48eb-bb87-20c42d482c25" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_c39b9106-2652-49e8-a17e-f0643200d860" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_27698c05-11e8-4b74-a0dc-44722225a776" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_39963781-dcb6-48eb-bb87-20c42d482c25" xlink:to="loc_us-gaap_StockholdersEquity_27698c05-11e8-4b74-a0dc-44722225a776" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_073b187b-7e16-4bfe-af4d-1cdcae8c6e53" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_5bf92bf8-dabd-4901-829b-a0edd9e72965" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquity_073b187b-7e16-4bfe-af4d-1cdcae8c6e53" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/CONSOLIDATEDBALANCESHEETSParenthetical" xlink:type="simple" xlink:href="fsly-20231231.xsd#CONSOLIDATEDBALANCESHEETSParenthetical"/>
  <link:presentationLink xlink:role="http://fastly.com/role/CONSOLIDATEDBALANCESHEETSParenthetical" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_258b816e-7c23-4217-824d-cd5b724f885e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_8b840811-52d9-404b-ba8d-e66fcdd010a8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_258b816e-7c23-4217-824d-cd5b724f885e" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_8b840811-52d9-404b-ba8d-e66fcdd010a8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_3419a319-fb0f-480c-af21-8e74e56275e8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_258b816e-7c23-4217-824d-cd5b724f885e" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_3419a319-fb0f-480c-af21-8e74e56275e8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_6d3f1537-50cf-49c0-b780-54c236ef7ad4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_258b816e-7c23-4217-824d-cd5b724f885e" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_6d3f1537-50cf-49c0-b780-54c236ef7ad4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued_6ab8e09b-49e8-423c-a6e0-400ea4f4173f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_258b816e-7c23-4217-824d-cd5b724f885e" xlink:to="loc_us-gaap_CommonStockSharesIssued_6ab8e09b-49e8-423c-a6e0-400ea4f4173f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_4a675b1e-2515-4b52-bd3a-7a691a3779a6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_258b816e-7c23-4217-824d-cd5b724f885e" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_4a675b1e-2515-4b52-bd3a-7a691a3779a6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS" xlink:type="simple" xlink:href="fsly-20231231.xsd#CONSOLIDATEDSTATEMENTSOFOPERATIONS"/>
  <link:presentationLink xlink:role="http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementAbstract_d489bec5-5f2c-4028-b848-76922c0ed3a5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_b700a04f-72e5-4aa1-9d65-44d13fd56a7c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_d489bec5-5f2c-4028-b848-76922c0ed3a5" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_b700a04f-72e5-4aa1-9d65-44d13fd56a7c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfRevenue_9906f4f1-dbce-4e04-b4e0-8099731466f1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_d489bec5-5f2c-4028-b848-76922c0ed3a5" xlink:to="loc_us-gaap_CostOfRevenue_9906f4f1-dbce-4e04-b4e0-8099731466f1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_62afabf3-00ec-4eb1-9ab8-e4da4ce38e2f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_d489bec5-5f2c-4028-b848-76922c0ed3a5" xlink:to="loc_us-gaap_GrossProfit_62afabf3-00ec-4eb1-9ab8-e4da4ce38e2f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpensesAbstract_c4321ddc-2f3b-408a-a65d-884bfb403758" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpensesAbstract"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_d489bec5-5f2c-4028-b848-76922c0ed3a5" xlink:to="loc_us-gaap_OperatingExpensesAbstract_c4321ddc-2f3b-408a-a65d-884bfb403758" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_2c63a907-44a8-4296-b45a-97dbce7e39cd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_c4321ddc-2f3b-408a-a65d-884bfb403758" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_2c63a907-44a8-4296-b45a-97dbce7e39cd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingAndMarketingExpense_7317589d-9ef6-443d-b3c6-195c2cc9c94c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpense"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_c4321ddc-2f3b-408a-a65d-884bfb403758" xlink:to="loc_us-gaap_SellingAndMarketingExpense_7317589d-9ef6-443d-b3c6-195c2cc9c94c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpense_63e9a715-a1f3-45df-9621-346e27317c0b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_c4321ddc-2f3b-408a-a65d-884bfb403758" xlink:to="loc_us-gaap_GeneralAndAdministrativeExpense_63e9a715-a1f3-45df-9621-346e27317c0b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment_75075932-3618-4a16-a928-09411648bca4" xlink:href="fsly-20231231.xsd#fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_c4321ddc-2f3b-408a-a65d-884bfb403758" xlink:to="loc_fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment_75075932-3618-4a16-a928-09411648bca4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses_88c70434-fb85-4512-8a1b-f66e6a416c2e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_c4321ddc-2f3b-408a-a65d-884bfb403758" xlink:to="loc_us-gaap_OperatingExpenses_88c70434-fb85-4512-8a1b-f66e6a416c2e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_da2b29b6-a0ae-4237-8548-9b13a18c66f9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_d489bec5-5f2c-4028-b848-76922c0ed3a5" xlink:to="loc_us-gaap_OperatingIncomeLoss_da2b29b6-a0ae-4237-8548-9b13a18c66f9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_dab23b7d-e749-4e45-b648-54187dd824a6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_d489bec5-5f2c-4028-b848-76922c0ed3a5" xlink:to="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_dab23b7d-e749-4e45-b648-54187dd824a6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InvestmentIncomeInterest_5f6a33a9-f9be-4008-88cb-685db0c06a09" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentIncomeInterest"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_d489bec5-5f2c-4028-b848-76922c0ed3a5" xlink:to="loc_us-gaap_InvestmentIncomeInterest_5f6a33a9-f9be-4008-88cb-685db0c06a09" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestExpense_559b5524-ae76-4a62-a072-9e6090c0e480" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_d489bec5-5f2c-4028-b848-76922c0ed3a5" xlink:to="loc_us-gaap_InterestExpense_559b5524-ae76-4a62-a072-9e6090c0e480" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_62204068-0bbf-4405-9637-d55527b287be" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_d489bec5-5f2c-4028-b848-76922c0ed3a5" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_62204068-0bbf-4405-9637-d55527b287be" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_b0438e75-f324-47aa-b6ed-3a6d6f20b420" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_d489bec5-5f2c-4028-b848-76922c0ed3a5" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_b0438e75-f324-47aa-b6ed-3a6d6f20b420" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_d4aedc7a-0e34-4f33-a791-7de0e06e93b2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_d489bec5-5f2c-4028-b848-76922c0ed3a5" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_d4aedc7a-0e34-4f33-a791-7de0e06e93b2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_1090542d-05bb-4724-bdba-40844ecf0f34" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_d489bec5-5f2c-4028-b848-76922c0ed3a5" xlink:to="loc_us-gaap_NetIncomeLoss_1090542d-05bb-4724-bdba-40844ecf0f34" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic_4800a515-b5e0-46e3-9c10-da9d7eabc46a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_d489bec5-5f2c-4028-b848-76922c0ed3a5" xlink:to="loc_us-gaap_EarningsPerShareBasic_4800a515-b5e0-46e3-9c10-da9d7eabc46a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted_8e682d1b-1a70-4812-9c8d-41ed3a64ee41" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_d489bec5-5f2c-4028-b848-76922c0ed3a5" xlink:to="loc_us-gaap_EarningsPerShareDiluted_8e682d1b-1a70-4812-9c8d-41ed3a64ee41" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_e10b2cfe-6959-4ef4-954b-f7e3e0ce01e3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_d489bec5-5f2c-4028-b848-76922c0ed3a5" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_e10b2cfe-6959-4ef4-954b-f7e3e0ce01e3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_c442e509-27fa-4d55-8743-ebfd4c7d833d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_d489bec5-5f2c-4028-b848-76922c0ed3a5" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_c442e509-27fa-4d55-8743-ebfd4c7d833d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVELOSS" xlink:type="simple" xlink:href="fsly-20231231.xsd#CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVELOSS"/>
  <link:presentationLink xlink:role="http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVELOSS" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfOtherComprehensiveIncomeAbstract_18535144-f472-46f3-91fe-6a20f9939b09" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfOtherComprehensiveIncomeAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_fa1d7a96-b0b9-4661-9eab-9e5415be177a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfOtherComprehensiveIncomeAbstract_18535144-f472-46f3-91fe-6a20f9939b09" xlink:to="loc_us-gaap_NetIncomeLoss_fa1d7a96-b0b9-4661-9eab-9e5415be177a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_b9866f88-7262-47f0-8c05-5cc468b24acf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfOtherComprehensiveIncomeAbstract_18535144-f472-46f3-91fe-6a20f9939b09" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_b9866f88-7262-47f0-8c05-5cc468b24acf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_db566308-8fb2-44b4-b9ce-a63adfaba4ac" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_b9866f88-7262-47f0-8c05-5cc468b24acf" xlink:to="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_db566308-8fb2-44b4-b9ce-a63adfaba4ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_86d8c96d-518d-4d85-a38f-31db9e0fd1b2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_b9866f88-7262-47f0-8c05-5cc468b24acf" xlink:to="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_86d8c96d-518d-4d85-a38f-31db9e0fd1b2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_a4067021-171d-4913-9336-4ad5f73196fc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_b9866f88-7262-47f0-8c05-5cc468b24acf" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_a4067021-171d-4913-9336-4ad5f73196fc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_59206b91-47ec-4b2b-ac8a-9197a9f99f2e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfOtherComprehensiveIncomeAbstract_18535144-f472-46f3-91fe-6a20f9939b09" xlink:to="loc_us-gaap_ComprehensiveIncomeNetOfTax_59206b91-47ec-4b2b-ac8a-9197a9f99f2e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" xlink:type="simple" xlink:href="fsly-20231231.xsd#CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"/>
  <link:presentationLink xlink:role="http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_cbbd4593-b962-4834-9e57-002612928a90" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_fb8ba5e3-9b46-4287-9230-bb2e905d1cbb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_cbbd4593-b962-4834-9e57-002612928a90" xlink:to="loc_us-gaap_StatementTable_fb8ba5e3-9b46-4287-9230-bb2e905d1cbb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_a99c11e8-a805-4ccb-9aba-042adc17d573" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_fb8ba5e3-9b46-4287-9230-bb2e905d1cbb" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_a99c11e8-a805-4ccb-9aba-042adc17d573" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_26d926f1-beb7-4612-a0ff-0fcd72edc500" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_a99c11e8-a805-4ccb-9aba-042adc17d573" xlink:to="loc_us-gaap_EquityComponentDomain_26d926f1-beb7-4612-a0ff-0fcd72edc500" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_704c0c0e-ba83-4d83-960e-111e87258d1a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_26d926f1-beb7-4612-a0ff-0fcd72edc500" xlink:to="loc_us-gaap_CommonStockMember_704c0c0e-ba83-4d83-960e-111e87258d1a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_32d139e2-8f16-4727-88e3-8e9c3b0e3685" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_26d926f1-beb7-4612-a0ff-0fcd72edc500" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_32d139e2-8f16-4727-88e3-8e9c3b0e3685" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_0790eaa4-e9c1-4f84-b3fb-0236adcade91" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_26d926f1-beb7-4612-a0ff-0fcd72edc500" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_0790eaa4-e9c1-4f84-b3fb-0236adcade91" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_92e1842a-3550-4ced-b86a-64e2535318bd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_26d926f1-beb7-4612-a0ff-0fcd72edc500" xlink:to="loc_us-gaap_RetainedEarningsMember_92e1842a-3550-4ced-b86a-64e2535318bd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_9a26b164-d0fc-4d13-a8e7-a7f14368b96e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_fb8ba5e3-9b46-4287-9230-bb2e905d1cbb" xlink:to="loc_us-gaap_StatementClassOfStockAxis_9a26b164-d0fc-4d13-a8e7-a7f14368b96e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_3e7804b0-e453-4b3d-bfe0-922022e98766" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_9a26b164-d0fc-4d13-a8e7-a7f14368b96e" xlink:to="loc_us-gaap_ClassOfStockDomain_3e7804b0-e453-4b3d-bfe0-922022e98766" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember_b5084acf-ff6a-4e98-bae0-34ae232c8fee" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonClassAMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_3e7804b0-e453-4b3d-bfe0-922022e98766" xlink:to="loc_us-gaap_CommonClassAMember_b5084acf-ff6a-4e98-bae0-34ae232c8fee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassBMember_b599ef7e-2fc7-4e86-8eec-210bcdec03f9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonClassBMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_3e7804b0-e453-4b3d-bfe0-922022e98766" xlink:to="loc_us-gaap_CommonClassBMember_b599ef7e-2fc7-4e86-8eec-210bcdec03f9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_a85f292d-ae33-4e5d-974c-8fe14e5fa439" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_fb8ba5e3-9b46-4287-9230-bb2e905d1cbb" xlink:to="loc_us-gaap_AwardTypeAxis_a85f292d-ae33-4e5d-974c-8fe14e5fa439" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_a455eec0-718f-4434-b1f1-ad698e186dd1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_a85f292d-ae33-4e5d-974c-8fe14e5fa439" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_a455eec0-718f-4434-b1f1-ad698e186dd1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_b49d053f-1f1f-4e2f-904a-8c4127d6a30b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_a455eec0-718f-4434-b1f1-ad698e186dd1" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_b49d053f-1f1f-4e2f-904a-8c4127d6a30b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember_8eca153e-bd06-4a93-8b5b-b1d4fe5eb920" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_a455eec0-718f-4434-b1f1-ad698e186dd1" xlink:to="loc_us-gaap_RestrictedStockMember_8eca153e-bd06-4a93-8b5b-b1d4fe5eb920" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_eda26541-37f4-4696-8334-5cb26143a7b4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_fb8ba5e3-9b46-4287-9230-bb2e905d1cbb" xlink:to="loc_us-gaap_StatementLineItems_eda26541-37f4-4696-8334-5cb26143a7b4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_eda26541-37f4-4696-8334-5cb26143a7b4" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_14885402-c2a0-422f-b3ad-4923b3a72351" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_14885402-c2a0-422f-b3ad-4923b3a72351" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_1b11b629-8500-4436-afbf-aa86f5c99c44" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_us-gaap_StockholdersEquity_1b11b629-8500-4436-afbf-aa86f5c99c44" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_aae118b7-f1ab-453d-a0a6-99ecf6291c0d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_aae118b7-f1ab-453d-a0a6-99ecf6291c0d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_760d350e-c005-45c8-bccc-4bb97c22c6ca" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_760d350e-c005-45c8-bccc-4bb97c22c6ca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestingOfEarlyExercisedStockOptionsNumberOfShares_0326f448-e8c0-4976-8de5-bd60f1b240d6" xlink:href="fsly-20231231.xsd#fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestingOfEarlyExercisedStockOptionsNumberOfShares"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestingOfEarlyExercisedStockOptionsNumberOfShares_0326f448-e8c0-4976-8de5-bd60f1b240d6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_StockIssuedDuringPeriodValueVestingOfEarlyExercisedStockOptions_e22f6f79-9bd6-4ed6-99c5-75ca91ecc8f8" xlink:href="fsly-20231231.xsd#fsly_StockIssuedDuringPeriodValueVestingOfEarlyExercisedStockOptions"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_fsly_StockIssuedDuringPeriodValueVestingOfEarlyExercisedStockOptions_e22f6f79-9bd6-4ed6-99c5-75ca91ecc8f8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_1ab37c85-7ea9-44d4-b0c4-b26100d07915" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_1ab37c85-7ea9-44d4-b0c4-b26100d07915" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross_226482c6-9555-4756-81d4-1ec33c2a5d6d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross_226482c6-9555-4756-81d4-1ec33c2a5d6d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_StockIssuedDuringPeriodSharesBonusProgram_6fb8dc8c-1d56-4588-8dc2-f69db2f820da" xlink:href="fsly-20231231.xsd#fsly_StockIssuedDuringPeriodSharesBonusProgram"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_fsly_StockIssuedDuringPeriodSharesBonusProgram_6fb8dc8c-1d56-4588-8dc2-f69db2f820da" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_StockIssuedDuringPeriodValueBonusProgram_efac7684-7f61-48e6-b98a-9ebd012eb47e" xlink:href="fsly-20231231.xsd#fsly_StockIssuedDuringPeriodValueBonusProgram"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_fsly_StockIssuedDuringPeriodValueBonusProgram_efac7684-7f61-48e6-b98a-9ebd012eb47e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_StockSoldDuringPeriodSharesRestrictedStockAward_e88f513d-d2fd-44f3-9a7f-151e5d153737" xlink:href="fsly-20231231.xsd#fsly_StockSoldDuringPeriodSharesRestrictedStockAward"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_fsly_StockSoldDuringPeriodSharesRestrictedStockAward_e88f513d-d2fd-44f3-9a7f-151e5d153737" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_StockSoldDuringPeriodValueRestrictedStockAward_d3c35f55-953f-443a-9593-4af006cd7e97" xlink:href="fsly-20231231.xsd#fsly_StockSoldDuringPeriodValueRestrictedStockAward"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_fsly_StockSoldDuringPeriodValueRestrictedStockAward_d3c35f55-953f-443a-9593-4af006cd7e97" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_7ef3a25f-bfb0-4bbb-a75b-2333eab8f617" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_7ef3a25f-bfb0-4bbb-a75b-2333eab8f617" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_1dea3726-4c21-4c30-941a-f7b2a7260b27" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_1dea3726-4c21-4c30-941a-f7b2a7260b27" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_9e88ea8b-a22a-4163-b1d1-200bcf28e8b2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_9e88ea8b-a22a-4163-b1d1-200bcf28e8b2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_452eb48c-e9d2-4f78-abd6-6f4d0b97ac1e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_452eb48c-e9d2-4f78-abd6-6f4d0b97ac1e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities_773bddb7-11f7-4a89-86be-05a12a2b1916" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities_773bddb7-11f7-4a89-86be-05a12a2b1916" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_c03585ac-7a9e-4b3f-8fcb-ebb66782bb44" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_us-gaap_NetIncomeLoss_c03585ac-7a9e-4b3f-8fcb-ebb66782bb44" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_b3a1e302-c033-4d94-81ee-29d2f7ab061b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_b3a1e302-c033-4d94-81ee-29d2f7ab061b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_fd607504-bc1d-428c-9b7a-cea5a872d734" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_fd607504-bc1d-428c-9b7a-cea5a872d734" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_dfc4a3e9-d210-451f-be05-f5e5aa2b4807" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="21" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_25a3f87b-c822-4782-9f1f-ab47b7942cb4" xlink:to="loc_us-gaap_StockholdersEquity_dfc4a3e9-d210-451f-be05-f5e5aa2b4807" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" xlink:type="simple" xlink:href="fsly-20231231.xsd#CONSOLIDATEDSTATEMENTSOFCASHFLOWS"/>
  <link:presentationLink xlink:role="http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract_5dd28b50-5fd5-4955-83a0-3268be57f094" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_05694412-03ea-4e8c-bfa5-1755aa925725" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_5dd28b50-5fd5-4955-83a0-3268be57f094" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_05694412-03ea-4e8c-bfa5-1755aa925725" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_1247b00e-0742-43c5-800b-881cc92faf6e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_05694412-03ea-4e8c-bfa5-1755aa925725" xlink:to="loc_us-gaap_NetIncomeLoss_1247b00e-0742-43c5-800b-881cc92faf6e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_b985a13b-fa8c-4e1d-9144-b650635673b9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_05694412-03ea-4e8c-bfa5-1755aa925725" xlink:to="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_b985a13b-fa8c-4e1d-9144-b650635673b9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepreciationNonproduction_c64cb0f7-b0b3-4369-a701-880669382d96" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationNonproduction"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_b985a13b-fa8c-4e1d-9144-b650635673b9" xlink:to="loc_us-gaap_DepreciationNonproduction_c64cb0f7-b0b3-4369-a701-880669382d96" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_b77ab969-8db4-432a-8d00-e9154430f3d6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_b985a13b-fa8c-4e1d-9144-b650635673b9" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_b77ab969-8db4-432a-8d00-e9154430f3d6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_4062b25f-b97a-4662-8261-578a506c76fd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_b985a13b-fa8c-4e1d-9144-b650635673b9" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_4062b25f-b97a-4662-8261-578a506c76fd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfFinancingCostsAndDiscounts_84481641-be59-4f77-9d80-3d61cbf259c8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfFinancingCostsAndDiscounts"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_b985a13b-fa8c-4e1d-9144-b650635673b9" xlink:to="loc_us-gaap_AmortizationOfFinancingCostsAndDiscounts_84481641-be59-4f77-9d80-3d61cbf259c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostAmortization_100974fe-ae4a-4f43-8a04-36c13b4c3d3b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostAmortization"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_b985a13b-fa8c-4e1d-9144-b650635673b9" xlink:to="loc_us-gaap_CapitalizedContractCostAmortization_100974fe-ae4a-4f43-8a04-36c13b4c3d3b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_138c0c5b-ad71-496a-8215-4943772011e3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_b985a13b-fa8c-4e1d-9144-b650635673b9" xlink:to="loc_us-gaap_ShareBasedCompensation_138c0c5b-ad71-496a-8215-4943772011e3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_de529772-0a00-4723-8aa3-0d23f45b0b11" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_b985a13b-fa8c-4e1d-9144-b650635673b9" xlink:to="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_de529772-0a00-4723-8aa3-0d23f45b0b11" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts_f2bf4619-2cbe-43e4-b657-e68aa631a573" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_b985a13b-fa8c-4e1d-9144-b650635673b9" xlink:to="loc_us-gaap_ProvisionForDoubtfulAccounts_f2bf4619-2cbe-43e4-b657-e68aa631a573" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_999f6062-3cf6-4438-9ed1-00918657c45a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_b985a13b-fa8c-4e1d-9144-b650635673b9" xlink:to="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_999f6062-3cf6-4438-9ed1-00918657c45a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_db58009b-506c-49b5-89d7-a710a47bbd60" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_b985a13b-fa8c-4e1d-9144-b650635673b9" xlink:to="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_db58009b-506c-49b5-89d7-a710a47bbd60" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseImpairmentLoss_75291a53-db99-4e71-91d7-4b6aa07d2c10" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseImpairmentLoss"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_b985a13b-fa8c-4e1d-9144-b650635673b9" xlink:to="loc_us-gaap_OperatingLeaseImpairmentLoss_75291a53-db99-4e71-91d7-4b6aa07d2c10" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment_8fa76890-d2b4-4a97-bfc3-1af107a225e4" xlink:href="fsly-20231231.xsd#fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_b985a13b-fa8c-4e1d-9144-b650635673b9" xlink:to="loc_fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment_8fa76890-d2b4-4a97-bfc3-1af107a225e4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_d2ebdeb0-d3d5-4438-b0d9-811c4afceef4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_b985a13b-fa8c-4e1d-9144-b650635673b9" xlink:to="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_d2ebdeb0-d3d5-4438-b0d9-811c4afceef4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNoncashIncomeExpense_ca4e4773-2133-4bb5-ba37-5565f3826cbc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNoncashIncomeExpense"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_b985a13b-fa8c-4e1d-9144-b650635673b9" xlink:to="loc_us-gaap_OtherNoncashIncomeExpense_ca4e4773-2133-4bb5-ba37-5565f3826cbc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_34b53606-ce27-433d-99ea-02bf17915781" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_b985a13b-fa8c-4e1d-9144-b650635673b9" xlink:to="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_34b53606-ce27-433d-99ea-02bf17915781" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_754f1015-a787-44ea-9fe3-0c7642a6d479" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_34b53606-ce27-433d-99ea-02bf17915781" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_754f1015-a787-44ea-9fe3-0c7642a6d479" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_df8e5a0b-586c-48f1-906a-3b300f6a0102" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_34b53606-ce27-433d-99ea-02bf17915781" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_df8e5a0b-586c-48f1-906a-3b300f6a0102" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets_594b5b36-42bb-403d-8ce1-bc335ee14501" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_34b53606-ce27-433d-99ea-02bf17915781" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets_594b5b36-42bb-403d-8ce1-bc335ee14501" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_aaaa2cb2-05e7-49cf-82eb-0aa74ba1ab23" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_34b53606-ce27-433d-99ea-02bf17915781" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_aaaa2cb2-05e7-49cf-82eb-0aa74ba1ab23" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_59f039b3-0c5b-49e2-ad21-744f71b85b88" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_34b53606-ce27-433d-99ea-02bf17915781" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_59f039b3-0c5b-49e2-ad21-744f71b85b88" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_IncreaseDecreaseInOperatingLeaseLiabilities_7e716bb1-c7a5-4056-878f-e797b185be7b" xlink:href="fsly-20231231.xsd#fsly_IncreaseDecreaseInOperatingLeaseLiabilities"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_34b53606-ce27-433d-99ea-02bf17915781" xlink:to="loc_fsly_IncreaseDecreaseInOperatingLeaseLiabilities_7e716bb1-c7a5-4056-878f-e797b185be7b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_2e75fefb-e691-4d6a-9783-707b6efbf10c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_34b53606-ce27-433d-99ea-02bf17915781" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_2e75fefb-e691-4d6a-9783-707b6efbf10c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_486ea22f-de14-46b7-b2cc-1f4b29ddba74" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_05694412-03ea-4e8c-bfa5-1755aa925725" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_486ea22f-de14-46b7-b2cc-1f4b29ddba74" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_1f860af2-8524-4d14-a7bb-a48b84deddd8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_5dd28b50-5fd5-4955-83a0-3268be57f094" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_1f860af2-8524-4d14-a7bb-a48b84deddd8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireShortTermInvestments_f8ce983e-0ad7-4e5a-8657-ac3c0b2911bf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireShortTermInvestments"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_1f860af2-8524-4d14-a7bb-a48b84deddd8" xlink:to="loc_us-gaap_PaymentsToAcquireShortTermInvestments_f8ce983e-0ad7-4e5a-8657-ac3c0b2911bf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities_798112ba-899f-467c-92ff-4d5a95c169a7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_1f860af2-8524-4d14-a7bb-a48b84deddd8" xlink:to="loc_us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities_798112ba-899f-467c-92ff-4d5a95c169a7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities_4e3bb44b-2de3-48e2-bb6c-2f609c91ecf5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_1f860af2-8524-4d14-a7bb-a48b84deddd8" xlink:to="loc_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities_4e3bb44b-2de3-48e2-bb6c-2f609c91ecf5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_f7dd36ff-e687-4ff3-af92-b6a11f55bd96" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_1f860af2-8524-4d14-a7bb-a48b84deddd8" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_f7dd36ff-e687-4ff3-af92-b6a11f55bd96" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_AdvancesForPaymentsOfPropertyPlantAndEquipment_0b21c15b-6816-4f3e-9849-df5583c5cde0" xlink:href="fsly-20231231.xsd#fsly_AdvancesForPaymentsOfPropertyPlantAndEquipment"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_1f860af2-8524-4d14-a7bb-a48b84deddd8" xlink:to="loc_fsly_AdvancesForPaymentsOfPropertyPlantAndEquipment_0b21c15b-6816-4f3e-9849-df5583c5cde0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_d519da32-aeac-4987-aebf-8f33ad4bbbbd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_1f860af2-8524-4d14-a7bb-a48b84deddd8" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_d519da32-aeac-4987-aebf-8f33ad4bbbbd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_953f0c34-c2df-4288-9dce-7a6b8e787be7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_1f860af2-8524-4d14-a7bb-a48b84deddd8" xlink:to="loc_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_953f0c34-c2df-4288-9dce-7a6b8e787be7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForSoftware_97bdf7de-6461-49c0-bc07-fc80001c8d2d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForSoftware"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_1f860af2-8524-4d14-a7bb-a48b84deddd8" xlink:to="loc_us-gaap_PaymentsForSoftware_97bdf7de-6461-49c0-bc07-fc80001c8d2d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireIntangibleAssets_9cc8e863-48de-402f-940f-cf58b0a2739c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireIntangibleAssets"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_1f860af2-8524-4d14-a7bb-a48b84deddd8" xlink:to="loc_us-gaap_PaymentsToAcquireIntangibleAssets_9cc8e863-48de-402f-940f-cf58b0a2739c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_f8df9b9c-a1a2-4a17-87fe-1c324e05e6f4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_1f860af2-8524-4d14-a7bb-a48b84deddd8" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_f8df9b9c-a1a2-4a17-87fe-1c324e05e6f4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_c5012bc8-affd-4774-88d7-0ab0f337c886" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_5dd28b50-5fd5-4955-83a0-3268be57f094" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_c5012bc8-affd-4774-88d7-0ab0f337c886" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromConvertibleDebt_8135086f-2067-4be8-90b5-e0a267817c41" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromConvertibleDebt"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_c5012bc8-affd-4774-88d7-0ab0f337c886" xlink:to="loc_us-gaap_ProceedsFromConvertibleDebt_8135086f-2067-4be8-90b5-e0a267817c41" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfDebtIssuanceCosts_d0ba2f9b-5646-451d-b192-188714487005" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDebtIssuanceCosts"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_c5012bc8-affd-4774-88d7-0ab0f337c886" xlink:to="loc_us-gaap_PaymentsOfDebtIssuanceCosts_d0ba2f9b-5646-451d-b192-188714487005" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfDebtExtinguishmentCosts_193a195b-33bf-4087-88a0-7821f2714d25" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDebtExtinguishmentCosts"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_c5012bc8-affd-4774-88d7-0ab0f337c886" xlink:to="loc_us-gaap_PaymentsOfDebtExtinguishmentCosts_193a195b-33bf-4087-88a0-7821f2714d25" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeasePrincipalPayments_d74c5dcc-c395-4c5d-9326-f6e9fd332ddc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeasePrincipalPayments"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_c5012bc8-affd-4774-88d7-0ab0f337c886" xlink:to="loc_us-gaap_FinanceLeasePrincipalPayments_d74c5dcc-c395-4c5d-9326-f6e9fd332ddc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ProceedsFromEarlySaleOfRestrictedShares_b065e631-2b0a-4891-8f35-aa4afbd68ea1" xlink:href="fsly-20231231.xsd#fsly_ProceedsFromEarlySaleOfRestrictedShares"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_c5012bc8-affd-4774-88d7-0ab0f337c886" xlink:to="loc_fsly_ProceedsFromEarlySaleOfRestrictedShares_b065e631-2b0a-4891-8f35-aa4afbd68ea1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_PaymentsForEarlySaleOfRestrictedShares_c6ac83f7-2365-49d8-86d1-a1416432ca77" xlink:href="fsly-20231231.xsd#fsly_PaymentsForEarlySaleOfRestrictedShares"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_c5012bc8-affd-4774-88d7-0ab0f337c886" xlink:to="loc_fsly_PaymentsForEarlySaleOfRestrictedShares_c6ac83f7-2365-49d8-86d1-a1416432ca77" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DeferredPaymentForBusinessCombinations_87fdc097-6e18-402e-9b19-c977590af9ea" xlink:href="fsly-20231231.xsd#fsly_DeferredPaymentForBusinessCombinations"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_c5012bc8-affd-4774-88d7-0ab0f337c886" xlink:to="loc_fsly_DeferredPaymentForBusinessCombinations_87fdc097-6e18-402e-9b19-c977590af9ea" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromStockOptionsExercised_52745f48-798e-40a4-a604-f50266e38dff" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromStockOptionsExercised"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_c5012bc8-affd-4774-88d7-0ab0f337c886" xlink:to="loc_us-gaap_ProceedsFromStockOptionsExercised_52745f48-798e-40a4-a604-f50266e38dff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromStockPlans_a2027241-bd03-4553-8ffc-b5b88b844055" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromStockPlans"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_c5012bc8-affd-4774-88d7-0ab0f337c886" xlink:to="loc_us-gaap_ProceedsFromStockPlans_a2027241-bd03-4553-8ffc-b5b88b844055" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_80e0ce81-1324-4f8e-adc1-53e0b9084ae4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_c5012bc8-affd-4774-88d7-0ab0f337c886" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_80e0ce81-1324-4f8e-adc1-53e0b9084ae4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_a17b7b14-2318-40de-b9a0-3b3c514cd9cb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_5dd28b50-5fd5-4955-83a0-3268be57f094" xlink:to="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_a17b7b14-2318-40de-b9a0-3b3c514cd9cb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_593c1533-4a53-40f2-bff1-7ac33d6a6a8d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_5dd28b50-5fd5-4955-83a0-3268be57f094" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_593c1533-4a53-40f2-bff1-7ac33d6a6a8d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_60a38c3c-3ac1-448d-b44f-5e08f1730a7a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_5dd28b50-5fd5-4955-83a0-3268be57f094" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_60a38c3c-3ac1-448d-b44f-5e08f1730a7a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_4b184714-f47c-4144-b794-5408cc55d7d7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_5dd28b50-5fd5-4955-83a0-3268be57f094" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_4b184714-f47c-4144-b794-5408cc55d7d7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SupplementalCashFlowElementsAbstract_c44413a3-8b38-438c-838f-3a11f3876957" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalCashFlowElementsAbstract"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_5dd28b50-5fd5-4955-83a0-3268be57f094" xlink:to="loc_us-gaap_SupplementalCashFlowElementsAbstract_c44413a3-8b38-438c-838f-3a11f3876957" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestPaidNet_2507e531-5c81-472a-8f0a-8afd0b8f6be2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPaidNet"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SupplementalCashFlowElementsAbstract_c44413a3-8b38-438c-838f-3a11f3876957" xlink:to="loc_us-gaap_InterestPaidNet_2507e531-5c81-472a-8f0a-8afd0b8f6be2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxesPaidNet_0fb57cf5-d9ff-41fb-8519-327d8caec766" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesPaidNet"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SupplementalCashFlowElementsAbstract_c44413a3-8b38-438c-838f-3a11f3876957" xlink:to="loc_us-gaap_IncomeTaxesPaidNet_0fb57cf5-d9ff-41fb-8519-327d8caec766" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract_bc17639f-4f90-4918-a02a-b8e639d23c4e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_5dd28b50-5fd5-4955-83a0-3268be57f094" xlink:to="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract_bc17639f-4f90-4918-a02a-b8e639d23c4e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalExpendituresIncurredButNotYetPaid_f6539adb-baed-41ba-b694-8c6daab5f255" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalExpendituresIncurredButNotYetPaid"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract_bc17639f-4f90-4918-a02a-b8e639d23c4e" xlink:to="loc_us-gaap_CapitalExpendituresIncurredButNotYetPaid_f6539adb-baed-41ba-b694-8c6daab5f255" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_VestingOfEarlyExercisedStockOptions_c137a76c-b01f-4af0-a51f-bd27fad035e3" xlink:href="fsly-20231231.xsd#fsly_VestingOfEarlyExercisedStockOptions"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract_bc17639f-4f90-4918-a02a-b8e639d23c4e" xlink:to="loc_fsly_VestingOfEarlyExercisedStockOptions_c137a76c-b01f-4af0-a51f-bd27fad035e3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ShareBasedPaymentArrangementNoncashAmountCapitalizedIntoInternalUseSoftware_d2af4609-8082-44b9-a53a-d1ed6ec3d010" xlink:href="fsly-20231231.xsd#fsly_ShareBasedPaymentArrangementNoncashAmountCapitalizedIntoInternalUseSoftware"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract_bc17639f-4f90-4918-a02a-b8e639d23c4e" xlink:to="loc_fsly_ShareBasedPaymentArrangementNoncashAmountCapitalizedIntoInternalUseSoftware_d2af4609-8082-44b9-a53a-d1ed6ec3d010" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_19bc8386-3f3a-425f-98f9-05bad8819be8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract_bc17639f-4f90-4918-a02a-b8e639d23c4e" xlink:to="loc_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_19bc8386-3f3a-425f-98f9-05bad8819be8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability_cc8f4e41-84e9-4db7-a9ec-68676dc910a2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract_bc17639f-4f90-4918-a02a-b8e639d23c4e" xlink:to="loc_us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability_cc8f4e41-84e9-4db7-a9ec-68676dc910a2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_NoncashChangeInOperatingLeaseAssetsAndLiabilities_693962d2-b1b5-473a-94a0-e4e66f477d54" xlink:href="fsly-20231231.xsd#fsly_NoncashChangeInOperatingLeaseAssetsAndLiabilities"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract_bc17639f-4f90-4918-a02a-b8e639d23c4e" xlink:to="loc_fsly_NoncashChangeInOperatingLeaseAssetsAndLiabilities_693962d2-b1b5-473a-94a0-e4e66f477d54" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestPaidCapitalized_d4584742-7193-4944-b61d-627093cebcca" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPaidCapitalized"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract_bc17639f-4f90-4918-a02a-b8e639d23c4e" xlink:to="loc_us-gaap_InterestPaidCapitalized_d4584742-7193-4944-b61d-627093cebcca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_PaymentForBusinessIncurredButNotYetPaid_c7205022-8aea-472e-89f6-def25199f4ad" xlink:href="fsly-20231231.xsd#fsly_PaymentForBusinessIncurredButNotYetPaid"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract_bc17639f-4f90-4918-a02a-b8e639d23c4e" xlink:to="loc_fsly_PaymentForBusinessIncurredButNotYetPaid_c7205022-8aea-472e-89f6-def25199f4ad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DeploymentsOfPrepaidCapitalEquipment_a9523239-9e88-4d01-ba04-53b761bd9033" xlink:href="fsly-20231231.xsd#fsly_DeploymentsOfPrepaidCapitalEquipment"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract_bc17639f-4f90-4918-a02a-b8e639d23c4e" xlink:to="loc_fsly_DeploymentsOfPrepaidCapitalEquipment_a9523239-9e88-4d01-ba04-53b761bd9033" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ReceivableRelatedToSharesOfRestrictedStock_d04057b0-8efa-4809-8222-03e0f2859027" xlink:href="fsly-20231231.xsd#fsly_ReceivableRelatedToSharesOfRestrictedStock"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract_bc17639f-4f90-4918-a02a-b8e639d23c4e" xlink:to="loc_fsly_ReceivableRelatedToSharesOfRestrictedStock_d04057b0-8efa-4809-8222-03e0f2859027" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_8e0e986b-c720-45fa-92fc-1e8ffea45058" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_5dd28b50-5fd5-4955-83a0-3268be57f094" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_8e0e986b-c720-45fa-92fc-1e8ffea45058" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_0e5b6a23-5507-4d84-814a-4fad27ed9809" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_8e0e986b-c720-45fa-92fc-1e8ffea45058" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_0e5b6a23-5507-4d84-814a-4fad27ed9809" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashCurrent_641f3b4d-d024-4c00-b7f5-7e501475a27c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_8e0e986b-c720-45fa-92fc-1e8ffea45058" xlink:to="loc_us-gaap_RestrictedCashCurrent_641f3b4d-d024-4c00-b7f5-7e501475a27c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashEquivalents_770960cc-f008-412f-afa9-c3a8880849cb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashEquivalents"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_8e0e986b-c720-45fa-92fc-1e8ffea45058" xlink:to="loc_us-gaap_RestrictedCashEquivalents_770960cc-f008-412f-afa9-c3a8880849cb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_1f079346-ad70-4319-af8c-c56879b70977" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_8e0e986b-c720-45fa-92fc-1e8ffea45058" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_1f079346-ad70-4319-af8c-c56879b70977" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/NatureofBusiness" xlink:type="simple" xlink:href="fsly-20231231.xsd#NatureofBusiness"/>
  <link:presentationLink xlink:role="http://fastly.com/role/NatureofBusiness" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_0c1292dd-24da-4e16-9d2f-d7a91cbaa75b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NatureOfOperations_c42f67db-e312-4075-bdf5-4d4d9dcf6cfc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NatureOfOperations"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_0c1292dd-24da-4e16-9d2f-d7a91cbaa75b" xlink:to="loc_us-gaap_NatureOfOperations_c42f67db-e312-4075-bdf5-4d4d9dcf6cfc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/SummaryofSignificantAccountingPolicies" xlink:type="simple" xlink:href="fsly-20231231.xsd#SummaryofSignificantAccountingPolicies"/>
  <link:presentationLink xlink:role="http://fastly.com/role/SummaryofSignificantAccountingPolicies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_720674cd-8248-4077-a62d-e7a13563a9d2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SignificantAccountingPoliciesTextBlock_81555814-e752-4294-943d-0687736128de" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SignificantAccountingPoliciesTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_720674cd-8248-4077-a62d-e7a13563a9d2" xlink:to="loc_us-gaap_SignificantAccountingPoliciesTextBlock_81555814-e752-4294-943d-0687736128de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/Revenue" xlink:type="simple" xlink:href="fsly-20231231.xsd#Revenue"/>
  <link:presentationLink xlink:role="http://fastly.com/role/Revenue" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_38c656f9-7ae9-4ee7-a738-0c9cefc16e43" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_afbd5d4c-9ac9-4848-9fb0-eb9d47885114" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_38c656f9-7ae9-4ee7-a738-0c9cefc16e43" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_afbd5d4c-9ac9-4848-9fb0-eb9d47885114" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/InvestmentsandFairValueMeasurements" xlink:type="simple" xlink:href="fsly-20231231.xsd#InvestmentsandFairValueMeasurements"/>
  <link:presentationLink xlink:role="http://fastly.com/role/InvestmentsandFairValueMeasurements" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_d254c889-66c6-4547-8cdd-fe16fd59b27a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresTextBlock_092d1aaf-c48e-4a83-a97e-2d48d691d3b5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_d254c889-66c6-4547-8cdd-fe16fd59b27a" xlink:to="loc_us-gaap_FairValueDisclosuresTextBlock_092d1aaf-c48e-4a83-a97e-2d48d691d3b5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/BusinessCombinations" xlink:type="simple" xlink:href="fsly-20231231.xsd#BusinessCombinations"/>
  <link:presentationLink xlink:role="http://fastly.com/role/BusinessCombinations" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_25817696-b503-4dd3-b9bd-658bc251126d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationDisclosureTextBlock_99ceb62d-047c-447e-97f2-b932b61f288f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_25817696-b503-4dd3-b9bd-658bc251126d" xlink:to="loc_us-gaap_BusinessCombinationDisclosureTextBlock_99ceb62d-047c-447e-97f2-b932b61f288f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/BalanceSheetInformation" xlink:type="simple" xlink:href="fsly-20231231.xsd#BalanceSheetInformation"/>
  <link:presentationLink xlink:role="http://fastly.com/role/BalanceSheetInformation" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_0c525fe2-6e77-4f8c-bf05-38b5a7431d0b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetRelatedDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock_8a5c247a-a36e-4b71-8972-6848118d0938" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalBalanceSheetDisclosuresTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_0c525fe2-6e77-4f8c-bf05-38b5a7431d0b" xlink:to="loc_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock_8a5c247a-a36e-4b71-8972-6848118d0938" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/Leases" xlink:type="simple" xlink:href="fsly-20231231.xsd#Leases"/>
  <link:presentationLink xlink:role="http://fastly.com/role/Leases" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_b6643ea0-3d62-45ff-adc5-c5f23ca4a4cd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeasesTextBlock_eb999971-a760-4ff6-aeb8-c0247f58ffb9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeasesTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_b6643ea0-3d62-45ff-adc5-c5f23ca4a4cd" xlink:to="loc_us-gaap_LesseeOperatingLeasesTextBlock_eb999971-a760-4ff6-aeb8-c0247f58ffb9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeFinanceLeasesTextBlock_b30b890a-2c80-460c-8c12-9462cb6a016d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeFinanceLeasesTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_b6643ea0-3d62-45ff-adc5-c5f23ca4a4cd" xlink:to="loc_us-gaap_LesseeFinanceLeasesTextBlock_b30b890a-2c80-460c-8c12-9462cb6a016d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/GoodwillandIntangibleAssets" xlink:type="simple" xlink:href="fsly-20231231.xsd#GoodwillandIntangibleAssets"/>
  <link:presentationLink xlink:role="http://fastly.com/role/GoodwillandIntangibleAssets" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_6113428c-7360-4d5c-8af1-574d45d88e14" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_0f32abee-ee54-46ac-a860-3451d8d14d55" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_6113428c-7360-4d5c-8af1-574d45d88e14" xlink:to="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_0f32abee-ee54-46ac-a860-3451d8d14d55" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/DebtInstruments" xlink:type="simple" xlink:href="fsly-20231231.xsd#DebtInstruments"/>
  <link:presentationLink xlink:role="http://fastly.com/role/DebtInstruments" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_ea170319-d771-474c-b40b-da162034c99c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureTextBlock_b4109c99-ede9-4aeb-a394-2ad4792fb1fa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_ea170319-d771-474c-b40b-da162034c99c" xlink:to="loc_us-gaap_DebtDisclosureTextBlock_b4109c99-ede9-4aeb-a394-2ad4792fb1fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/CommitmentsandContingencies" xlink:type="simple" xlink:href="fsly-20231231.xsd#CommitmentsandContingencies"/>
  <link:presentationLink xlink:role="http://fastly.com/role/CommitmentsandContingencies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_2c0a802b-ad81-4ac3-9151-eeafdf1c283f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_37159dd2-89c0-4bd3-ad51-fc7d76351b0b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_2c0a802b-ad81-4ac3-9151-eeafdf1c283f" xlink:to="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_37159dd2-89c0-4bd3-ad51-fc7d76351b0b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/StockholdersEquity" xlink:type="simple" xlink:href="fsly-20231231.xsd#StockholdersEquity"/>
  <link:presentationLink xlink:role="http://fastly.com/role/StockholdersEquity" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteAbstract_a09df946-0604-4fb6-a1a8-1e0e03d8083b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock_82219614-a54e-44da-8222-35185d99fecc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityNoteAbstract_a09df946-0604-4fb6-a1a8-1e0e03d8083b" xlink:to="loc_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock_82219614-a54e-44da-8222-35185d99fecc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholders" xlink:type="simple" xlink:href="fsly-20231231.xsd#NetLossPerShareAttributabletoCommonStockholders"/>
  <link:presentationLink xlink:role="http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholders" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_b114d7ac-4be7-4df9-b59b-cf017416715d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareTextBlock_eb5f760f-5e20-4053-969a-486e042a69e7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_b114d7ac-4be7-4df9-b59b-cf017416715d" xlink:to="loc_us-gaap_EarningsPerShareTextBlock_eb5f760f-5e20-4053-969a-486e042a69e7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/IncomeTaxes" xlink:type="simple" xlink:href="fsly-20231231.xsd#IncomeTaxes"/>
  <link:presentationLink xlink:role="http://fastly.com/role/IncomeTaxes" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_f69d7bf5-58bd-43de-8315-da67f9eb671f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock_cc1a0e87-7138-42bc-bd58-43de013be315" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_f69d7bf5-58bd-43de-8315-da67f9eb671f" xlink:to="loc_us-gaap_IncomeTaxDisclosureTextBlock_cc1a0e87-7138-42bc-bd58-43de013be315" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/InformationAboutRevenueandGeographicAreas" xlink:type="simple" xlink:href="fsly-20231231.xsd#InformationAboutRevenueandGeographicAreas"/>
  <link:presentationLink xlink:role="http://fastly.com/role/InformationAboutRevenueandGeographicAreas" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_c44ba13f-94c6-40f9-b96f-7f94cd288550" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingDisclosureTextBlock_a121837d-7bda-4674-947b-459fde578927" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_c44ba13f-94c6-40f9-b96f-7f94cd288550" xlink:to="loc_us-gaap_SegmentReportingDisclosureTextBlock_a121837d-7bda-4674-947b-459fde578927" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/SubsequentEvent" xlink:type="simple" xlink:href="fsly-20231231.xsd#SubsequentEvent"/>
  <link:presentationLink xlink:role="http://fastly.com/role/SubsequentEvent" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventsAbstract_de6fa6a2-e32f-42d9-9b44-5d83205b12d3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventsTextBlock_b66ebed3-c163-446f-9d30-b9dad12af858" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventsAbstract_de6fa6a2-e32f-42d9-9b44-5d83205b12d3" xlink:to="loc_us-gaap_SubsequentEventsTextBlock_b66ebed3-c163-446f-9d30-b9dad12af858" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/SummaryofSignificantAccountingPoliciesPolicies" xlink:type="simple" xlink:href="fsly-20231231.xsd#SummaryofSignificantAccountingPoliciesPolicies"/>
  <link:presentationLink xlink:role="http://fastly.com/role/SummaryofSignificantAccountingPoliciesPolicies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_41d4d617-0bab-411a-aa36-5ef1e874a5d2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_da780b63-5c60-489e-9f07-541f26e3f010" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_41d4d617-0bab-411a-aa36-5ef1e874a5d2" xlink:to="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_da780b63-5c60-489e-9f07-541f26e3f010" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConsolidationPolicyTextBlock_1273a72c-704f-490f-a098-05c33760f1b8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationPolicyTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_41d4d617-0bab-411a-aa36-5ef1e874a5d2" xlink:to="loc_us-gaap_ConsolidationPolicyTextBlock_1273a72c-704f-490f-a098-05c33760f1b8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PriorPeriodReclassificationAdjustmentDescription_b73c1f1e-c39a-4d39-b320-d180279a24aa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PriorPeriodReclassificationAdjustmentDescription"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_41d4d617-0bab-411a-aa36-5ef1e874a5d2" xlink:to="loc_us-gaap_PriorPeriodReclassificationAdjustmentDescription_b73c1f1e-c39a-4d39-b320-d180279a24aa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UseOfEstimates_5feb6a39-1e07-4945-aae8-e22057e06724" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UseOfEstimates"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_41d4d617-0bab-411a-aa36-5ef1e874a5d2" xlink:to="loc_us-gaap_UseOfEstimates_5feb6a39-1e07-4945-aae8-e22057e06724" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskCreditRisk_dd8147f7-140b-42d9-8771-2823e8b65972" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskCreditRisk"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_41d4d617-0bab-411a-aa36-5ef1e874a5d2" xlink:to="loc_us-gaap_ConcentrationRiskCreditRisk_dd8147f7-140b-42d9-8771-2823e8b65972" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsUnrestrictedCashAndCashEquivalentsPolicy_840d2c0c-98b3-4746-929d-5aa77ff63279" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsUnrestrictedCashAndCashEquivalentsPolicy"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_41d4d617-0bab-411a-aa36-5ef1e874a5d2" xlink:to="loc_us-gaap_CashAndCashEquivalentsUnrestrictedCashAndCashEquivalentsPolicy_840d2c0c-98b3-4746-929d-5aa77ff63279" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MarketableSecuritiesPolicy_495f111b-3370-46ba-99b1-91b939813c8a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecuritiesPolicy"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_41d4d617-0bab-411a-aa36-5ef1e874a5d2" xlink:to="loc_us-gaap_MarketableSecuritiesPolicy_495f111b-3370-46ba-99b1-91b939813c8a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_92e57a65-02a5-4089-ad35-9692e8803e78" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_41d4d617-0bab-411a-aa36-5ef1e874a5d2" xlink:to="loc_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_92e57a65-02a5-4089-ad35-9692e8803e78" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TradeAndOtherAccountsReceivablePolicy_b7544ae5-9b13-433c-a9b3-7fa2fe289450" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_41d4d617-0bab-411a-aa36-5ef1e874a5d2" xlink:to="loc_us-gaap_TradeAndOtherAccountsReceivablePolicy_b7544ae5-9b13-433c-a9b3-7fa2fe289450" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_aba5ba8d-3a66-4c97-8f76-26dccb22d559" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_41d4d617-0bab-411a-aa36-5ef1e874a5d2" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_aba5ba8d-3a66-4c97-8f76-26dccb22d559" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueOfFinancialInstrumentsPolicy_6655113c-9b5b-46b6-b518-3caada5f1ea3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_41d4d617-0bab-411a-aa36-5ef1e874a5d2" xlink:to="loc_us-gaap_FairValueOfFinancialInstrumentsPolicy_6655113c-9b5b-46b6-b518-3caada5f1ea3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_2b59584e-8e16-43cd-88c7-5ce782969cd2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_41d4d617-0bab-411a-aa36-5ef1e874a5d2" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_2b59584e-8e16-43cd-88c7-5ce782969cd2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InternalUseSoftwarePolicy_1f0f8985-dc49-4dff-bb4a-41b733c4c469" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InternalUseSoftwarePolicy"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_41d4d617-0bab-411a-aa36-5ef1e874a5d2" xlink:to="loc_us-gaap_InternalUseSoftwarePolicy_1f0f8985-dc49-4dff-bb4a-41b733c4c469" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationsPolicy_87767a04-741e-4d40-b144-0707c5d4d00a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationsPolicy"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_41d4d617-0bab-411a-aa36-5ef1e874a5d2" xlink:to="loc_us-gaap_BusinessCombinationsPolicy_87767a04-741e-4d40-b144-0707c5d4d00a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingPolicyPolicyTextBlock_3e6b8f86-2e2d-498c-9ef7-2d2531957fb2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_41d4d617-0bab-411a-aa36-5ef1e874a5d2" xlink:to="loc_us-gaap_SegmentReportingPolicyPolicyTextBlock_3e6b8f86-2e2d-498c-9ef7-2d2531957fb2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_GoodwillIntangibleAssetsAndLongLivedAssetsPolicyPolicyTextBlock_ed6da111-b510-45c6-824b-057b01eb811d" xlink:href="fsly-20231231.xsd#fsly_GoodwillIntangibleAssetsAndLongLivedAssetsPolicyPolicyTextBlock"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_41d4d617-0bab-411a-aa36-5ef1e874a5d2" xlink:to="loc_fsly_GoodwillIntangibleAssetsAndLongLivedAssetsPolicyPolicyTextBlock_ed6da111-b510-45c6-824b-057b01eb811d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeasesPolicyTextBlock_08abd1e4-6854-4171-90b4-1021cd3b2671" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeasesPolicyTextBlock"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_41d4d617-0bab-411a-aa36-5ef1e874a5d2" xlink:to="loc_us-gaap_LesseeLeasesPolicyTextBlock_08abd1e4-6854-4171-90b4-1021cd3b2671" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtPolicyTextBlock_33fc198f-0b40-4e8f-a76d-09fcb90f7951" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtPolicyTextBlock"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_41d4d617-0bab-411a-aa36-5ef1e874a5d2" xlink:to="loc_us-gaap_DebtPolicyTextBlock_33fc198f-0b40-4e8f-a76d-09fcb90f7951" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesPolicyTextBlock_5a67d755-f49b-4ab5-b963-fad60eef3b90" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfSalesPolicyTextBlock"/>
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_41d4d617-0bab-411a-aa36-5ef1e874a5d2" xlink:to="loc_us-gaap_CostOfSalesPolicyTextBlock_5a67d755-f49b-4ab5-b963-fad60eef3b90" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpensePolicy_4e0c1251-ea3a-4259-8f57-bf42dffe9bfb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy"/>
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_41d4d617-0bab-411a-aa36-5ef1e874a5d2" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpensePolicy_4e0c1251-ea3a-4259-8f57-bf42dffe9bfb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdvertisingCostsPolicyTextBlock_bc493f57-851f-43fa-871e-b1954fa5c79b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingCostsPolicyTextBlock"/>
    <link:presentationArc order="21" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_41d4d617-0bab-411a-aa36-5ef1e874a5d2" xlink:to="loc_us-gaap_AdvertisingCostsPolicyTextBlock_bc493f57-851f-43fa-871e-b1954fa5c79b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_14c6aed9-1d45-4b78-b21c-cc728d7b4401" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy"/>
    <link:presentationArc order="22" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_41d4d617-0bab-411a-aa36-5ef1e874a5d2" xlink:to="loc_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_14c6aed9-1d45-4b78-b21c-cc728d7b4401" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_2a469dcb-9fe8-46a8-b086-0a3e8b05e08a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock"/>
    <link:presentationArc order="23" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_41d4d617-0bab-411a-aa36-5ef1e874a5d2" xlink:to="loc_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_2a469dcb-9fe8-46a8-b086-0a3e8b05e08a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxPolicyTextBlock_e956e5e9-36ee-41e0-b186-26588a056b0e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxPolicyTextBlock"/>
    <link:presentationArc order="24" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_41d4d617-0bab-411a-aa36-5ef1e874a5d2" xlink:to="loc_us-gaap_IncomeTaxPolicyTextBlock_e956e5e9-36ee-41e0-b186-26588a056b0e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerSharePolicyTextBlock_32292e54-1aca-4109-9883-06370a4e4570" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerSharePolicyTextBlock"/>
    <link:presentationArc order="25" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_41d4d617-0bab-411a-aa36-5ef1e874a5d2" xlink:to="loc_us-gaap_EarningsPerSharePolicyTextBlock_32292e54-1aca-4109-9883-06370a4e4570" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_0770bac0-393c-4415-8d59-6da44346066c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
    <link:presentationArc order="26" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_41d4d617-0bab-411a-aa36-5ef1e874a5d2" xlink:to="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_0770bac0-393c-4415-8d59-6da44346066c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/SummaryofSignificantAccountingPoliciesTables" xlink:type="simple" xlink:href="fsly-20231231.xsd#SummaryofSignificantAccountingPoliciesTables"/>
  <link:presentationLink xlink:role="http://fastly.com/role/SummaryofSignificantAccountingPoliciesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_70311d3f-aa69-48f2-ab4e-38803ac15fd2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTextBlock_651a3a05-3afc-4bc5-ab1c-c2e21670a88e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_70311d3f-aa69-48f2-ab4e-38803ac15fd2" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTextBlock_651a3a05-3afc-4bc5-ab1c-c2e21670a88e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_f3c8f1c6-0e20-4786-b4cf-31b35c50f045" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_70311d3f-aa69-48f2-ab4e-38803ac15fd2" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_f3c8f1c6-0e20-4786-b4cf-31b35c50f045" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/RevenueTables" xlink:type="simple" xlink:href="fsly-20231231.xsd#RevenueTables"/>
  <link:presentationLink xlink:role="http://fastly.com/role/RevenueTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_43f088e8-6ede-4101-8e37-8f09cec38b3b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock_310132b0-6892-4fe3-aa44-597c2e062a4f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_43f088e8-6ede-4101-8e37-8f09cec38b3b" xlink:to="loc_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock_310132b0-6892-4fe3-aa44-597c2e062a4f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock_f0b44b46-7972-4eaf-be65-f1e0b8b406e7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_43f088e8-6ede-4101-8e37-8f09cec38b3b" xlink:to="loc_us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock_f0b44b46-7972-4eaf-be65-f1e0b8b406e7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_1fa2e507-1ede-4598-9c74-89ca1052e93c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_43f088e8-6ede-4101-8e37-8f09cec38b3b" xlink:to="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_1fa2e507-1ede-4598-9c74-89ca1052e93c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostTableTextBlock_54b227bf-c743-4756-8bef-7772ac061ae9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostTableTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_43f088e8-6ede-4101-8e37-8f09cec38b3b" xlink:to="loc_us-gaap_CapitalizedContractCostTableTextBlock_54b227bf-c743-4756-8bef-7772ac061ae9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/InvestmentsandFairValueMeasurementsTables" xlink:type="simple" xlink:href="fsly-20231231.xsd#InvestmentsandFairValueMeasurementsTables"/>
  <link:presentationLink xlink:role="http://fastly.com/role/InvestmentsandFairValueMeasurementsTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_f9c2508c-1ed8-42d5-a561-30f022c3764d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock_bdd42f7a-dc60-4291-b45f-4eb810bd1122" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_f9c2508c-1ed8-42d5-a561-30f022c3764d" xlink:to="loc_us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock_bdd42f7a-dc60-4291-b45f-4eb810bd1122" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock_52678a7b-d8ba-485f-82d4-2c1fa8d583e5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_f9c2508c-1ed8-42d5-a561-30f022c3764d" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock_52678a7b-d8ba-485f-82d4-2c1fa8d583e5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_178ee7a3-d1c9-44c5-a515-3d0cf6f2b280" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_f9c2508c-1ed8-42d5-a561-30f022c3764d" xlink:to="loc_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_178ee7a3-d1c9-44c5-a515-3d0cf6f2b280" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/BusinessCombinationsTables" xlink:type="simple" xlink:href="fsly-20231231.xsd#BusinessCombinationsTables"/>
  <link:presentationLink xlink:role="http://fastly.com/role/BusinessCombinationsTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_f8ba8328-412a-447a-85bb-0f0d7797a2a3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock_cd43338f-44ea-4060-9654-c67c100919ac" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_f8ba8328-412a-447a-85bb-0f0d7797a2a3" xlink:to="loc_us-gaap_FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock_cd43338f-44ea-4060-9654-c67c100919ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/BalanceSheetInformationTables" xlink:type="simple" xlink:href="fsly-20231231.xsd#BalanceSheetInformationTables"/>
  <link:presentationLink xlink:role="http://fastly.com/role/BalanceSheetInformationTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_f95073dd-f2a4-4461-9a2a-e304026cd369" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetRelatedDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_27a1187e-1ec4-4426-947f-59ec60b3462a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_f95073dd-f2a4-4461-9a2a-e304026cd369" xlink:to="loc_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_27a1187e-1ec4-4426-947f-59ec60b3462a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTextBlock_0f97dda4-4caa-4156-b702-a9149d2e27d4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_f95073dd-f2a4-4461-9a2a-e304026cd369" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTextBlock_0f97dda4-4caa-4156-b702-a9149d2e27d4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock_52af208a-7859-42b4-82dc-21f64fafddf0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_f95073dd-f2a4-4461-9a2a-e304026cd369" xlink:to="loc_us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock_52af208a-7859-42b4-82dc-21f64fafddf0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_5d851ded-08a7-4b35-ade3-bf0934592100" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_f95073dd-f2a4-4461-9a2a-e304026cd369" xlink:to="loc_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_5d851ded-08a7-4b35-ade3-bf0934592100" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherCurrentLiabilitiesTableTextBlock_27f0f06c-9512-453e-ba6d-a2d3902a8ac6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherCurrentLiabilitiesTableTextBlock"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_f95073dd-f2a4-4461-9a2a-e304026cd369" xlink:to="loc_us-gaap_OtherCurrentLiabilitiesTableTextBlock_27f0f06c-9512-453e-ba6d-a2d3902a8ac6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_433cb417-2675-4b10-a8fb-3fc978bd8509" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_f95073dd-f2a4-4461-9a2a-e304026cd369" xlink:to="loc_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_433cb417-2675-4b10-a8fb-3fc978bd8509" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/LeasesTables" xlink:type="simple" xlink:href="fsly-20231231.xsd#LeasesTables"/>
  <link:presentationLink xlink:role="http://fastly.com/role/LeasesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_8efe80ed-b8b0-4a4e-ad78-3eea2f548085" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCostTableTextBlock_987bd2c1-e524-47b9-b011-8b23dc5ae045" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseCostTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_8efe80ed-b8b0-4a4e-ad78-3eea2f548085" xlink:to="loc_us-gaap_LeaseCostTableTextBlock_987bd2c1-e524-47b9-b011-8b23dc5ae045" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_9363f1a9-73ed-4363-9a10-fdae40da2e6f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_8efe80ed-b8b0-4a4e-ad78-3eea2f548085" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_9363f1a9-73ed-4363-9a10-fdae40da2e6f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock_3bffc327-b52c-476a-acee-85f9769e4ecb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_8efe80ed-b8b0-4a4e-ad78-3eea2f548085" xlink:to="loc_us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock_3bffc327-b52c-476a-acee-85f9769e4ecb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/GoodwillandIntangibleAssetsTables" xlink:type="simple" xlink:href="fsly-20231231.xsd#GoodwillandIntangibleAssetsTables"/>
  <link:presentationLink xlink:role="http://fastly.com/role/GoodwillandIntangibleAssetsTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_90b6b035-7a1b-410e-b79e-81cd3c244c88" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfGoodwillTextBlock_dfd2a742-d3ec-4294-8ffe-52721c6ccc9b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfGoodwillTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_90b6b035-7a1b-410e-b79e-81cd3c244c88" xlink:to="loc_us-gaap_ScheduleOfGoodwillTextBlock_dfd2a742-d3ec-4294-8ffe-52721c6ccc9b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_e09eb419-9066-4572-bcf2-7edcbe804d4e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_90b6b035-7a1b-410e-b79e-81cd3c244c88" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_e09eb419-9066-4572-bcf2-7edcbe804d4e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_bc9a087d-4f07-4f39-9b7e-3146697953a2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_90b6b035-7a1b-410e-b79e-81cd3c244c88" xlink:to="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_bc9a087d-4f07-4f39-9b7e-3146697953a2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/DebtInstrumentsTables" xlink:type="simple" xlink:href="fsly-20231231.xsd#DebtInstrumentsTables"/>
  <link:presentationLink xlink:role="http://fastly.com/role/DebtInstrumentsTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_82606c4c-dbef-4bc1-a5a2-14376d3502de" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDebtTableTextBlock_bff7236d-d953-46f3-8d20-906f626fccec" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDebtTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_82606c4c-dbef-4bc1-a5a2-14376d3502de" xlink:to="loc_us-gaap_ScheduleOfDebtTableTextBlock_bff7236d-d953-46f3-8d20-906f626fccec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/CommitmentsandContingenciesTables" xlink:type="simple" xlink:href="fsly-20231231.xsd#CommitmentsandContingenciesTables"/>
  <link:presentationLink xlink:role="http://fastly.com/role/CommitmentsandContingenciesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_48ac996c-644a-4d0a-bdd4-0da872303909" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermPurchaseCommitmentTextBlock_3f4ec947-4033-496e-87fe-f862ed11b75c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermPurchaseCommitmentTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_48ac996c-644a-4d0a-bdd4-0da872303909" xlink:to="loc_us-gaap_LongTermPurchaseCommitmentTextBlock_3f4ec947-4033-496e-87fe-f862ed11b75c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/StockholdersEquityTables" xlink:type="simple" xlink:href="fsly-20231231.xsd#StockholdersEquityTables"/>
  <link:presentationLink xlink:role="http://fastly.com/role/StockholdersEquityTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteAbstract_10c20728-bd63-4890-b102-34da52a4ce19" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_8d193723-0450-4a44-8525-c029c4562d70" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityNoteAbstract_10c20728-bd63-4890-b102-34da52a4ce19" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_8d193723-0450-4a44-8525-c029c4562d70" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock_ebcd543a-4d14-45ab-b4a6-19baa8ba2791" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityNoteAbstract_10c20728-bd63-4890-b102-34da52a4ce19" xlink:to="loc_us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock_ebcd543a-4d14-45ab-b4a6-19baa8ba2791" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardRestrictedStockUnitsVestedAndExpectedToVestTableTextBlock_1e1ee635-79ea-4ba2-bd2b-d4774a76789e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardRestrictedStockUnitsVestedAndExpectedToVestTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityNoteAbstract_10c20728-bd63-4890-b102-34da52a4ce19" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardRestrictedStockUnitsVestedAndExpectedToVestTableTextBlock_1e1ee635-79ea-4ba2-bd2b-d4774a76789e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_015e57a3-7b4d-47ec-81ff-c64e54ca3d9d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityNoteAbstract_10c20728-bd63-4890-b102-34da52a4ce19" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_015e57a3-7b4d-47ec-81ff-c64e54ca3d9d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersTables" xlink:type="simple" xlink:href="fsly-20231231.xsd#NetLossPerShareAttributabletoCommonStockholdersTables"/>
  <link:presentationLink xlink:role="http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_2ce1c985-a44a-4794-94f9-d2743aea0507" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_b4aa3137-f706-465c-9bcd-dc0ddd02cab9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_2ce1c985-a44a-4794-94f9-d2743aea0507" xlink:to="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_b4aa3137-f706-465c-9bcd-dc0ddd02cab9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_a66740ed-7e0e-45c4-afdb-d862094034d2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_2ce1c985-a44a-4794-94f9-d2743aea0507" xlink:to="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_a66740ed-7e0e-45c4-afdb-d862094034d2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/IncomeTaxesTables" xlink:type="simple" xlink:href="fsly-20231231.xsd#IncomeTaxesTables"/>
  <link:presentationLink xlink:role="http://fastly.com/role/IncomeTaxesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_1f5283e4-e192-4e29-a931-b176274ba5f2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_732b6f13-4d13-4c73-85ae-8b108b40972b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_1f5283e4-e192-4e29-a931-b176274ba5f2" xlink:to="loc_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_732b6f13-4d13-4c73-85ae-8b108b40972b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_dd13acfe-788e-43ac-9c7b-a2b1c180c27b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_1f5283e4-e192-4e29-a931-b176274ba5f2" xlink:to="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_dd13acfe-788e-43ac-9c7b-a2b1c180c27b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_444588e0-7ed2-4646-8b8c-c57d0a43b952" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_1f5283e4-e192-4e29-a931-b176274ba5f2" xlink:to="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_444588e0-7ed2-4646-8b8c-c57d0a43b952" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_e0220b88-82bb-4001-a734-e172cd8390e6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_1f5283e4-e192-4e29-a931-b176274ba5f2" xlink:to="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_e0220b88-82bb-4001-a734-e172cd8390e6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_f49b2585-e885-49e4-a0a7-e053ef49c439" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_1f5283e4-e192-4e29-a931-b176274ba5f2" xlink:to="loc_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_f49b2585-e885-49e4-a0a7-e053ef49c439" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/InformationAboutRevenueandGeographicAreasTables" xlink:type="simple" xlink:href="fsly-20231231.xsd#InformationAboutRevenueandGeographicAreasTables"/>
  <link:presentationLink xlink:role="http://fastly.com/role/InformationAboutRevenueandGeographicAreasTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_6422eaa8-f0b2-4fa3-9236-0f337ceac8ce" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock_0156df1a-7968-4cfa-a998-e96626747589" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_6422eaa8-f0b2-4fa3-9236-0f337ceac8ce" xlink:to="loc_us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock_0156df1a-7968-4cfa-a998-e96626747589" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/NatureofBusinessDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#NatureofBusinessDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/NatureofBusinessDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_002ed055-125a-4988-a40a-19531e8ac1ff" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_OperatingMarkets_b1fdc705-dced-474e-aee4-fefb72ecf527" xlink:href="fsly-20231231.xsd#fsly_OperatingMarkets"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_002ed055-125a-4988-a40a-19531e8ac1ff" xlink:to="loc_fsly_OperatingMarkets_b1fdc705-dced-474e-aee4-fefb72ecf527" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/SummaryofSignificantAccountingPoliciesConcentrationsofCreditRiskDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#SummaryofSignificantAccountingPoliciesConcentrationsofCreditRiskDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/SummaryofSignificantAccountingPoliciesConcentrationsofCreditRiskDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_f4ec75d3-6da7-4332-bc7f-3cf74d2be30e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTable_0e41fd06-942a-4841-807f-1802a0f7c429" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_f4ec75d3-6da7-4332-bc7f-3cf74d2be30e" xlink:to="loc_us-gaap_ConcentrationRiskTable_0e41fd06-942a-4841-807f-1802a0f7c429" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_39e7f3c4-387a-4991-913c-38f954caccfe" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_0e41fd06-942a-4841-807f-1802a0f7c429" xlink:to="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_39e7f3c4-387a-4991-913c-38f954caccfe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_e9e863a8-4d92-40f8-b64b-4c03dbed7aa3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_39e7f3c4-387a-4991-913c-38f954caccfe" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_e9e863a8-4d92-40f8-b64b-4c03dbed7aa3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableMember_54c12097-2dac-4535-84cb-c4183c92a716" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_e9e863a8-4d92-40f8-b64b-4c03dbed7aa3" xlink:to="loc_us-gaap_AccountsReceivableMember_54c12097-2dac-4535-84cb-c4183c92a716" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesRevenueNetMember_30a8a813-3530-4575-b8f6-7cafde800a24" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_e9e863a8-4d92-40f8-b64b-4c03dbed7aa3" xlink:to="loc_us-gaap_SalesRevenueNetMember_30a8a813-3530-4575-b8f6-7cafde800a24" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MajorCustomersAxis_a9c1cec7-9af7-4aa3-871c-f3c79aa01f9d" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_0e41fd06-942a-4841-807f-1802a0f7c429" xlink:to="loc_srt_MajorCustomersAxis_a9c1cec7-9af7-4aa3-871c-f3c79aa01f9d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain_3cd7b1e5-d89e-4d92-99f6-b6a29dd93be2" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_MajorCustomersAxis_a9c1cec7-9af7-4aa3-871c-f3c79aa01f9d" xlink:to="loc_srt_NameOfMajorCustomerDomain_3cd7b1e5-d89e-4d92-99f6-b6a29dd93be2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_CustomerOneMember_f90c8633-57d7-41ae-b95a-834f1dd75ea6" xlink:href="fsly-20231231.xsd#fsly_CustomerOneMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_NameOfMajorCustomerDomain_3cd7b1e5-d89e-4d92-99f6-b6a29dd93be2" xlink:to="loc_fsly_CustomerOneMember_f90c8633-57d7-41ae-b95a-834f1dd75ea6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByTypeAxis_d3b18fef-8334-4e69-a722-61fd3b5355ab" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_0e41fd06-942a-4841-807f-1802a0f7c429" xlink:to="loc_us-gaap_ConcentrationRiskByTypeAxis_d3b18fef-8334-4e69-a722-61fd3b5355ab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain_7ec38302-8e45-458e-9d2d-b29494866a65" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis_d3b18fef-8334-4e69-a722-61fd3b5355ab" xlink:to="loc_us-gaap_ConcentrationRiskTypeDomain_7ec38302-8e45-458e-9d2d-b29494866a65" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerConcentrationRiskMember_cb27a698-e6e3-46d8-8534-a1d4354bbf5c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTypeDomain_7ec38302-8e45-458e-9d2d-b29494866a65" xlink:to="loc_us-gaap_CustomerConcentrationRiskMember_cb27a698-e6e3-46d8-8534-a1d4354bbf5c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskLineItems_6871b340-a169-4ec0-b161-878a1f30578f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_0e41fd06-942a-4841-807f-1802a0f7c429" xlink:to="loc_us-gaap_ConcentrationRiskLineItems_6871b340-a169-4ec0-b161-878a1f30578f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskPercentage1_a8584be9-ab90-4b1f-b412-b6405120e5a9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_6871b340-a169-4ec0-b161-878a1f30578f" xlink:to="loc_us-gaap_ConcentrationRiskPercentage1_a8584be9-ab90-4b1f-b412-b6405120e5a9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/SummaryofSignificantAccountingPoliciesRestrictedCashDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#SummaryofSignificantAccountingPoliciesRestrictedCashDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/SummaryofSignificantAccountingPoliciesRestrictedCashDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_d0acac40-35b8-4f14-9d35-e6d0b758d482" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCash_62ca9e09-ac35-452b-a19b-f253ea191976" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCash"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_d0acac40-35b8-4f14-9d35-e6d0b758d482" xlink:to="loc_us-gaap_RestrictedCash_62ca9e09-ac35-452b-a19b-f253ea191976" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/SummaryofSignificantAccountingPoliciesIncrementalCoststoObtainaContractWithCustomerDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#SummaryofSignificantAccountingPoliciesIncrementalCoststoObtainaContractWithCustomerDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/SummaryofSignificantAccountingPoliciesIncrementalCoststoObtainaContractWithCustomerDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_7ab16ea1-0677-4e17-9732-5716928ea422" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostTable_733a2da9-9682-4c56-9c82-b87014448a5c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_7ab16ea1-0677-4e17-9732-5716928ea422" xlink:to="loc_us-gaap_CapitalizedContractCostTable_733a2da9-9682-4c56-9c82-b87014448a5c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostAxis_9c9196d2-b744-4994-8047-3dd86b7c0c72" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CapitalizedContractCostTable_733a2da9-9682-4c56-9c82-b87014448a5c" xlink:to="loc_us-gaap_CapitalizedContractCostAxis_9c9196d2-b744-4994-8047-3dd86b7c0c72" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostDomain_1efc5f8a-46f9-41e7-95f2-57ca59cbbc72" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CapitalizedContractCostAxis_9c9196d2-b744-4994-8047-3dd86b7c0c72" xlink:to="loc_us-gaap_CapitalizedContractCostDomain_1efc5f8a-46f9-41e7-95f2-57ca59cbbc72" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_CustomerArrangementMember_c30db5b0-083a-4591-a5ad-b301a556e8f2" xlink:href="fsly-20231231.xsd#fsly_CustomerArrangementMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CapitalizedContractCostDomain_1efc5f8a-46f9-41e7-95f2-57ca59cbbc72" xlink:to="loc_fsly_CustomerArrangementMember_c30db5b0-083a-4591-a5ad-b301a556e8f2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostLineItems_d47285f5-a9b1-440a-bb68-e3bebdf6fdf0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CapitalizedContractCostTable_733a2da9-9682-4c56-9c82-b87014448a5c" xlink:to="loc_us-gaap_CapitalizedContractCostLineItems_d47285f5-a9b1-440a-bb68-e3bebdf6fdf0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostAmortizationPeriod_dc7b9407-bd3e-4c8b-8b42-1c157fa9a37e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostAmortizationPeriod"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CapitalizedContractCostLineItems_d47285f5-a9b1-440a-bb68-e3bebdf6fdf0" xlink:to="loc_us-gaap_CapitalizedContractCostAmortizationPeriod_dc7b9407-bd3e-4c8b-8b42-1c157fa9a37e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofPropertyandEquipmentDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#SummaryofSignificantAccountingPoliciesScheduleofPropertyandEquipmentDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofPropertyandEquipmentDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_5cfcd9e6-0b65-4143-aacf-08e5a2ed5292" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_927f4718-5f26-476d-bd11-7e3cdf66bbf3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_5cfcd9e6-0b65-4143-aacf-08e5a2ed5292" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_927f4718-5f26-476d-bd11-7e3cdf66bbf3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_d638d0e0-7a96-4895-848d-20c53141f302" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_927f4718-5f26-476d-bd11-7e3cdf66bbf3" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_d638d0e0-7a96-4895-848d-20c53141f302" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_0da043d0-bff7-4a8b-84fd-4c3a1fe65911" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_d638d0e0-7a96-4895-848d-20c53141f302" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_0da043d0-bff7-4a8b-84fd-4c3a1fe65911" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComputerEquipmentMember_f815dbef-66eb-4c33-98d3-42642e318300" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerEquipmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_0da043d0-bff7-4a8b-84fd-4c3a1fe65911" xlink:to="loc_us-gaap_ComputerEquipmentMember_f815dbef-66eb-4c33-98d3-42642e318300" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseholdImprovementsMember_e91f852f-aaf2-4f9b-ba3c-412271d92c6d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_0da043d0-bff7-4a8b-84fd-4c3a1fe65911" xlink:to="loc_us-gaap_LeaseholdImprovementsMember_e91f852f-aaf2-4f9b-ba3c-412271d92c6d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FurnitureAndFixturesMember_af32e77a-ea84-4af1-9baa-d87adec89efd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FurnitureAndFixturesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_0da043d0-bff7-4a8b-84fd-4c3a1fe65911" xlink:to="loc_us-gaap_FurnitureAndFixturesMember_af32e77a-ea84-4af1-9baa-d87adec89efd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OfficeEquipmentMember_4d067f68-6b75-44f2-92e3-aa2e5db0ded9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OfficeEquipmentMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_0da043d0-bff7-4a8b-84fd-4c3a1fe65911" xlink:to="loc_us-gaap_OfficeEquipmentMember_4d067f68-6b75-44f2-92e3-aa2e5db0ded9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SoftwareDevelopmentMember_0913bf83-fe3a-4e3e-972f-88db3a276c67" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SoftwareDevelopmentMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_0da043d0-bff7-4a8b-84fd-4c3a1fe65911" xlink:to="loc_us-gaap_SoftwareDevelopmentMember_0913bf83-fe3a-4e3e-972f-88db3a276c67" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_11887438-7461-4f2c-bc78-fe767bd7de7b" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_927f4718-5f26-476d-bd11-7e3cdf66bbf3" xlink:to="loc_srt_RangeAxis_11887438-7461-4f2c-bc78-fe767bd7de7b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_2b315b8d-cbce-4f5d-802e-d3d9bb911908" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_11887438-7461-4f2c-bc78-fe767bd7de7b" xlink:to="loc_srt_RangeMember_2b315b8d-cbce-4f5d-802e-d3d9bb911908" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_5c168cb0-7639-469c-8102-9670897e9024" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_2b315b8d-cbce-4f5d-802e-d3d9bb911908" xlink:to="loc_srt_MinimumMember_5c168cb0-7639-469c-8102-9670897e9024" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_df227416-072b-45ba-bff7-3decff96ec1c" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_2b315b8d-cbce-4f5d-802e-d3d9bb911908" xlink:to="loc_srt_MaximumMember_df227416-072b-45ba-bff7-3decff96ec1c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_dd9253dc-906e-4e8b-b273-f6d30bd94b9c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_927f4718-5f26-476d-bd11-7e3cdf66bbf3" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentLineItems_dd9253dc-906e-4e8b-b273-f6d30bd94b9c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_6e92ef28-78c1-4cc6-859b-579f74f2f4f1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_dd9253dc-906e-4e8b-b273-f6d30bd94b9c" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_6e92ef28-78c1-4cc6-859b-579f74f2f4f1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/SummaryofSignificantAccountingPoliciesInternalUseSoftwareDevelopmentCostsDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#SummaryofSignificantAccountingPoliciesInternalUseSoftwareDevelopmentCostsDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/SummaryofSignificantAccountingPoliciesInternalUseSoftwareDevelopmentCostsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_32bde061-5a5e-44c5-9be5-f481bcdfb156" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_9fe482fa-0bb8-495e-8564-1dd2ae5a69e1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_32bde061-5a5e-44c5-9be5-f481bcdfb156" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_9fe482fa-0bb8-495e-8564-1dd2ae5a69e1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_988d5fa5-b93b-4e24-99a1-054d82f7a977" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_9fe482fa-0bb8-495e-8564-1dd2ae5a69e1" xlink:to="loc_srt_RangeAxis_988d5fa5-b93b-4e24-99a1-054d82f7a977" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_20974ee6-59bf-4b0f-9c93-6e531ac4c0ec" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_988d5fa5-b93b-4e24-99a1-054d82f7a977" xlink:to="loc_srt_RangeMember_20974ee6-59bf-4b0f-9c93-6e531ac4c0ec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_245485f4-4104-4fa1-a744-b01da66035e3" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_20974ee6-59bf-4b0f-9c93-6e531ac4c0ec" xlink:to="loc_srt_MinimumMember_245485f4-4104-4fa1-a744-b01da66035e3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_9043c6eb-3c0a-4dab-a9bc-c1772a51ae46" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_20974ee6-59bf-4b0f-9c93-6e531ac4c0ec" xlink:to="loc_srt_MaximumMember_9043c6eb-3c0a-4dab-a9bc-c1772a51ae46" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_03319f6b-538b-4977-ad7a-a6aa2bae8145" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_9fe482fa-0bb8-495e-8564-1dd2ae5a69e1" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_03319f6b-538b-4977-ad7a-a6aa2bae8145" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_588a4077-009d-407c-9fac-1edc9d462cf0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_03319f6b-538b-4977-ad7a-a6aa2bae8145" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_588a4077-009d-407c-9fac-1edc9d462cf0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SoftwareDevelopmentMember_ad3cbe0e-e828-43f3-9cb4-8115736e903d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SoftwareDevelopmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_588a4077-009d-407c-9fac-1edc9d462cf0" xlink:to="loc_us-gaap_SoftwareDevelopmentMember_ad3cbe0e-e828-43f3-9cb4-8115736e903d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_735a76c5-3f2f-4ceb-85a5-69ba9f0ab9ff" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_9fe482fa-0bb8-495e-8564-1dd2ae5a69e1" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentLineItems_735a76c5-3f2f-4ceb-85a5-69ba9f0ab9ff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_e8337156-f35f-4f4f-a44e-3fe73889de6d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_735a76c5-3f2f-4ceb-85a5-69ba9f0ab9ff" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_e8337156-f35f-4f4f-a44e-3fe73889de6d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/SummaryofSignificantAccountingPoliciesGoodwillNarrativeDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#SummaryofSignificantAccountingPoliciesGoodwillNarrativeDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/SummaryofSignificantAccountingPoliciesGoodwillNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_aeba215a-440c-4e63-9c5f-e0ec3086ed72" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfOperatingSegments_7734423d-0de8-4eae-a957-0e29e216decb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfOperatingSegments"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_aeba215a-440c-4e63-9c5f-e0ec3086ed72" xlink:to="loc_us-gaap_NumberOfOperatingSegments_7734423d-0de8-4eae-a957-0e29e216decb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfReportableSegments_6b8db2fd-9b44-410f-9e66-d2cda09a7d9a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfReportableSegments"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_aeba215a-440c-4e63-9c5f-e0ec3086ed72" xlink:to="loc_us-gaap_NumberOfReportableSegments_6b8db2fd-9b44-410f-9e66-d2cda09a7d9a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofIntangibleAssetsDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#SummaryofSignificantAccountingPoliciesScheduleofIntangibleAssetsDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofIntangibleAssetsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_f02a9341-4484-4893-a5b2-db1ae64d4c16" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_ba21f421-e161-4b74-8cf2-bf51332169a1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_f02a9341-4484-4893-a5b2-db1ae64d4c16" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_ba21f421-e161-4b74-8cf2-bf51332169a1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_a7336e5d-00d0-4a2b-80ff-1a74f891a968" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_ba21f421-e161-4b74-8cf2-bf51332169a1" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_a7336e5d-00d0-4a2b-80ff-1a74f891a968" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_32744ffd-8ec5-46e7-80f7-29c482474111" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_a7336e5d-00d0-4a2b-80ff-1a74f891a968" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_32744ffd-8ec5-46e7-80f7-29c482474111" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember_186734af-9eb8-4750-8126-53e3909ca384" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelationshipsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_32744ffd-8ec5-46e7-80f7-29c482474111" xlink:to="loc_us-gaap_CustomerRelationshipsMember_186734af-9eb8-4750-8126-53e3909ca384" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember_bc74ac53-1b92-4835-9b87-ca6b31114e27" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DevelopedTechnologyRightsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_32744ffd-8ec5-46e7-80f7-29c482474111" xlink:to="loc_us-gaap_DevelopedTechnologyRightsMember_bc74ac53-1b92-4835-9b87-ca6b31114e27" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TradeNamesMember_a1670929-0bbd-4fe8-9f0b-d603c66cdcd3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradeNamesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_32744ffd-8ec5-46e7-80f7-29c482474111" xlink:to="loc_us-gaap_TradeNamesMember_a1670929-0bbd-4fe8-9f0b-d603c66cdcd3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrderOrProductionBacklogMember_b5160ac9-c197-4785-a255-c19d58b74132" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrderOrProductionBacklogMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_32744ffd-8ec5-46e7-80f7-29c482474111" xlink:to="loc_us-gaap_OrderOrProductionBacklogMember_b5160ac9-c197-4785-a255-c19d58b74132" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_InternetProtocolAddressesMember_3170e82d-0871-404a-9d58-1eb4b8654eef" xlink:href="fsly-20231231.xsd#fsly_InternetProtocolAddressesMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_32744ffd-8ec5-46e7-80f7-29c482474111" xlink:to="loc_fsly_InternetProtocolAddressesMember_3170e82d-0871-404a-9d58-1eb4b8654eef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_d3b73e13-76bd-4697-9f66-5cf5534ae1d6" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_ba21f421-e161-4b74-8cf2-bf51332169a1" xlink:to="loc_srt_RangeAxis_d3b73e13-76bd-4697-9f66-5cf5534ae1d6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_0346a688-cec7-4c39-a5ad-1c05c60a3303" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_d3b73e13-76bd-4697-9f66-5cf5534ae1d6" xlink:to="loc_srt_RangeMember_0346a688-cec7-4c39-a5ad-1c05c60a3303" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_a143a655-e1d4-4c5a-b353-6b1a65a3e94b" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_0346a688-cec7-4c39-a5ad-1c05c60a3303" xlink:to="loc_srt_MinimumMember_a143a655-e1d4-4c5a-b353-6b1a65a3e94b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_32cff8ea-5ef0-4ccb-a12f-40a4c364bd23" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_0346a688-cec7-4c39-a5ad-1c05c60a3303" xlink:to="loc_srt_MaximumMember_32cff8ea-5ef0-4ccb-a12f-40a4c364bd23" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_751dbdca-cc91-4e9e-8acf-fbc8da951239" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_ba21f421-e161-4b74-8cf2-bf51332169a1" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_751dbdca-cc91-4e9e-8acf-fbc8da951239" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_494062d9-ea6e-4e2f-b398-469742b1e92d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_751dbdca-cc91-4e9e-8acf-fbc8da951239" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_494062d9-ea6e-4e2f-b398-469742b1e92d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/SummaryofSignificantAccountingPoliciesCostofRevenueDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#SummaryofSignificantAccountingPoliciesCostofRevenueDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/SummaryofSignificantAccountingPoliciesCostofRevenueDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_511d9f38-ea22-4d1b-97dc-0b5f9dc3e910" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_7f0930f5-5a2f-4cbc-8871-29535299d641" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_511d9f38-ea22-4d1b-97dc-0b5f9dc3e910" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_7f0930f5-5a2f-4cbc-8871-29535299d641" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_867fdd93-681e-4322-bc4b-1549a2400d3e" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_7f0930f5-5a2f-4cbc-8871-29535299d641" xlink:to="loc_srt_ProductOrServiceAxis_867fdd93-681e-4322-bc4b-1549a2400d3e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_3fe5faf9-5577-4214-8969-b2bdc15059e8" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductOrServiceAxis_867fdd93-681e-4322-bc4b-1549a2400d3e" xlink:to="loc_srt_ProductsAndServicesDomain_3fe5faf9-5577-4214-8969-b2bdc15059e8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_BandwidthWithThirdPartyNetworkProvidersMember_b009a1ba-6d77-49a9-af55-527834f46b4b" xlink:href="fsly-20231231.xsd#fsly_BandwidthWithThirdPartyNetworkProvidersMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_3fe5faf9-5577-4214-8969-b2bdc15059e8" xlink:to="loc_fsly_BandwidthWithThirdPartyNetworkProvidersMember_b009a1ba-6d77-49a9-af55-527834f46b4b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ColocationServicesMember_2a120252-c680-4c1b-96ae-c3866c3e355c" xlink:href="fsly-20231231.xsd#fsly_ColocationServicesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_3fe5faf9-5577-4214-8969-b2bdc15059e8" xlink:to="loc_fsly_ColocationServicesMember_2a120252-c680-4c1b-96ae-c3866c3e355c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_37296765-fb09-4c72-a03d-2df9de2ea7b1" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_7f0930f5-5a2f-4cbc-8871-29535299d641" xlink:to="loc_srt_RangeAxis_37296765-fb09-4c72-a03d-2df9de2ea7b1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_4e337425-c7a0-4442-8ecc-923ba4c2b184" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_37296765-fb09-4c72-a03d-2df9de2ea7b1" xlink:to="loc_srt_RangeMember_4e337425-c7a0-4442-8ecc-923ba4c2b184" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_8acba598-3a95-4df8-b59a-710775d4b736" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_4e337425-c7a0-4442-8ecc-923ba4c2b184" xlink:to="loc_srt_MinimumMember_8acba598-3a95-4df8-b59a-710775d4b736" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_014fafe9-28db-4710-b41a-1ab9b85cd671" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_4e337425-c7a0-4442-8ecc-923ba4c2b184" xlink:to="loc_srt_MaximumMember_014fafe9-28db-4710-b41a-1ab9b85cd671" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_25856155-9e07-49dd-a7bd-df262ade3710" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_7f0930f5-5a2f-4cbc-8871-29535299d641" xlink:to="loc_us-gaap_DisaggregationOfRevenueLineItems_25856155-9e07-49dd-a7bd-df262ade3710" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_RevenueWithCustomerDurationOfContracts_0f795cc8-6e4d-465c-9c44-d31e88ea3ce6" xlink:href="fsly-20231231.xsd#fsly_RevenueWithCustomerDurationOfContracts"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_25856155-9e07-49dd-a7bd-df262ade3710" xlink:to="loc_fsly_RevenueWithCustomerDurationOfContracts_0f795cc8-6e4d-465c-9c44-d31e88ea3ce6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/SummaryofSignificantAccountingPoliciesAdvertisingExpenseDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#SummaryofSignificantAccountingPoliciesAdvertisingExpenseDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/SummaryofSignificantAccountingPoliciesAdvertisingExpenseDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_2bf23bbb-823b-4dc1-8435-42629bc4cd27" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdvertisingExpense_cfe4d206-7abb-4e7d-8513-a1b10902ae2a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingExpense"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_2bf23bbb-823b-4dc1-8435-42629bc4cd27" xlink:to="loc_us-gaap_AdvertisingExpense_cfe4d206-7abb-4e7d-8513-a1b10902ae2a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/SummaryofSignificantAccountingPoliciesAccountingforStockBasedCompensationDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#SummaryofSignificantAccountingPoliciesAccountingforStockBasedCompensationDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/SummaryofSignificantAccountingPoliciesAccountingforStockBasedCompensationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_0207be7b-58fb-4665-a342-0bcf822c1b86" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_a72321d8-eb4c-484d-9cf9-94de66808df2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_0207be7b-58fb-4665-a342-0bcf822c1b86" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_a72321d8-eb4c-484d-9cf9-94de66808df2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_1e7a8290-3c9a-4ddb-ba05-aed9cc025146" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_a72321d8-eb4c-484d-9cf9-94de66808df2" xlink:to="loc_srt_RangeAxis_1e7a8290-3c9a-4ddb-ba05-aed9cc025146" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_5337114d-1d21-448f-a020-a4d724b8796a" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_1e7a8290-3c9a-4ddb-ba05-aed9cc025146" xlink:to="loc_srt_RangeMember_5337114d-1d21-448f-a020-a4d724b8796a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_bb0b0d56-3b43-481f-9f6f-70f355c5572a" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_5337114d-1d21-448f-a020-a4d724b8796a" xlink:to="loc_srt_MinimumMember_bb0b0d56-3b43-481f-9f6f-70f355c5572a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_23db7a78-ab24-42f5-b215-b2d8bdab4cdb" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_5337114d-1d21-448f-a020-a4d724b8796a" xlink:to="loc_srt_MaximumMember_23db7a78-ab24-42f5-b215-b2d8bdab4cdb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_1197d3bd-3641-4b3f-9563-410bd0f61509" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_a72321d8-eb4c-484d-9cf9-94de66808df2" xlink:to="loc_us-gaap_DisaggregationOfRevenueLineItems_1197d3bd-3641-4b3f-9563-410bd0f61509" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1_825c824f-bf25-46ea-b339-106f00ee8a0d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_1197d3bd-3641-4b3f-9563-410bd0f61509" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1_825c824f-bf25-46ea-b339-106f00ee8a0d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/RevenueRevenuebyGeographicAreaDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#RevenueRevenuebyGeographicAreaDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/RevenueRevenuebyGeographicAreaDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_b0dc2c19-6eb8-4f69-b52c-fd9fa6b328f6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_a5449a2a-e4b1-456b-a467-0b6144a4e8b2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_b0dc2c19-6eb8-4f69-b52c-fd9fa6b328f6" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_a5449a2a-e4b1-456b-a467-0b6144a4e8b2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementGeographicalAxis_05359ff9-37da-4732-82a7-63dc0b22dcbb" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_a5449a2a-e4b1-456b-a467-0b6144a4e8b2" xlink:to="loc_srt_StatementGeographicalAxis_05359ff9-37da-4732-82a7-63dc0b22dcbb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_2b5399b4-f34e-4e9b-89ac-effb90dfabce" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_StatementGeographicalAxis_05359ff9-37da-4732-82a7-63dc0b22dcbb" xlink:to="loc_srt_SegmentGeographicalDomain_2b5399b4-f34e-4e9b-89ac-effb90dfabce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_US_c0fa6c82-6e85-4f4b-8739-6e605a8880ce" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_2b5399b4-f34e-4e9b-89ac-effb90dfabce" xlink:to="loc_country_US_c0fa6c82-6e85-4f4b-8739-6e605a8880ce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_AsiaPacificMember_252a078e-737d-4c1e-b166-b9e88f7a929a" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_AsiaPacificMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_2b5399b4-f34e-4e9b-89ac-effb90dfabce" xlink:to="loc_srt_AsiaPacificMember_252a078e-737d-4c1e-b166-b9e88f7a929a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_EuropeMember_e0e9b598-c2bd-41ae-a003-44667c3d1a17" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EuropeMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_2b5399b4-f34e-4e9b-89ac-effb90dfabce" xlink:to="loc_srt_EuropeMember_e0e9b598-c2bd-41ae-a003-44667c3d1a17" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_CountriesNotSeparatelyRecognizedMember_37af1c87-5f34-4194-997c-20f7690f4c90" xlink:href="fsly-20231231.xsd#fsly_CountriesNotSeparatelyRecognizedMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_2b5399b4-f34e-4e9b-89ac-effb90dfabce" xlink:to="loc_fsly_CountriesNotSeparatelyRecognizedMember_37af1c87-5f34-4194-997c-20f7690f4c90" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_e4718157-b739-4aac-8b7b-8437c4d51858" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_a5449a2a-e4b1-456b-a467-0b6144a4e8b2" xlink:to="loc_us-gaap_DisaggregationOfRevenueLineItems_e4718157-b739-4aac-8b7b-8437c4d51858" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_1b44a63a-fdb3-4521-9532-1ace7b30a869" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_e4718157-b739-4aac-8b7b-8437c4d51858" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_1b44a63a-fdb3-4521-9532-1ace7b30a869" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/RevenueNarrativeDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#RevenueNarrativeDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/RevenueNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_a8e3c31e-9dac-42aa-9bc2-377cf494f514" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_EnterpriseCustomerThreshold_bf85da08-2d6d-4da7-a832-3c77ca73f4f9" xlink:href="fsly-20231231.xsd#fsly_EnterpriseCustomerThreshold"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_a8e3c31e-9dac-42aa-9bc2-377cf494f514" xlink:to="loc_fsly_EnterpriseCustomerThreshold_bf85da08-2d6d-4da7-a832-3c77ca73f4f9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms_4b4c13cf-c460-4f25-87fb-ded3bc04d6d8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_a8e3c31e-9dac-42aa-9bc2-377cf494f514" xlink:to="loc_us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms_4b4c13cf-c460-4f25-87fb-ded3bc04d6d8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostAmortization_72dba0a4-cf1f-4d64-a6af-6c469c6489dd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostAmortization"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_a8e3c31e-9dac-42aa-9bc2-377cf494f514" xlink:to="loc_us-gaap_CapitalizedContractCostAmortization_72dba0a4-cf1f-4d64-a6af-6c469c6489dd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/RevenueRevenuebyCustomerTypeDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#RevenueRevenuebyCustomerTypeDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/RevenueRevenuebyCustomerTypeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_cbbb4060-37cd-4f76-a509-a9131ded7ba2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_8f9577e9-9730-4cbe-8289-423017dbf4c2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_cbbb4060-37cd-4f76-a509-a9131ded7ba2" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_8f9577e9-9730-4cbe-8289-423017dbf4c2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MajorCustomersAxis_defbde63-0abd-46be-8a68-4fb8e9b04bb6" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_8f9577e9-9730-4cbe-8289-423017dbf4c2" xlink:to="loc_srt_MajorCustomersAxis_defbde63-0abd-46be-8a68-4fb8e9b04bb6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain_068df419-68c2-49d8-8bd5-04dc3df5388f" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_MajorCustomersAxis_defbde63-0abd-46be-8a68-4fb8e9b04bb6" xlink:to="loc_srt_NameOfMajorCustomerDomain_068df419-68c2-49d8-8bd5-04dc3df5388f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_EnterpriseCustomersMember_6ce092e4-b9e4-4321-a407-f686ccdca69c" xlink:href="fsly-20231231.xsd#fsly_EnterpriseCustomersMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_NameOfMajorCustomerDomain_068df419-68c2-49d8-8bd5-04dc3df5388f" xlink:to="loc_fsly_EnterpriseCustomersMember_6ce092e4-b9e4-4321-a407-f686ccdca69c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_NonenterpriseCustomersMember_784e192b-ffd4-4f8d-a691-510c731d474e" xlink:href="fsly-20231231.xsd#fsly_NonenterpriseCustomersMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_NameOfMajorCustomerDomain_068df419-68c2-49d8-8bd5-04dc3df5388f" xlink:to="loc_fsly_NonenterpriseCustomersMember_784e192b-ffd4-4f8d-a691-510c731d474e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ChangeInAccountingEstimateByTypeAxis_3f3f91ac-c6c9-4cc5-b4d8-da7dfe5eca98" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ChangeInAccountingEstimateByTypeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_8f9577e9-9730-4cbe-8289-423017dbf4c2" xlink:to="loc_us-gaap_ChangeInAccountingEstimateByTypeAxis_3f3f91ac-c6c9-4cc5-b4d8-da7dfe5eca98" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ChangeInAccountingEstimateTypeDomain_c592c103-077e-49ce-b368-a20739cedd76" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ChangeInAccountingEstimateTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ChangeInAccountingEstimateByTypeAxis_3f3f91ac-c6c9-4cc5-b4d8-da7dfe5eca98" xlink:to="loc_us-gaap_ChangeInAccountingEstimateTypeDomain_c592c103-077e-49ce-b368-a20739cedd76" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_PriorRevenueMethodologyMember_365b0d62-e3b2-475e-97d7-bbddd2c4a70d" xlink:href="fsly-20231231.xsd#fsly_PriorRevenueMethodologyMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ChangeInAccountingEstimateTypeDomain_c592c103-077e-49ce-b368-a20739cedd76" xlink:to="loc_fsly_PriorRevenueMethodologyMember_365b0d62-e3b2-475e-97d7-bbddd2c4a70d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_NewRevenueMethodologyMember_c6525776-1810-4079-8726-96a26feda5de" xlink:href="fsly-20231231.xsd#fsly_NewRevenueMethodologyMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ChangeInAccountingEstimateTypeDomain_c592c103-077e-49ce-b368-a20739cedd76" xlink:to="loc_fsly_NewRevenueMethodologyMember_c6525776-1810-4079-8726-96a26feda5de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_a0c7e617-f805-4dab-b4c8-72920d9d005a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_8f9577e9-9730-4cbe-8289-423017dbf4c2" xlink:to="loc_us-gaap_DisaggregationOfRevenueLineItems_a0c7e617-f805-4dab-b4c8-72920d9d005a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_8170a082-62fa-472f-a7e0-bfdea0d1d8c4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_a0c7e617-f805-4dab-b4c8-72920d9d005a" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_8170a082-62fa-472f-a7e0-bfdea0d1d8c4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/RevenueContractAssetsandLiabilitiesDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#RevenueContractAssetsandLiabilitiesDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/RevenueContractAssetsandLiabilitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_e7cf427b-0101-454f-9df9-9800dd5f7b13" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetNet_eb586b4a-d456-4a31-9fb6-f15452248714" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNet"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_e7cf427b-0101-454f-9df9-9800dd5f7b13" xlink:to="loc_us-gaap_ContractWithCustomerAssetNet_eb586b4a-d456-4a31-9fb6-f15452248714" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability_109c5c18-63c5-4cc1-9df3-101b3863ab7d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiability"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_e7cf427b-0101-454f-9df9-9800dd5f7b13" xlink:to="loc_us-gaap_ContractWithCustomerLiability_109c5c18-63c5-4cc1-9df3-101b3863ab7d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityAbstract_31c9036d-0e3f-4b88-aea2-217c58d8e9e2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityAbstract"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_e7cf427b-0101-454f-9df9-9800dd5f7b13" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityAbstract_31c9036d-0e3f-4b88-aea2-217c58d8e9e2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_cf779432-9f0b-431c-9c3c-a9e24322405c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ContractWithCustomerLiabilityAbstract_31c9036d-0e3f-4b88-aea2-217c58d8e9e2" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_cf779432-9f0b-431c-9c3c-a9e24322405c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/RevenueRemainingPerformanceObligationDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#RevenueRemainingPerformanceObligationDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/RevenueRemainingPerformanceObligationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_a6a1bf99-9a7b-468e-8e0d-ff9075b313ad" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_91ee039d-6d24-45f7-9a13-31f42d4794e6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_a6a1bf99-9a7b-468e-8e0d-ff9075b313ad" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_91ee039d-6d24-45f7-9a13-31f42d4794e6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_45b571f7-b6c8-45e4-a2d6-4d5977d46649" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_91ee039d-6d24-45f7-9a13-31f42d4794e6" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_45b571f7-b6c8-45e4-a2d6-4d5977d46649" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeAxis_cbb13554-da63-4cde-a03c-47a62114f60c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_91ee039d-6d24-45f7-9a13-31f42d4794e6" xlink:to="loc_us-gaap_SubsequentEventTypeAxis_cbb13554-da63-4cde-a03c-47a62114f60c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_a2b54a82-3b60-41a7-9cc7-41dd1985dc2b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_cbb13554-da63-4cde-a03c-47a62114f60c" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_a2b54a82-3b60-41a7-9cc7-41dd1985dc2b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventMember_6ad6545f-10d3-4c6e-926f-9193cf75bc7b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTypeDomain_a2b54a82-3b60-41a7-9cc7-41dd1985dc2b" xlink:to="loc_us-gaap_SubsequentEventMember_6ad6545f-10d3-4c6e-926f-9193cf75bc7b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_80d13d1d-3a14-40aa-8a53-46eb4bc4da2a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_91ee039d-6d24-45f7-9a13-31f42d4794e6" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_80d13d1d-3a14-40aa-8a53-46eb4bc4da2a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligation_b5516e23-e5ad-4915-93e4-28fa263c005c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligation"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_80d13d1d-3a14-40aa-8a53-46eb4bc4da2a" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligation_b5516e23-e5ad-4915-93e4-28fa263c005c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_RevenueRemainingPerformanceObligationAmountAccrued_9b8e9a07-5be2-45d0-a64d-2aa3ae6f7a2c" xlink:href="fsly-20231231.xsd#fsly_RevenueRemainingPerformanceObligationAmountAccrued"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_80d13d1d-3a14-40aa-8a53-46eb4bc4da2a" xlink:to="loc_fsly_RevenueRemainingPerformanceObligationAmountAccrued_9b8e9a07-5be2-45d0-a64d-2aa3ae6f7a2c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_6b11f063-7952-44b0-898d-d94e6a26be35" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_80d13d1d-3a14-40aa-8a53-46eb4bc4da2a" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_6b11f063-7952-44b0-898d-d94e6a26be35" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_4e398a93-35d8-40b4-8202-a58946ae81cd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_80d13d1d-3a14-40aa-8a53-46eb4bc4da2a" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_4e398a93-35d8-40b4-8202-a58946ae81cd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/RevenueRemainingPerformanceObligationDetails_1" xlink:type="simple" xlink:href="fsly-20231231.xsd#RevenueRemainingPerformanceObligationDetails_1"/>
  <link:presentationLink xlink:role="http://fastly.com/role/RevenueRemainingPerformanceObligationDetails_1" xlink:type="extended"/>
  <link:roleRef roleURI="http://fastly.com/role/RevenueCoststoObtainContractsDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#RevenueCoststoObtainContractsDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/RevenueCoststoObtainContractsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_d7fff407-b962-4c82-879b-08cd77da5ff0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostNetNoncurrent_c65b463a-82c3-4a4e-b8dc-8dd5d46c82d9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostNetNoncurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_d7fff407-b962-4c82-879b-08cd77da5ff0" xlink:to="loc_us-gaap_CapitalizedContractCostNetNoncurrent_c65b463a-82c3-4a4e-b8dc-8dd5d46c82d9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_c06b9ff2-6efe-4ace-8240-4a49ea956a43" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleTable_2d3eb384-60f6-4867-b706-dbab46691a8c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_c06b9ff2-6efe-4ace-8240-4a49ea956a43" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleTable_2d3eb384-60f6-4867-b706-dbab46691a8c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAxis_0144dc7f-f29b-4d49-9c77-35842687251a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleTable_2d3eb384-60f6-4867-b706-dbab46691a8c" xlink:to="loc_us-gaap_CashAndCashEquivalentsAxis_0144dc7f-f29b-4d49-9c77-35842687251a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_96eba84e-1173-413f-b690-9436f94a4668" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAxis_0144dc7f-f29b-4d49-9c77-35842687251a" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_96eba84e-1173-413f-b690-9436f94a4668" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashMember_af63ed93-3437-4be7-b2c6-82c06e3e0686" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_96eba84e-1173-413f-b690-9436f94a4668" xlink:to="loc_us-gaap_CashMember_af63ed93-3437-4be7-b2c6-82c06e3e0686" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_679766e9-317c-4ac8-8cff-c2b63ea529d3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_96eba84e-1173-413f-b690-9436f94a4668" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_679766e9-317c-4ac8-8cff-c2b63ea529d3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MoneyMarketFundsMember_7eca8aad-d0a3-47f1-b4c7-5f2eeabfe361" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MoneyMarketFundsMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_96eba84e-1173-413f-b690-9436f94a4668" xlink:to="loc_us-gaap_MoneyMarketFundsMember_7eca8aad-d0a3-47f1-b4c7-5f2eeabfe361" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommercialPaperMember_6f4fb5a5-79e0-4b9c-acaa-0d5848e5d18b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommercialPaperMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_96eba84e-1173-413f-b690-9436f94a4668" xlink:to="loc_us-gaap_CommercialPaperMember_6f4fb5a5-79e0-4b9c-acaa-0d5848e5d18b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_f4cbbe44-6390-4bea-aa70-e0eca1e6cb98" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleTable_2d3eb384-60f6-4867-b706-dbab46691a8c" xlink:to="loc_us-gaap_FinancialInstrumentAxis_f4cbbe44-6390-4bea-aa70-e0eca1e6cb98" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_8661e0af-d378-43aa-9b5b-550084b59086" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancialInstrumentAxis_f4cbbe44-6390-4bea-aa70-e0eca1e6cb98" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_8661e0af-d378-43aa-9b5b-550084b59086" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_1ba669a0-06de-4d90-8793-f780984f4aaf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_8661e0af-d378-43aa-9b5b-550084b59086" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_1ba669a0-06de-4d90-8793-f780984f4aaf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateDebtSecuritiesMember_f82522b8-d979-4b59-a5d7-4b12d4945486" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CorporateDebtSecuritiesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_8661e0af-d378-43aa-9b5b-550084b59086" xlink:to="loc_us-gaap_CorporateDebtSecuritiesMember_f82522b8-d979-4b59-a5d7-4b12d4945486" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommercialPaperMember_5d3b7031-5154-4af4-b5c3-9ab75eabf01e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommercialPaperMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_8661e0af-d378-43aa-9b5b-550084b59086" xlink:to="loc_us-gaap_CommercialPaperMember_5d3b7031-5154-4af4-b5c3-9ab75eabf01e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_AgencyBondsMember_42da18cc-2332-437b-bec2-6ec61b90e2d9" xlink:href="fsly-20231231.xsd#fsly_AgencyBondsMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_8661e0af-d378-43aa-9b5b-550084b59086" xlink:to="loc_fsly_AgencyBondsMember_42da18cc-2332-437b-bec2-6ec61b90e2d9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_7ddcfa2f-d987-4ae4-a727-43232270b293" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetBackedSecuritiesMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_8661e0af-d378-43aa-9b5b-550084b59086" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_7ddcfa2f-d987-4ae4-a727-43232270b293" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MunicipalNotesMember_5de0bf9e-ab70-406e-83b2-9616e6a9117f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MunicipalNotesMember"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_8661e0af-d378-43aa-9b5b-550084b59086" xlink:to="loc_us-gaap_MunicipalNotesMember_5de0bf9e-ab70-406e-83b2-9616e6a9117f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ForeignGovernmentAndSupranationalSecuritiesMember_ac343d49-0e87-4bae-b600-3bcdfeb47d47" xlink:href="fsly-20231231.xsd#fsly_ForeignGovernmentAndSupranationalSecuritiesMember"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_8661e0af-d378-43aa-9b5b-550084b59086" xlink:to="loc_fsly_ForeignGovernmentAndSupranationalSecuritiesMember_ac343d49-0e87-4bae-b600-3bcdfeb47d47" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_7666bba1-beec-4152-b6f9-86d5eba083fb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleTable_2d3eb384-60f6-4867-b706-dbab46691a8c" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_7666bba1-beec-4152-b6f9-86d5eba083fb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_a7c7862f-dc50-47f9-8c83-b3f993e2fe2b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_7666bba1-beec-4152-b6f9-86d5eba083fb" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_a7c7862f-dc50-47f9-8c83-b3f993e2fe2b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/netLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MarketableSecuritiesCurrent_ef61c90f-af2a-4a21-9c3b-047d02578dac" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecuritiesCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_7666bba1-beec-4152-b6f9-86d5eba083fb" xlink:to="loc_us-gaap_MarketableSecuritiesCurrent_ef61c90f-af2a-4a21-9c3b-047d02578dac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MarketableSecuritiesNoncurrent_a13bbc95-d4d5-4a45-9999-3a534d4b66a0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecuritiesNoncurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_7666bba1-beec-4152-b6f9-86d5eba083fb" xlink:to="loc_us-gaap_MarketableSecuritiesNoncurrent_a13bbc95-d4d5-4a45-9999-3a534d4b66a0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MarketableSecurities_e664c75f-110c-4cee-a877-9f4c38bf722a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecurities"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_7666bba1-beec-4152-b6f9-86d5eba083fb" xlink:to="loc_us-gaap_MarketableSecurities_e664c75f-110c-4cee-a877-9f4c38bf722a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_CashCashEquivalentsAndMarketableSecurities_b513ec70-7476-45ae-b321-1340d900108b" xlink:href="fsly-20231231.xsd#fsly_CashCashEquivalentsAndMarketableSecurities"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_7666bba1-beec-4152-b6f9-86d5eba083fb" xlink:to="loc_fsly_CashCashEquivalentsAndMarketableSecurities_b513ec70-7476-45ae-b321-1340d900108b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/InvestmentsandFairValueMeasurementsAvailableForSaleInvestmentsDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#InvestmentsandFairValueMeasurementsAvailableForSaleInvestmentsDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/InvestmentsandFairValueMeasurementsAvailableForSaleInvestmentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_0d8c4962-91e8-4020-a5a6-522153dbe819" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleTable_2454ef60-f1d4-424b-a5fc-9843f0dc4325" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_0d8c4962-91e8-4020-a5a6-522153dbe819" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleTable_2454ef60-f1d4-424b-a5fc-9843f0dc4325" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAxis_1456e70c-9396-4a94-b84b-9138d9b2ee5b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleTable_2454ef60-f1d4-424b-a5fc-9843f0dc4325" xlink:to="loc_us-gaap_CashAndCashEquivalentsAxis_1456e70c-9396-4a94-b84b-9138d9b2ee5b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_07f0256e-1814-4163-b505-7b3389346f8d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAxis_1456e70c-9396-4a94-b84b-9138d9b2ee5b" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_07f0256e-1814-4163-b505-7b3389346f8d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_3155b06b-7295-4793-9b05-ceecd296ee8c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_07f0256e-1814-4163-b505-7b3389346f8d" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_3155b06b-7295-4793-9b05-ceecd296ee8c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommercialPaperMember_aac83c03-e0a6-460f-9c10-f41b2bd7ad00" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommercialPaperMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_07f0256e-1814-4163-b505-7b3389346f8d" xlink:to="loc_us-gaap_CommercialPaperMember_aac83c03-e0a6-460f-9c10-f41b2bd7ad00" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_3ccd583b-e0d8-46b9-9b60-227d976363b5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleTable_2454ef60-f1d4-424b-a5fc-9843f0dc4325" xlink:to="loc_us-gaap_FinancialInstrumentAxis_3ccd583b-e0d8-46b9-9b60-227d976363b5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_9455ec2b-f123-41d3-9b8c-44ffd395cf7f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancialInstrumentAxis_3ccd583b-e0d8-46b9-9b60-227d976363b5" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_9455ec2b-f123-41d3-9b8c-44ffd395cf7f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_0fe2a95b-7faa-4e5f-9df4-a1ba9e0faa56" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_9455ec2b-f123-41d3-9b8c-44ffd395cf7f" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_0fe2a95b-7faa-4e5f-9df4-a1ba9e0faa56" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateDebtSecuritiesMember_5b180a12-c4a0-47ca-8007-c3125e0c4bb1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CorporateDebtSecuritiesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_9455ec2b-f123-41d3-9b8c-44ffd395cf7f" xlink:to="loc_us-gaap_CorporateDebtSecuritiesMember_5b180a12-c4a0-47ca-8007-c3125e0c4bb1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommercialPaperMember_5daf00d5-6bb6-4ebe-9230-d69830906a7a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommercialPaperMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_9455ec2b-f123-41d3-9b8c-44ffd395cf7f" xlink:to="loc_us-gaap_CommercialPaperMember_5daf00d5-6bb6-4ebe-9230-d69830906a7a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_7409c6fc-b1cf-4bcf-a465-3d8621a78897" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetBackedSecuritiesMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_9455ec2b-f123-41d3-9b8c-44ffd395cf7f" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_7409c6fc-b1cf-4bcf-a465-3d8621a78897" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MunicipalNotesMember_ffd961b7-03dd-4730-9a7c-7879e51bb3ad" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MunicipalNotesMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_9455ec2b-f123-41d3-9b8c-44ffd395cf7f" xlink:to="loc_us-gaap_MunicipalNotesMember_ffd961b7-03dd-4730-9a7c-7879e51bb3ad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ForeignGovernmentAndSupranationalSecuritiesMember_e1faa5f3-039c-41ed-9293-27fe81bb5f85" xlink:href="fsly-20231231.xsd#fsly_ForeignGovernmentAndSupranationalSecuritiesMember"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_9455ec2b-f123-41d3-9b8c-44ffd395cf7f" xlink:to="loc_fsly_ForeignGovernmentAndSupranationalSecuritiesMember_e1faa5f3-039c-41ed-9293-27fe81bb5f85" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_AgencyBondsMember_6c92de3f-efcc-4e15-9763-7c4854103380" xlink:href="fsly-20231231.xsd#fsly_AgencyBondsMember"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_9455ec2b-f123-41d3-9b8c-44ffd395cf7f" xlink:to="loc_fsly_AgencyBondsMember_6c92de3f-efcc-4e15-9763-7c4854103380" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_58ab0a2f-8b55-4b7a-8edb-91cea9901348" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleTable_2454ef60-f1d4-424b-a5fc-9843f0dc4325" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_58ab0a2f-8b55-4b7a-8edb-91cea9901348" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_17dd197b-5fcb-4c99-aafe-144dbd4e783f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_58ab0a2f-8b55-4b7a-8edb-91cea9901348" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_17dd197b-5fcb-4c99-aafe-144dbd4e783f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_d6cf0a4e-5ca6-469e-9944-e8763ed97e84" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_58ab0a2f-8b55-4b7a-8edb-91cea9901348" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_d6cf0a4e-5ca6-469e-9944-e8763ed97e84" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_d6a83eba-af2c-4b1b-9733-5dbb29d0df2c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_58ab0a2f-8b55-4b7a-8edb-91cea9901348" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_d6a83eba-af2c-4b1b-9733-5dbb29d0df2c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_e8907357-e3f4-4643-afde-f9625fb4cf23" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_58ab0a2f-8b55-4b7a-8edb-91cea9901348" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_e8907357-e3f4-4643-afde-f9625fb4cf23" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/InvestmentsandFairValueMeasurementsNarrativeDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#InvestmentsandFairValueMeasurementsNarrativeDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/InvestmentsandFairValueMeasurementsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_0b62fe98-65ea-40ec-90e9-bdd012ec0b08" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerNumberOfPositions_c97b41f5-6ccd-4f61-9d74-57aac43f8a84" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerNumberOfPositions"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_0b62fe98-65ea-40ec-90e9-bdd012ec0b08" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerNumberOfPositions_c97b41f5-6ccd-4f61-9d74-57aac43f8a84" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCash_ffadab91-f436-4cda-a504-76db6d99c141" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCash"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_0b62fe98-65ea-40ec-90e9-bdd012ec0b08" xlink:to="loc_us-gaap_RestrictedCash_ffadab91-f436-4cda-a504-76db6d99c141" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_f830a75c-b5f3-4e4d-89fa-e472c052cfa0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_f8791f62-ae12-469b-8cf7-eccc225cd738" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_f830a75c-b5f3-4e4d-89fa-e472c052cfa0" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_f8791f62-ae12-469b-8cf7-eccc225cd738" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_343cb51c-304b-48b6-99b2-418f9258e5ae" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_f8791f62-ae12-469b-8cf7-eccc225cd738" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_343cb51c-304b-48b6-99b2-418f9258e5ae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_3112e149-d5cb-499b-b8b8-410bc5d6bb3e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_343cb51c-304b-48b6-99b2-418f9258e5ae" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_3112e149-d5cb-499b-b8b8-410bc5d6bb3e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel1Member_0486f0fa-c82d-4075-8cce-3f019e1d5493" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel1Member"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_3112e149-d5cb-499b-b8b8-410bc5d6bb3e" xlink:to="loc_us-gaap_FairValueInputsLevel1Member_0486f0fa-c82d-4075-8cce-3f019e1d5493" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel2Member_35774b28-7401-4ed3-9948-393e836848e1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel2Member"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_3112e149-d5cb-499b-b8b8-410bc5d6bb3e" xlink:to="loc_us-gaap_FairValueInputsLevel2Member_35774b28-7401-4ed3-9948-393e836848e1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_f79b9410-e2af-4fd9-b772-c7d5c9320952" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel3Member"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_3112e149-d5cb-499b-b8b8-410bc5d6bb3e" xlink:to="loc_us-gaap_FairValueInputsLevel3Member_f79b9410-e2af-4fd9-b772-c7d5c9320952" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAxis_13e7089c-1819-4c8f-a366-d8e070aa5aec" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_f8791f62-ae12-469b-8cf7-eccc225cd738" xlink:to="loc_us-gaap_CashAndCashEquivalentsAxis_13e7089c-1819-4c8f-a366-d8e070aa5aec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_53c17021-a6d1-449a-8daf-f9dd8b0095ad" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAxis_13e7089c-1819-4c8f-a366-d8e070aa5aec" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_53c17021-a6d1-449a-8daf-f9dd8b0095ad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MoneyMarketFundsMember_e80e7c9a-a657-4b42-87fc-417914cfcd65" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MoneyMarketFundsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_53c17021-a6d1-449a-8daf-f9dd8b0095ad" xlink:to="loc_us-gaap_MoneyMarketFundsMember_e80e7c9a-a657-4b42-87fc-417914cfcd65" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_e722444c-4ed9-41db-81fc-9826081b38df" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_53c17021-a6d1-449a-8daf-f9dd8b0095ad" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_e722444c-4ed9-41db-81fc-9826081b38df" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommercialPaperMember_19d09b18-97e4-460b-894e-6b4aebff45ec" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommercialPaperMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember_53c17021-a6d1-449a-8daf-f9dd8b0095ad" xlink:to="loc_us-gaap_CommercialPaperMember_19d09b18-97e4-460b-894e-6b4aebff45ec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_69de9b1e-13be-4aa4-a08d-0959dcf3168b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_f8791f62-ae12-469b-8cf7-eccc225cd738" xlink:to="loc_us-gaap_FinancialInstrumentAxis_69de9b1e-13be-4aa4-a08d-0959dcf3168b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b3a0a739-bf28-45ed-bdd7-683c5dfbbe59" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancialInstrumentAxis_69de9b1e-13be-4aa4-a08d-0959dcf3168b" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b3a0a739-bf28-45ed-bdd7-683c5dfbbe59" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_72a854c7-e1cb-4241-a88d-7266b2fd6d63" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b3a0a739-bf28-45ed-bdd7-683c5dfbbe59" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_72a854c7-e1cb-4241-a88d-7266b2fd6d63" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateDebtSecuritiesMember_9199e03d-6f5c-4738-a3a3-a3cdca0e254e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CorporateDebtSecuritiesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b3a0a739-bf28-45ed-bdd7-683c5dfbbe59" xlink:to="loc_us-gaap_CorporateDebtSecuritiesMember_9199e03d-6f5c-4738-a3a3-a3cdca0e254e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommercialPaperMember_b11d2865-ab16-4fab-bac5-c86641e5676a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommercialPaperMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b3a0a739-bf28-45ed-bdd7-683c5dfbbe59" xlink:to="loc_us-gaap_CommercialPaperMember_b11d2865-ab16-4fab-bac5-c86641e5676a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_b3ce61ac-bf75-49cb-907a-bdd879acb4dc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetBackedSecuritiesMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b3a0a739-bf28-45ed-bdd7-683c5dfbbe59" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_b3ce61ac-bf75-49cb-907a-bdd879acb4dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_AgencyBondsMember_8a875c86-c6c9-487f-a032-d356ec331ec1" xlink:href="fsly-20231231.xsd#fsly_AgencyBondsMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b3a0a739-bf28-45ed-bdd7-683c5dfbbe59" xlink:to="loc_fsly_AgencyBondsMember_8a875c86-c6c9-487f-a032-d356ec331ec1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MunicipalNotesMember_81f2d028-2d82-48ed-82ab-972ff01d4777" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MunicipalNotesMember"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b3a0a739-bf28-45ed-bdd7-683c5dfbbe59" xlink:to="loc_us-gaap_MunicipalNotesMember_81f2d028-2d82-48ed-82ab-972ff01d4777" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ForeignGovernmentAndSupranationalSecuritiesMember_4acbc515-d716-4a0a-87af-3474b4a257aa" xlink:href="fsly-20231231.xsd#fsly_ForeignGovernmentAndSupranationalSecuritiesMember"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b3a0a739-bf28-45ed-bdd7-683c5dfbbe59" xlink:to="loc_fsly_ForeignGovernmentAndSupranationalSecuritiesMember_4acbc515-d716-4a0a-87af-3474b4a257aa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_810316b1-bf69-4177-9cc3-a71ca4f2e205" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_f8791f62-ae12-469b-8cf7-eccc225cd738" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_810316b1-bf69-4177-9cc3-a71ca4f2e205" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashEquivalentsAtCarryingValue_9e84861f-866c-4537-8de2-b04836976d80" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashEquivalentsAtCarryingValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_810316b1-bf69-4177-9cc3-a71ca4f2e205" xlink:to="loc_us-gaap_CashEquivalentsAtCarryingValue_9e84861f-866c-4537-8de2-b04836976d80" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MarketableSecurities_2b4fdd88-08b4-406a-ae2b-575396b66f34" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecurities"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_810316b1-bf69-4177-9cc3-a71ca4f2e205" xlink:to="loc_us-gaap_MarketableSecurities_2b4fdd88-08b4-406a-ae2b-575396b66f34" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_837b1e2e-0053-4861-af88-b5030ca87070" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_810316b1-bf69-4177-9cc3-a71ca4f2e205" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_837b1e2e-0053-4861-af88-b5030ca87070" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsFairValueDisclosure_e9cf8254-af8a-40dc-a802-80d9b2282378" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsFairValueDisclosure"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_810316b1-bf69-4177-9cc3-a71ca4f2e205" xlink:to="loc_us-gaap_AssetsFairValueDisclosure_e9cf8254-af8a-40dc-a802-80d9b2282378" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/BusinessCombinationsNarrativeDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#BusinessCombinationsNarrativeDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/BusinessCombinationsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_bb11d1a8-06fa-4ceb-88d8-b739d6bc07a1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_80b16902-30ba-4b5b-b867-679a8a131110" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_bb11d1a8-06fa-4ceb-88d8-b739d6bc07a1" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_80b16902-30ba-4b5b-b867-679a8a131110" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_912a6893-3ec5-4c70-8ffa-4bfd086ee003" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_80b16902-30ba-4b5b-b867-679a8a131110" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_912a6893-3ec5-4c70-8ffa-4bfd086ee003" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_105f8866-61ea-4afe-9bb8-e9546a7eb63c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_912a6893-3ec5-4c70-8ffa-4bfd086ee003" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_105f8866-61ea-4afe-9bb8-e9546a7eb63c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_GlitchIncMember_4b2dc192-5c0b-46c4-9880-c6ba269b44b4" xlink:href="fsly-20231231.xsd#fsly_GlitchIncMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_105f8866-61ea-4afe-9bb8-e9546a7eb63c" xlink:to="loc_fsly_GlitchIncMember_4b2dc192-5c0b-46c4-9880-c6ba269b44b4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_8bf49a14-8c77-439c-a9ac-0fb22f5d20db" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_80b16902-30ba-4b5b-b867-679a8a131110" xlink:to="loc_us-gaap_BusinessAcquisitionLineItems_8bf49a14-8c77-439c-a9ac-0fb22f5d20db" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired_5d7bd922-88ee-42d5-9d39-3091d51b2875" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_8bf49a14-8c77-439c-a9ac-0fb22f5d20db" xlink:to="loc_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired_5d7bd922-88ee-42d5-9d39-3091d51b2875" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferred1_e6558db3-028c-45e3-9241-8cf512d2da9b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationConsiderationTransferred1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_8bf49a14-8c77-439c-a9ac-0fb22f5d20db" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferred1_e6558db3-028c-45e3-9241-8cf512d2da9b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_BusinessCombinationConsiderationTransferredHoldback_ed03824a-50fd-4fba-b71b-c8ad87f0e9e9" xlink:href="fsly-20231231.xsd#fsly_BusinessCombinationConsiderationTransferredHoldback"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_8bf49a14-8c77-439c-a9ac-0fb22f5d20db" xlink:to="loc_fsly_BusinessCombinationConsiderationTransferredHoldback_ed03824a-50fd-4fba-b71b-c8ad87f0e9e9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_BusinessCombinationConsiderationTransferredHoldbackDistributions_39ac6da6-133c-4d8c-873b-cf4cf3d505b7" xlink:href="fsly-20231231.xsd#fsly_BusinessCombinationConsiderationTransferredHoldbackDistributions"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_8bf49a14-8c77-439c-a9ac-0fb22f5d20db" xlink:to="loc_fsly_BusinessCombinationConsiderationTransferredHoldbackDistributions_39ac6da6-133c-4d8c-873b-cf4cf3d505b7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_BusinessCombinationConsiderationTransferredHoldbackPeriodForDistribution_939c31bf-db26-4515-a486-5cccafdb6ec3" xlink:href="fsly-20231231.xsd#fsly_BusinessCombinationConsiderationTransferredHoldbackPeriodForDistribution"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_8bf49a14-8c77-439c-a9ac-0fb22f5d20db" xlink:to="loc_fsly_BusinessCombinationConsiderationTransferredHoldbackPeriodForDistribution_939c31bf-db26-4515-a486-5cccafdb6ec3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_c865b72c-701d-4eed-8cbd-c3a9fe10082b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_8bf49a14-8c77-439c-a9ac-0fb22f5d20db" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_c865b72c-701d-4eed-8cbd-c3a9fe10082b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/netLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_9351ae23-b648-4aca-8f79-be23660c077f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_8bf49a14-8c77-439c-a9ac-0fb22f5d20db" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_9351ae23-b648-4aca-8f79-be23660c077f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherAssetsNet_560eece5-ce23-4055-a339-202a6d47cbe0" xlink:href="fsly-20231231.xsd#fsly_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherAssetsNet"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_8bf49a14-8c77-439c-a9ac-0fb22f5d20db" xlink:to="loc_fsly_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherAssetsNet_560eece5-ce23-4055-a339-202a6d47cbe0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_92f732a7-4d0f-4026-8413-729cbe166cd0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_8bf49a14-8c77-439c-a9ac-0fb22f5d20db" xlink:to="loc_us-gaap_Goodwill_92f732a7-4d0f-4026-8413-729cbe166cd0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationAcquisitionRelatedCosts_85abe832-2487-48d8-b2d9-e295e6692b4f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_8bf49a14-8c77-439c-a9ac-0fb22f5d20db" xlink:to="loc_us-gaap_BusinessCombinationAcquisitionRelatedCosts_85abe832-2487-48d8-b2d9-e295e6692b4f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_d08becd2-b434-43c7-abde-e8ee3f95158b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_8bf49a14-8c77-439c-a9ac-0fb22f5d20db" xlink:to="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_d08becd2-b434-43c7-abde-e8ee3f95158b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/BusinessCombinationsScheduleofIdentifiableFiniteLivedIntangibleAssetsDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#BusinessCombinationsScheduleofIdentifiableFiniteLivedIntangibleAssetsDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/BusinessCombinationsScheduleofIdentifiableFiniteLivedIntangibleAssetsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_0f3fb05c-f79a-4fe6-a147-37dda209e180" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_e585b76f-9186-43db-ac9b-2ac6ff41d048" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_0f3fb05c-f79a-4fe6-a147-37dda209e180" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_e585b76f-9186-43db-ac9b-2ac6ff41d048" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_09175924-c817-4565-8779-cec2b0534f6e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_e585b76f-9186-43db-ac9b-2ac6ff41d048" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_09175924-c817-4565-8779-cec2b0534f6e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_6a49a5fd-a486-43b5-a3d5-059537db7e12" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_09175924-c817-4565-8779-cec2b0534f6e" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_6a49a5fd-a486-43b5-a3d5-059537db7e12" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_GlitchIncMember_3e780974-9ad1-459d-816e-bb4ef9494f57" xlink:href="fsly-20231231.xsd#fsly_GlitchIncMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_6a49a5fd-a486-43b5-a3d5-059537db7e12" xlink:to="loc_fsly_GlitchIncMember_3e780974-9ad1-459d-816e-bb4ef9494f57" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_92a108ea-41ef-4fb4-8cc6-5bacad205fa1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_e585b76f-9186-43db-ac9b-2ac6ff41d048" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_92a108ea-41ef-4fb4-8cc6-5bacad205fa1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_781f1585-5a28-432e-9d49-ddb7d8d303de" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_92a108ea-41ef-4fb4-8cc6-5bacad205fa1" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_781f1585-5a28-432e-9d49-ddb7d8d303de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember_1b3256ac-ed63-4b51-83b3-927d7497924c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DevelopedTechnologyRightsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_781f1585-5a28-432e-9d49-ddb7d8d303de" xlink:to="loc_us-gaap_DevelopedTechnologyRightsMember_1b3256ac-ed63-4b51-83b3-927d7497924c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember_dbb12d46-65f9-4b46-90cf-8469912bb312" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelationshipsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_781f1585-5a28-432e-9d49-ddb7d8d303de" xlink:to="loc_us-gaap_CustomerRelationshipsMember_dbb12d46-65f9-4b46-90cf-8469912bb312" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TradeNamesMember_bc188c51-85d4-4e06-9487-40d356175116" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradeNamesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_781f1585-5a28-432e-9d49-ddb7d8d303de" xlink:to="loc_us-gaap_TradeNamesMember_bc188c51-85d4-4e06-9487-40d356175116" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_8b5459cf-10e0-4672-bd61-7ce5ed5091b8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_e585b76f-9186-43db-ac9b-2ac6ff41d048" xlink:to="loc_us-gaap_BusinessAcquisitionLineItems_8b5459cf-10e0-4672-bd61-7ce5ed5091b8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_94bd22fe-5f00-4d84-beb4-ae9f2d30ac19" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_8b5459cf-10e0-4672-bd61-7ce5ed5091b8" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_94bd22fe-5f00-4d84-beb4-ae9f2d30ac19" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_a67ebe89-e2ff-43ab-86b9-576f233c2f2d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_8b5459cf-10e0-4672-bd61-7ce5ed5091b8" xlink:to="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_a67ebe89-e2ff-43ab-86b9-576f233c2f2d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/BalanceSheetInformationAllowanceforCreditLossesDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#BalanceSheetInformationAllowanceforCreditLossesDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/BalanceSheetInformationAllowanceforCreditLossesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_13e16082-6d5f-4fe6-a35a-22dacef2761b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetRelatedDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_5b737995-9aa4-4203-a124-0c9fee522d32" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_13e16082-6d5f-4fe6-a35a-22dacef2761b" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_5b737995-9aa4-4203-a124-0c9fee522d32" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_9af3595e-a1ae-48ca-adf3-8876f5c9a89d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_5b737995-9aa4-4203-a124-0c9fee522d32" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_9af3595e-a1ae-48ca-adf3-8876f5c9a89d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts_35711bab-eee5-43d0-8b0e-c9893b41bacc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_5b737995-9aa4-4203-a124-0c9fee522d32" xlink:to="loc_us-gaap_ProvisionForDoubtfulAccounts_35711bab-eee5-43d0-8b0e-c9893b41bacc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_b1443404-d2ed-45d7-8841-0eec8a9137bb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_5b737995-9aa4-4203-a124-0c9fee522d32" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_b1443404-d2ed-45d7-8841-0eec8a9137bb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_9970c08f-6c4d-4095-8eb8-ff852fbc55ac" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_5b737995-9aa4-4203-a124-0c9fee522d32" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_9970c08f-6c4d-4095-8eb8-ff852fbc55ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/BalanceSheetInformationPropertyandequipmentDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#BalanceSheetInformationPropertyandequipmentDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/BalanceSheetInformationPropertyandequipmentDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_14d166a3-fec1-4b43-abc6-b5a6d4efe136" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetRelatedDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_8c5b1a58-a8b5-4ae3-b30b-93bfe89637f2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_14d166a3-fec1-4b43-abc6-b5a6d4efe136" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_8c5b1a58-a8b5-4ae3-b30b-93bfe89637f2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_d9b6a0e4-ea9f-4b42-b138-a03a7ed21501" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_8c5b1a58-a8b5-4ae3-b30b-93bfe89637f2" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_d9b6a0e4-ea9f-4b42-b138-a03a7ed21501" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_acda92e7-1ac0-4353-a999-76356a965f28" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_d9b6a0e4-ea9f-4b42-b138-a03a7ed21501" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_acda92e7-1ac0-4353-a999-76356a965f28" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComputerEquipmentMember_beac4e92-6b23-4560-9472-e96c2358db7e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerEquipmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_acda92e7-1ac0-4353-a999-76356a965f28" xlink:to="loc_us-gaap_ComputerEquipmentMember_beac4e92-6b23-4560-9472-e96c2358db7e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseholdImprovementsMember_9be54131-2e61-4331-9d6c-bddbab702637" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_acda92e7-1ac0-4353-a999-76356a965f28" xlink:to="loc_us-gaap_LeaseholdImprovementsMember_9be54131-2e61-4331-9d6c-bddbab702637" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FurnitureAndFixturesMember_8586447a-e5fd-42fa-b5cf-726b84b14af9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FurnitureAndFixturesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_acda92e7-1ac0-4353-a999-76356a965f28" xlink:to="loc_us-gaap_FurnitureAndFixturesMember_8586447a-e5fd-42fa-b5cf-726b84b14af9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OfficeEquipmentMember_9e69cf88-8c35-46ba-bf40-efa72f7b98cd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OfficeEquipmentMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_acda92e7-1ac0-4353-a999-76356a965f28" xlink:to="loc_us-gaap_OfficeEquipmentMember_9e69cf88-8c35-46ba-bf40-efa72f7b98cd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SoftwareDevelopmentMember_e0fe9da3-f078-417b-826d-f114f445a81a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SoftwareDevelopmentMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_acda92e7-1ac0-4353-a999-76356a965f28" xlink:to="loc_us-gaap_SoftwareDevelopmentMember_e0fe9da3-f078-417b-826d-f114f445a81a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_46971db0-2742-4c81-ac14-c25cef227ea0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_8c5b1a58-a8b5-4ae3-b30b-93bfe89637f2" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentLineItems_46971db0-2742-4c81-ac14-c25cef227ea0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_fa342d73-b746-4e7c-9a9a-dd896defb747" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_46971db0-2742-4c81-ac14-c25cef227ea0" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_fa342d73-b746-4e7c-9a9a-dd896defb747" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_073a03a2-d230-4e9c-aafd-f608bc4fae86" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_46971db0-2742-4c81-ac14-c25cef227ea0" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_073a03a2-d230-4e9c-aafd-f608bc4fae86" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_6a0b5dc0-7330-4c12-a1c4-9f83f4517af0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_46971db0-2742-4c81-ac14-c25cef227ea0" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_6a0b5dc0-7330-4c12-a1c4-9f83f4517af0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/BalanceSheetInformationNarrativeDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#BalanceSheetInformationNarrativeDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/BalanceSheetInformationNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_519459a5-9bdc-4475-a077-b6db85a644ee" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetRelatedDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_47dbaff3-4a05-4557-8e8f-6302a6be0084" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_519459a5-9bdc-4475-a077-b6db85a644ee" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_47dbaff3-4a05-4557-8e8f-6302a6be0084" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_6efeef09-8770-4edc-a7fd-a70fa5b21ad8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_47dbaff3-4a05-4557-8e8f-6302a6be0084" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_6efeef09-8770-4edc-a7fd-a70fa5b21ad8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_a619d7ee-0e66-49d2-87d1-41a09a76e2b8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_6efeef09-8770-4edc-a7fd-a70fa5b21ad8" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_a619d7ee-0e66-49d2-87d1-41a09a76e2b8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentMember_3af4c6a3-b8a0-45fe-959f-37b2f448ba5d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_a619d7ee-0e66-49d2-87d1-41a09a76e2b8" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentMember_3af4c6a3-b8a0-45fe-959f-37b2f448ba5d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_PropertyPlantAndEquipmentAdvancePaymentsMember_0685dcb8-2fa8-4c8e-b03a-44f32c3a9db2" xlink:href="fsly-20231231.xsd#fsly_PropertyPlantAndEquipmentAdvancePaymentsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_a619d7ee-0e66-49d2-87d1-41a09a76e2b8" xlink:to="loc_fsly_PropertyPlantAndEquipmentAdvancePaymentsMember_0685dcb8-2fa8-4c8e-b03a-44f32c3a9db2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SoftwareDevelopmentMember_8fc8d7a2-b2df-45ec-ae6f-f896ee19e458" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SoftwareDevelopmentMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_a619d7ee-0e66-49d2-87d1-41a09a76e2b8" xlink:to="loc_us-gaap_SoftwareDevelopmentMember_8fc8d7a2-b2df-45ec-ae6f-f896ee19e458" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComputerEquipmentMember_82360be5-8452-40eb-a63b-e2b99788a49c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerEquipmentMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_a619d7ee-0e66-49d2-87d1-41a09a76e2b8" xlink:to="loc_us-gaap_ComputerEquipmentMember_82360be5-8452-40eb-a63b-e2b99788a49c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_7c79c9e2-9b70-4719-aba3-608cebd80786" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_47dbaff3-4a05-4557-8e8f-6302a6be0084" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentLineItems_7c79c9e2-9b70-4719-aba3-608cebd80786" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment_d949ab57-6149-4360-ab45-49db51cda5e2" xlink:href="fsly-20231231.xsd#fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_7c79c9e2-9b70-4719-aba3-608cebd80786" xlink:to="loc_fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment_d949ab57-6149-4360-ab45-49db51cda5e2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation_22fa8afe-6c87-4ac9-ae6a-09fd308e384a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_7c79c9e2-9b70-4719-aba3-608cebd80786" xlink:to="loc_us-gaap_Depreciation_22fa8afe-6c87-4ac9-ae6a-09fd308e384a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_74ff24bf-5c11-42ee-a89d-6aa9e1b077e8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_7c79c9e2-9b70-4719-aba3-608cebd80786" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_74ff24bf-5c11-42ee-a89d-6aa9e1b077e8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization_e3318eec-a065-40a0-b230-aeeb7e36c51a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_7c79c9e2-9b70-4719-aba3-608cebd80786" xlink:to="loc_us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization_e3318eec-a065-40a0-b230-aeeb7e36c51a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization_b9c25750-45ce-44be-a4f1-40cc0d3e4d57" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_7c79c9e2-9b70-4719-aba3-608cebd80786" xlink:to="loc_us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization_b9c25750-45ce-44be-a4f1-40cc0d3e4d57" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/BalanceSheetInformationOtherAssetsDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#BalanceSheetInformationOtherAssetsDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/BalanceSheetInformationOtherAssetsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_046b2a37-39a4-4677-a6c2-e88eb34363f5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetRelatedDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostNetNoncurrent_682f3bf8-7de6-4db5-ba9a-4c2965828eb4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostNetNoncurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_046b2a37-39a4-4677-a6c2-e88eb34363f5" xlink:to="loc_us-gaap_CapitalizedContractCostNetNoncurrent_682f3bf8-7de6-4db5-ba9a-4c2965828eb4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_AdvancesOnPropertyAndEquipment_ce0c3fb9-9a2b-4a6e-a3a7-6eeac19b3c4c" xlink:href="fsly-20231231.xsd#fsly_AdvancesOnPropertyAndEquipment"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_046b2a37-39a4-4677-a6c2-e88eb34363f5" xlink:to="loc_fsly_AdvancesOnPropertyAndEquipment_ce0c3fb9-9a2b-4a6e-a3a7-6eeac19b3c4c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsMiscellaneousNoncurrent_36dde697-9565-4d59-8e1f-e4762b54ec84" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsMiscellaneousNoncurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_046b2a37-39a4-4677-a6c2-e88eb34363f5" xlink:to="loc_us-gaap_OtherAssetsMiscellaneousNoncurrent_36dde697-9565-4d59-8e1f-e4762b54ec84" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_6728cda8-c9ec-45bf-914c-3bd732d52c11" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_046b2a37-39a4-4677-a6c2-e88eb34363f5" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_6728cda8-c9ec-45bf-914c-3bd732d52c11" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/BalanceSheetInformationAccruedExpensesDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#BalanceSheetInformationAccruedExpensesDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/BalanceSheetInformationAccruedExpensesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_c3ed70e7-daa3-46d7-8679-a582474cd369" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetRelatedDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_1fcef4d2-851a-4363-b5cf-fbacd10e9940" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_c3ed70e7-daa3-46d7-8679-a582474cd369" xlink:to="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_1fcef4d2-851a-4363-b5cf-fbacd10e9940" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedBonusesCurrent_d7acc322-ce53-454e-9442-ed3724182bd5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedBonusesCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_c3ed70e7-daa3-46d7-8679-a582474cd369" xlink:to="loc_us-gaap_AccruedBonusesCurrent_d7acc322-ce53-454e-9442-ed3724182bd5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_AccruedColocationAndBandwidthCosts_02df9592-8a0b-4dc5-af90-407e21b71701" xlink:href="fsly-20231231.xsd#fsly_AccruedColocationAndBandwidthCosts"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_c3ed70e7-daa3-46d7-8679-a582474cd369" xlink:to="loc_fsly_AccruedColocationAndBandwidthCosts_02df9592-8a0b-4dc5-af90-407e21b71701" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxesPayableCurrent_c756c0a6-dfb2-4f34-96da-6ba81ee6aaa2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxesPayableCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_c3ed70e7-daa3-46d7-8679-a582474cd369" xlink:to="loc_us-gaap_TaxesPayableCurrent_c756c0a6-dfb2-4f34-96da-6ba81ee6aaa2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent_9eec62a8-4ac0-4686-9dde-16db6e95bedd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAccruedLiabilitiesCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_c3ed70e7-daa3-46d7-8679-a582474cd369" xlink:to="loc_us-gaap_OtherAccruedLiabilitiesCurrent_9eec62a8-4ac0-4686-9dde-16db6e95bedd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_364b9f39-3699-431b-a511-25de34fe6179" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_c3ed70e7-daa3-46d7-8679-a582474cd369" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_364b9f39-3699-431b-a511-25de34fe6179" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/BalanceSheetInformationOtherCurrentLiabilitiesDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#BalanceSheetInformationOtherCurrentLiabilitiesDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/BalanceSheetInformationOtherCurrentLiabilitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_c805e5cc-06a3-4f28-aa3b-0c60effa84df" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetRelatedDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent_be08bdd1-3b22-4b9d-b33f-43819dc3fb54" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_c805e5cc-06a3-4f28-aa3b-0c60effa84df" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityCurrent_be08bdd1-3b22-4b9d-b33f-43819dc3fb54" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_AccruedComputerAndNetworkingEquipment_4e8c1d6b-59d2-482d-a1b7-f8ef3bb9c59b" xlink:href="fsly-20231231.xsd#fsly_AccruedComputerAndNetworkingEquipment"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_c805e5cc-06a3-4f28-aa3b-0c60effa84df" xlink:to="loc_fsly_AccruedComputerAndNetworkingEquipment_4e8c1d6b-59d2-482d-a1b7-f8ef3bb9c59b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_BusinessCombinationConsiderationTransferredHoldbackCurrent_a00fb29b-c15b-491e-ad73-fad54de3dfe3" xlink:href="fsly-20231231.xsd#fsly_BusinessCombinationConsiderationTransferredHoldbackCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_c805e5cc-06a3-4f28-aa3b-0c60effa84df" xlink:to="loc_fsly_BusinessCombinationConsiderationTransferredHoldbackCurrent_a00fb29b-c15b-491e-ad73-fad54de3dfe3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherSundryLiabilitiesCurrent_65384b28-d2ea-40ec-9091-988aeb880d1b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherSundryLiabilitiesCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_c805e5cc-06a3-4f28-aa3b-0c60effa84df" xlink:to="loc_us-gaap_OtherSundryLiabilitiesCurrent_65384b28-d2ea-40ec-9091-988aeb880d1b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesCurrent_d4c11648-7ec8-4c03-8a65-06506b8cce71" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_c805e5cc-06a3-4f28-aa3b-0c60effa84df" xlink:to="loc_us-gaap_OtherLiabilitiesCurrent_d4c11648-7ec8-4c03-8a65-06506b8cce71" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/BalanceSheetInformationAccumulatedOtherComprehensiveIncomeLossDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#BalanceSheetInformationAccumulatedOtherComprehensiveIncomeLossDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/BalanceSheetInformationAccumulatedOtherComprehensiveIncomeLossDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_d0ed61ee-4775-47d7-a18b-e35a8aabe25c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetRelatedDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_31de3889-289d-475f-89ff-afc46498bdda" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetRelatedDisclosuresAbstract_d0ed61ee-4775-47d7-a18b-e35a8aabe25c" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_31de3889-289d-475f-89ff-afc46498bdda" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_93f5d069-b9be-4be2-9f65-3e53d178006b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_31de3889-289d-475f-89ff-afc46498bdda" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_93f5d069-b9be-4be2-9f65-3e53d178006b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_4dcdb0f3-b6b6-4f4d-8877-78a29ff30ab0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_93f5d069-b9be-4be2-9f65-3e53d178006b" xlink:to="loc_us-gaap_EquityComponentDomain_4dcdb0f3-b6b6-4f4d-8877-78a29ff30ab0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedTranslationAdjustmentMember_c5205c85-6fa4-464a-8262-a0dbd5ee7f7a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedTranslationAdjustmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_4dcdb0f3-b6b6-4f4d-8877-78a29ff30ab0" xlink:to="loc_us-gaap_AccumulatedTranslationAdjustmentMember_c5205c85-6fa4-464a-8262-a0dbd5ee7f7a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember_b6dfa44f-a002-4419-b8ef-ff68ba5d5050" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_4dcdb0f3-b6b6-4f4d-8877-78a29ff30ab0" xlink:to="loc_us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember_b6dfa44f-a002-4419-b8ef-ff68ba5d5050" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_be70559f-67c5-4f9e-a2fe-9a2932049176" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_4dcdb0f3-b6b6-4f4d-8877-78a29ff30ab0" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_be70559f-67c5-4f9e-a2fe-9a2932049176" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_aa650b18-0363-4d9a-9efc-b3bca1580b5d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_31de3889-289d-475f-89ff-afc46498bdda" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_aa650b18-0363-4d9a-9efc-b3bca1580b5d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_3df1737e-4c61-46b8-bc6b-063a497c9385" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AOCIAttributableToParentNetOfTaxRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_aa650b18-0363-4d9a-9efc-b3bca1580b5d" xlink:to="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_3df1737e-4c61-46b8-bc6b-063a497c9385" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_cd207ee0-fa22-4e2f-9186-617c79e96c29" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_3df1737e-4c61-46b8-bc6b-063a497c9385" xlink:to="loc_us-gaap_StockholdersEquity_cd207ee0-fa22-4e2f-9186-617c79e96c29" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_4d177e8b-ce6e-4d81-a99d-d0318c2a9c3a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_3df1737e-4c61-46b8-bc6b-063a497c9385" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_4d177e8b-ce6e-4d81-a99d-d0318c2a9c3a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_074954a6-772b-41a1-ac69-669a07579fbf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_3df1737e-4c61-46b8-bc6b-063a497c9385" xlink:to="loc_us-gaap_StockholdersEquity_074954a6-772b-41a1-ac69-669a07579fbf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/LeasesNarrativeDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#LeasesNarrativeDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/LeasesNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_bfeff3ec-ceec-4379-b51f-46ce43355a61" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionTable_225afdd1-a65e-44f1-90f7-afcaebc6b0ee" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_bfeff3ec-ceec-4379-b51f-46ce43355a61" xlink:to="loc_us-gaap_LesseeLeaseDescriptionTable_225afdd1-a65e-44f1-90f7-afcaebc6b0ee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_94304f0c-fb49-4f1b-8b2d-6013f16bbf7e" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable_225afdd1-a65e-44f1-90f7-afcaebc6b0ee" xlink:to="loc_srt_RangeAxis_94304f0c-fb49-4f1b-8b2d-6013f16bbf7e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_36aba644-4b0d-4d09-941f-7393a0b284c8" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_94304f0c-fb49-4f1b-8b2d-6013f16bbf7e" xlink:to="loc_srt_RangeMember_36aba644-4b0d-4d09-941f-7393a0b284c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_38fd28e8-8488-4479-bd1e-f8683d6c1757" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_36aba644-4b0d-4d09-941f-7393a0b284c8" xlink:to="loc_srt_MinimumMember_38fd28e8-8488-4479-bd1e-f8683d6c1757" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_6ee82cec-1e6c-4b18-a598-4c9ee268ff92" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_36aba644-4b0d-4d09-941f-7393a0b284c8" xlink:to="loc_srt_MaximumMember_6ee82cec-1e6c-4b18-a598-4c9ee268ff92" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionLineItems_48dc9b4e-815b-41c1-8a50-de37415b5f6d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable_225afdd1-a65e-44f1-90f7-afcaebc6b0ee" xlink:to="loc_us-gaap_LesseeLeaseDescriptionLineItems_48dc9b4e-815b-41c1-8a50-de37415b5f6d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseRemainingLeaseTerm_9c15db5c-4792-4e46-a661-17d03c68b8aa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseRemainingLeaseTerm"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_48dc9b4e-815b-41c1-8a50-de37415b5f6d" xlink:to="loc_us-gaap_LesseeOperatingLeaseRemainingLeaseTerm_9c15db5c-4792-4e46-a661-17d03c68b8aa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeFinanceLeaseRemainingLeaseTerm_102f07f8-6933-4f1e-befd-1950b2eb8a4e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeFinanceLeaseRemainingLeaseTerm"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_48dc9b4e-815b-41c1-8a50-de37415b5f6d" xlink:to="loc_us-gaap_LesseeFinanceLeaseRemainingLeaseTerm_102f07f8-6933-4f1e-befd-1950b2eb8a4e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_SubleasesRemainingLeaseTerms_aa7826b5-8b74-44ac-956f-f3dfd5040cc6" xlink:href="fsly-20231231.xsd#fsly_SubleasesRemainingLeaseTerms"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_48dc9b4e-815b-41c1-8a50-de37415b5f6d" xlink:to="loc_fsly_SubleasesRemainingLeaseTerms_aa7826b5-8b74-44ac-956f-f3dfd5040cc6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubleaseIncome_61c431c6-cb8f-4dff-8e91-f03555a30efc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubleaseIncome"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_48dc9b4e-815b-41c1-8a50-de37415b5f6d" xlink:to="loc_us-gaap_SubleaseIncome_61c431c6-cb8f-4dff-8e91-f03555a30efc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseImpairmentLoss_6e0f4444-79ff-49cc-9607-414e95b058bb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseImpairmentLoss"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_48dc9b4e-815b-41c1-8a50-de37415b5f6d" xlink:to="loc_us-gaap_OperatingLeaseImpairmentLoss_6e0f4444-79ff-49cc-9607-414e95b058bb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_LesseeOperatingLeaseLeaseNotYetCommencedCommitmentAmount_7375b2d6-db10-409b-8ef2-b6ab18d4a078" xlink:href="fsly-20231231.xsd#fsly_LesseeOperatingLeaseLeaseNotYetCommencedCommitmentAmount"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_48dc9b4e-815b-41c1-8a50-de37415b5f6d" xlink:to="loc_fsly_LesseeOperatingLeaseLeaseNotYetCommencedCommitmentAmount_7375b2d6-db10-409b-8ef2-b6ab18d4a078" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1_e1f875bd-64b5-491d-bbbb-0b43e530d261" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_48dc9b4e-815b-41c1-8a50-de37415b5f6d" xlink:to="loc_us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1_e1f875bd-64b5-491d-bbbb-0b43e530d261" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/LeasesScheduleofLeaseCostDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#LeasesScheduleofLeaseCostDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/LeasesScheduleofLeaseCostDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_eb55c915-8062-4481-a34d-51a55c58ea89" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseCost_e82c2628-76f2-49e6-89b8-3b079342217b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseCost"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_eb55c915-8062-4481-a34d-51a55c58ea89" xlink:to="loc_us-gaap_OperatingLeaseCost_e82c2628-76f2-49e6-89b8-3b079342217b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableLeaseCost_4d14764f-9fe3-4442-b183-6973ec362248" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableLeaseCost"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_eb55c915-8062-4481-a34d-51a55c58ea89" xlink:to="loc_us-gaap_VariableLeaseCost_4d14764f-9fe3-4442-b183-6973ec362248" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_OperatingVariableAndShortTermLeaseCosts_df7d58c6-7904-45c6-8062-a4b3861f3574" xlink:href="fsly-20231231.xsd#fsly_OperatingVariableAndShortTermLeaseCosts"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_eb55c915-8062-4481-a34d-51a55c58ea89" xlink:to="loc_fsly_OperatingVariableAndShortTermLeaseCosts_df7d58c6-7904-45c6-8062-a4b3861f3574" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseRightOfUseAssetAmortization_497664fa-29a7-45b7-83db-f5cead807fe3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_eb55c915-8062-4481-a34d-51a55c58ea89" xlink:to="loc_us-gaap_FinanceLeaseRightOfUseAssetAmortization_497664fa-29a7-45b7-83db-f5cead807fe3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseInterestExpense_81b725d1-8057-49b5-b71a-9f1b771e056d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseInterestExpense"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_eb55c915-8062-4481-a34d-51a55c58ea89" xlink:to="loc_us-gaap_FinanceLeaseInterestExpense_81b725d1-8057-49b5-b71a-9f1b771e056d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_FinanceLeaseCost_27d2b2f8-a052-4394-a23c-7d0c4c1d1434" xlink:href="fsly-20231231.xsd#fsly_FinanceLeaseCost"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_eb55c915-8062-4481-a34d-51a55c58ea89" xlink:to="loc_fsly_FinanceLeaseCost_27d2b2f8-a052-4394-a23c-7d0c4c1d1434" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/LeasesScheduleofOtherInformationDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#LeasesScheduleofOtherInformationDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/LeasesScheduleofOtherInformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_37ead8ea-ebf5-47a8-9d76-ce0768ccf110" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_WeightedAverageRemainingLeaseTermAbstract_63e2451a-fec4-4b58-b0d7-6531f84eeb9f" xlink:href="fsly-20231231.xsd#fsly_WeightedAverageRemainingLeaseTermAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_37ead8ea-ebf5-47a8-9d76-ce0768ccf110" xlink:to="loc_fsly_WeightedAverageRemainingLeaseTermAbstract_63e2451a-fec4-4b58-b0d7-6531f84eeb9f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_8704bd3b-a539-4529-87c8-7356da9a5907" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_fsly_WeightedAverageRemainingLeaseTermAbstract_63e2451a-fec4-4b58-b0d7-6531f84eeb9f" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_8704bd3b-a539-4529-87c8-7356da9a5907" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_721fdc20-6fce-43ad-b84f-f873066dd70a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_fsly_WeightedAverageRemainingLeaseTermAbstract_63e2451a-fec4-4b58-b0d7-6531f84eeb9f" xlink:to="loc_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_721fdc20-6fce-43ad-b84f-f873066dd70a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_LeasesWeightedAverageDiscountRateAbstract_d41ce905-6a14-4419-8455-cc041dce1b85" xlink:href="fsly-20231231.xsd#fsly_LeasesWeightedAverageDiscountRateAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_37ead8ea-ebf5-47a8-9d76-ce0768ccf110" xlink:to="loc_fsly_LeasesWeightedAverageDiscountRateAbstract_d41ce905-6a14-4419-8455-cc041dce1b85" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_344086e3-ce67-4890-87cc-a929eb14e180" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_fsly_LeasesWeightedAverageDiscountRateAbstract_d41ce905-6a14-4419-8455-cc041dce1b85" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_344086e3-ce67-4890-87cc-a929eb14e180" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent_4f77ac0a-3c6b-417f-9e44-320c3693e193" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_fsly_LeasesWeightedAverageDiscountRateAbstract_d41ce905-6a14-4419-8455-cc041dce1b85" xlink:to="loc_us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent_4f77ac0a-3c6b-417f-9e44-320c3693e193" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#LeasesScheduleofLeaseLiabilityMaturityDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_7d9506fd-f136-40de-a5cb-1da5be621a68" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_87b38af4-912d-4879-beba-68b8bcb9b38c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_7d9506fd-f136-40de-a5cb-1da5be621a68" xlink:to="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_87b38af4-912d-4879-beba-68b8bcb9b38c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_5f8d9202-2c66-4433-9195-3662326d95cc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_87b38af4-912d-4879-beba-68b8bcb9b38c" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_5f8d9202-2c66-4433-9195-3662326d95cc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_007ae90b-43ca-4fea-9fbd-0f9f8c56751b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_87b38af4-912d-4879-beba-68b8bcb9b38c" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_007ae90b-43ca-4fea-9fbd-0f9f8c56751b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_4866fc43-aac2-4b80-9a6a-c2b87a931eee" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_87b38af4-912d-4879-beba-68b8bcb9b38c" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_4866fc43-aac2-4b80-9a6a-c2b87a931eee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_ab0e70e5-ee0f-4f41-85bc-801d8e950cf5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_87b38af4-912d-4879-beba-68b8bcb9b38c" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_ab0e70e5-ee0f-4f41-85bc-801d8e950cf5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_5f2ba77f-704d-49a6-89cc-89ba18caec05" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_87b38af4-912d-4879-beba-68b8bcb9b38c" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_5f2ba77f-704d-49a6-89cc-89ba18caec05" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_c9a39868-febf-4a28-87ba-9b4dc7b12c06" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_87b38af4-912d-4879-beba-68b8bcb9b38c" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_c9a39868-febf-4a28-87ba-9b4dc7b12c06" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_a6400930-a67b-41e4-85cc-8c233921ad60" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_87b38af4-912d-4879-beba-68b8bcb9b38c" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_a6400930-a67b-41e4-85cc-8c233921ad60" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_ac700589-0e5e-44c8-89b9-d5a317ca78ec" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_87b38af4-912d-4879-beba-68b8bcb9b38c" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_ac700589-0e5e-44c8-89b9-d5a317ca78ec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_9f1921f7-8031-483e-a72a-e773ec65f10a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_87b38af4-912d-4879-beba-68b8bcb9b38c" xlink:to="loc_us-gaap_OperatingLeaseLiability_9f1921f7-8031-483e-a72a-e773ec65f10a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_01ec7ed8-b03d-4709-bd88-916f1fba34ca" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_7d9506fd-f136-40de-a5cb-1da5be621a68" xlink:to="loc_us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_01ec7ed8-b03d-4709-bd88-916f1fba34ca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_71ab187d-2252-459a-896c-412ab0a5fd91" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_01ec7ed8-b03d-4709-bd88-916f1fba34ca" xlink:to="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_71ab187d-2252-459a-896c-412ab0a5fd91" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_b81b6e8b-36a3-4f64-b971-98f6eb537ff0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_01ec7ed8-b03d-4709-bd88-916f1fba34ca" xlink:to="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_b81b6e8b-36a3-4f64-b971-98f6eb537ff0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_eb37aaa0-9799-40af-b9df-e3ee3456c2aa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_01ec7ed8-b03d-4709-bd88-916f1fba34ca" xlink:to="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_eb37aaa0-9799-40af-b9df-e3ee3456c2aa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour_6a5394cf-4eb0-44b1-9590-2e42fcd1dbfb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_01ec7ed8-b03d-4709-bd88-916f1fba34ca" xlink:to="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour_6a5394cf-4eb0-44b1-9590-2e42fcd1dbfb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive_8250c164-2251-4f5f-8fdd-e19ee73c1c72" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_01ec7ed8-b03d-4709-bd88-916f1fba34ca" xlink:to="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive_8250c164-2251-4f5f-8fdd-e19ee73c1c72" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive_7e5bd26c-8d3c-4bd6-b773-7d75be199dfc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_01ec7ed8-b03d-4709-bd88-916f1fba34ca" xlink:to="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive_7e5bd26c-8d3c-4bd6-b773-7d75be199dfc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDue_e561bc60-0726-4e22-b43d-2055251a2253" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_01ec7ed8-b03d-4709-bd88-916f1fba34ca" xlink:to="loc_us-gaap_FinanceLeaseLiabilityPaymentsDue_e561bc60-0726-4e22-b43d-2055251a2253" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_dd98bc32-2656-4314-84e0-4bf913e90420" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_01ec7ed8-b03d-4709-bd88-916f1fba34ca" xlink:to="loc_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_dd98bc32-2656-4314-84e0-4bf913e90420" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiability_63911672-610c-4527-9a67-baa8307da661" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiability"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_01ec7ed8-b03d-4709-bd88-916f1fba34ca" xlink:to="loc_us-gaap_FinanceLeaseLiability_63911672-610c-4527-9a67-baa8307da661" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails_1" xlink:type="simple" xlink:href="fsly-20231231.xsd#LeasesScheduleofLeaseLiabilityMaturityDetails_1"/>
  <link:presentationLink xlink:role="http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails_1" xlink:type="extended"/>
  <link:roleRef roleURI="http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofChangesintheCarryingAmountofGoodwillDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#GoodwillandIntangibleAssetsScheduleofChangesintheCarryingAmountofGoodwillDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofChangesintheCarryingAmountofGoodwillDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_1b76f775-0df1-4573-9bdc-91e16d150feb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillRollForward_abc1dbd0-1856-4de5-ae14-884d58a4afe3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_1b76f775-0df1-4573-9bdc-91e16d150feb" xlink:to="loc_us-gaap_GoodwillRollForward_abc1dbd0-1856-4de5-ae14-884d58a4afe3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_28582883-71cb-4728-a7e9-e779524de1cb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillRollForward_abc1dbd0-1856-4de5-ae14-884d58a4afe3" xlink:to="loc_us-gaap_Goodwill_28582883-71cb-4728-a7e9-e779524de1cb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAcquiredDuringPeriod_df485d65-60ca-4fae-916c-36ab5bf493ba" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAcquiredDuringPeriod"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillRollForward_abc1dbd0-1856-4de5-ae14-884d58a4afe3" xlink:to="loc_us-gaap_GoodwillAcquiredDuringPeriod_df485d65-60ca-4fae-916c-36ab5bf493ba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_1593a438-4f6c-4fb1-b709-d82ca2db20bb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillRollForward_abc1dbd0-1856-4de5-ae14-884d58a4afe3" xlink:to="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_1593a438-4f6c-4fb1-b709-d82ca2db20bb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_b84a857d-b5b0-423b-aa4b-43f29815c50d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillRollForward_abc1dbd0-1856-4de5-ae14-884d58a4afe3" xlink:to="loc_us-gaap_Goodwill_b84a857d-b5b0-423b-aa4b-43f29815c50d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/GoodwillandIntangibleAssetsNarrativeDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#GoodwillandIntangibleAssetsNarrativeDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/GoodwillandIntangibleAssetsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_b394dda4-0e1e-4e7d-95ce-4763b679b6be" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_009f949b-fc5f-41f7-b406-33253e4e2adc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_b394dda4-0e1e-4e7d-95ce-4763b679b6be" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_009f949b-fc5f-41f7-b406-33253e4e2adc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_d5107f79-bd92-422d-b909-535606708afd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_009f949b-fc5f-41f7-b406-33253e4e2adc" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_d5107f79-bd92-422d-b909-535606708afd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_cacf55a2-4c65-494d-8c11-5dd796d674c8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_d5107f79-bd92-422d-b909-535606708afd" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_cacf55a2-4c65-494d-8c11-5dd796d674c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_GlitchIncMember_c1107bcb-e88b-4376-8378-89315b945479" xlink:href="fsly-20231231.xsd#fsly_GlitchIncMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_cacf55a2-4c65-494d-8c11-5dd796d674c8" xlink:to="loc_fsly_GlitchIncMember_c1107bcb-e88b-4376-8378-89315b945479" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_33e0c909-2848-4f10-a186-a916987ae408" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_009f949b-fc5f-41f7-b406-33253e4e2adc" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_33e0c909-2848-4f10-a186-a916987ae408" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillImpairmentLoss_f419ac88-6937-4520-9ae5-e779b9fcc30d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillImpairmentLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_33e0c909-2848-4f10-a186-a916987ae408" xlink:to="loc_us-gaap_GoodwillImpairmentLoss_f419ac88-6937-4520-9ae5-e779b9fcc30d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_d9f2cd4d-8a50-4551-b838-1a0d082e2007" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_33e0c909-2848-4f10-a186-a916987ae408" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_d9f2cd4d-8a50-4551-b838-1a0d082e2007" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireIntangibleAssets_0bc3b05f-8057-46f7-b9b5-5e1875530924" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireIntangibleAssets"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_33e0c909-2848-4f10-a186-a916987ae408" xlink:to="loc_us-gaap_PaymentsToAcquireIntangibleAssets_0bc3b05f-8057-46f7-b9b5-5e1875530924" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofIntangibleAssetsNetDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#GoodwillandIntangibleAssetsScheduleofIntangibleAssetsNetDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofIntangibleAssetsNetDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_22f5c96b-0b0f-4108-a747-cf3b6afae753" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_e36327bb-5348-4a02-8563-26e5ce47125e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_22f5c96b-0b0f-4108-a747-cf3b6afae753" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_e36327bb-5348-4a02-8563-26e5ce47125e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_6314fede-ee45-4709-a86f-1871fbc282e7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_e36327bb-5348-4a02-8563-26e5ce47125e" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_6314fede-ee45-4709-a86f-1871fbc282e7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_c480356d-e49e-4a57-99d3-75acc6296860" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_6314fede-ee45-4709-a86f-1871fbc282e7" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_c480356d-e49e-4a57-99d3-75acc6296860" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember_16845bdf-3db9-4b0a-bef0-a823edd20d7e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelationshipsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_c480356d-e49e-4a57-99d3-75acc6296860" xlink:to="loc_us-gaap_CustomerRelationshipsMember_16845bdf-3db9-4b0a-bef0-a823edd20d7e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember_e48f2b79-9677-4dfb-8b67-ba2b24ccace1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DevelopedTechnologyRightsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_c480356d-e49e-4a57-99d3-75acc6296860" xlink:to="loc_us-gaap_DevelopedTechnologyRightsMember_e48f2b79-9677-4dfb-8b67-ba2b24ccace1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TradeNamesMember_0fcbc826-1420-4352-a429-201c0ed2200a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradeNamesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_c480356d-e49e-4a57-99d3-75acc6296860" xlink:to="loc_us-gaap_TradeNamesMember_0fcbc826-1420-4352-a429-201c0ed2200a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_InternetProtocolAddressesMember_1f13f4bb-8149-46e7-ab26-1752cfe97586" xlink:href="fsly-20231231.xsd#fsly_InternetProtocolAddressesMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_c480356d-e49e-4a57-99d3-75acc6296860" xlink:to="loc_fsly_InternetProtocolAddressesMember_1f13f4bb-8149-46e7-ab26-1752cfe97586" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrderOrProductionBacklogMember_d1eca0cd-2086-4974-abde-a3a3b280469b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrderOrProductionBacklogMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_c480356d-e49e-4a57-99d3-75acc6296860" xlink:to="loc_us-gaap_OrderOrProductionBacklogMember_d1eca0cd-2086-4974-abde-a3a3b280469b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_cafa7e4c-ff18-413a-a14f-3adb42548c77" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_e36327bb-5348-4a02-8563-26e5ce47125e" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_cafa7e4c-ff18-413a-a14f-3adb42548c77" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_b447ebf4-5192-4060-87eb-ff098a69d138" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_cafa7e4c-ff18-413a-a14f-3adb42548c77" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_b447ebf4-5192-4060-87eb-ff098a69d138" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_56224097-a4d9-4037-940b-38a31e661034" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_cafa7e4c-ff18-413a-a14f-3adb42548c77" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_56224097-a4d9-4037-940b-38a31e661034" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_5ee8d72f-0e8e-4d7f-9fbd-af3024a6a992" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_cafa7e4c-ff18-413a-a14f-3adb42548c77" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_5ee8d72f-0e8e-4d7f-9fbd-af3024a6a992" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofExpectedAmortizationExpenseofIntangibleAssetsDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#GoodwillandIntangibleAssetsScheduleofExpectedAmortizationExpenseofIntangibleAssetsDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofExpectedAmortizationExpenseofIntangibleAssetsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_0c2c25c5-5cf8-4e53-8ad5-7cb38f9a1702" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_f9afdfff-eb89-4405-baaa-5e683eee1780" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_0c2c25c5-5cf8-4e53-8ad5-7cb38f9a1702" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_f9afdfff-eb89-4405-baaa-5e683eee1780" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_30e44f96-1fe4-42f7-a9a6-c487a60d37c1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_0c2c25c5-5cf8-4e53-8ad5-7cb38f9a1702" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_30e44f96-1fe4-42f7-a9a6-c487a60d37c1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_76815f96-f6ab-4904-898a-c7c2557e0f82" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_0c2c25c5-5cf8-4e53-8ad5-7cb38f9a1702" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_76815f96-f6ab-4904-898a-c7c2557e0f82" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_8039fa31-147a-4cc5-a334-bbf09eaa2053" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_0c2c25c5-5cf8-4e53-8ad5-7cb38f9a1702" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_8039fa31-147a-4cc5-a334-bbf09eaa2053" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_3b4bb5ee-60fe-4e4e-bb90-5658014d1818" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_0c2c25c5-5cf8-4e53-8ad5-7cb38f9a1702" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_3b4bb5ee-60fe-4e4e-bb90-5658014d1818" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_6667c666-6230-44dc-baed-527b429aef74" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_0c2c25c5-5cf8-4e53-8ad5-7cb38f9a1702" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_6667c666-6230-44dc-baed-527b429aef74" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_3d774bd9-cfa7-4857-b1d3-e60f797be3b7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_0c2c25c5-5cf8-4e53-8ad5-7cb38f9a1702" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_3d774bd9-cfa7-4857-b1d3-e60f797be3b7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/DebtInstrumentsSeniorSecuredCreditFacilitiesAgreementDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#DebtInstrumentsSeniorSecuredCreditFacilitiesAgreementDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/DebtInstrumentsSeniorSecuredCreditFacilitiesAgreementDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_53b263b4-9f5a-4827-ac65-3f04608cda59" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_84f8b813-1231-4533-8601-61f6051e72ff" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_53b263b4-9f5a-4827-ac65-3f04608cda59" xlink:to="loc_us-gaap_DebtInstrumentTable_84f8b813-1231-4533-8601-61f6051e72ff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_0d263480-7b26-41ee-b935-344bde45fe5b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_84f8b813-1231-4533-8601-61f6051e72ff" xlink:to="loc_us-gaap_DebtInstrumentAxis_0d263480-7b26-41ee-b935-344bde45fe5b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_e608bc77-5494-42fa-9aca-34e5edd47f11" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentAxis_0d263480-7b26-41ee-b935-344bde45fe5b" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_e608bc77-5494-42fa-9aca-34e5edd47f11" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_SVBRevolverMember_8d7ab822-ae0f-4cd8-bb8b-21bfd710c650" xlink:href="fsly-20231231.xsd#fsly_SVBRevolverMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_e608bc77-5494-42fa-9aca-34e5edd47f11" xlink:to="loc_fsly_SVBRevolverMember_8d7ab822-ae0f-4cd8-bb8b-21bfd710c650" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_783ce907-7911-4953-ac04-6f16eadab966" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_84f8b813-1231-4533-8601-61f6051e72ff" xlink:to="loc_srt_RangeAxis_783ce907-7911-4953-ac04-6f16eadab966" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_bd153b11-1403-45a3-9fec-4ddc2e6abfa9" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_783ce907-7911-4953-ac04-6f16eadab966" xlink:to="loc_srt_RangeMember_bd153b11-1403-45a3-9fec-4ddc2e6abfa9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_6d31c0bb-7b78-42fa-ad4f-9c9fea4e21ec" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_bd153b11-1403-45a3-9fec-4ddc2e6abfa9" xlink:to="loc_srt_MinimumMember_6d31c0bb-7b78-42fa-ad4f-9c9fea4e21ec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_db320b26-6546-4a08-9374-a1c22cedf3c4" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_bd153b11-1403-45a3-9fec-4ddc2e6abfa9" xlink:to="loc_srt_MaximumMember_db320b26-6546-4a08-9374-a1c22cedf3c4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateAxis_361a40fe-8941-4944-a634-ad7a9c197d9e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_84f8b813-1231-4533-8601-61f6051e72ff" xlink:to="loc_us-gaap_VariableRateAxis_361a40fe-8941-4944-a634-ad7a9c197d9e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain_5a0307b1-dbda-4b2a-a862-9f12db431bdf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateAxis_361a40fe-8941-4944-a634-ad7a9c197d9e" xlink:to="loc_us-gaap_VariableRateDomain_5a0307b1-dbda-4b2a-a862-9f12db431bdf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_LondonInterbankOfferedRateMember_c47d4eec-1cce-4789-9fe0-28240c628c7e" xlink:href="fsly-20231231.xsd#fsly_LondonInterbankOfferedRateMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateDomain_5a0307b1-dbda-4b2a-a862-9f12db431bdf" xlink:to="loc_fsly_LondonInterbankOfferedRateMember_c47d4eec-1cce-4789-9fe0-28240c628c7e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_SecuredOvernightFinanceRateMember_07009d6f-15ed-45db-a5aa-419d2cee28a5" xlink:href="fsly-20231231.xsd#fsly_SecuredOvernightFinanceRateMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateDomain_5a0307b1-dbda-4b2a-a862-9f12db431bdf" xlink:to="loc_fsly_SecuredOvernightFinanceRateMember_07009d6f-15ed-45db-a5aa-419d2cee28a5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BaseRateMember_1efd59fe-42bc-4d87-97be-59230c62e394" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BaseRateMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateDomain_5a0307b1-dbda-4b2a-a862-9f12db431bdf" xlink:to="loc_us-gaap_BaseRateMember_1efd59fe-42bc-4d87-97be-59230c62e394" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_f3f53da8-644c-4091-ba87-8bed9df6e21d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_84f8b813-1231-4533-8601-61f6051e72ff" xlink:to="loc_us-gaap_DebtInstrumentLineItems_f3f53da8-644c-4091-ba87-8bed9df6e21d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_3030708e-b319-4095-9024-e576096c8a1e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_f3f53da8-644c-4091-ba87-8bed9df6e21d" xlink:to="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_3030708e-b319-4095-9024-e576096c8a1e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFinanceCostsGross_8afff7ca-91d9-4c6f-9fc6-01f54119a123" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFinanceCostsGross"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_f3f53da8-644c-4091-ba87-8bed9df6e21d" xlink:to="loc_us-gaap_DeferredFinanceCostsGross_8afff7ca-91d9-4c6f-9fc6-01f54119a123" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_5b11187a-02d1-4a71-95af-cc85535ad707" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_f3f53da8-644c-4091-ba87-8bed9df6e21d" xlink:to="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_5b11187a-02d1-4a71-95af-cc85535ad707" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DebtInstrumentBasisSpreadAdjustment_1c6d789b-316b-4523-bfc9-c5db318e8346" xlink:href="fsly-20231231.xsd#fsly_DebtInstrumentBasisSpreadAdjustment"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_f3f53da8-644c-4091-ba87-8bed9df6e21d" xlink:to="loc_fsly_DebtInstrumentBasisSpreadAdjustment_1c6d789b-316b-4523-bfc9-c5db318e8346" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_fe684503-24fd-4a06-93b3-d9f50a26ac59" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_f3f53da8-644c-4091-ba87-8bed9df6e21d" xlink:to="loc_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_fe684503-24fd-4a06-93b3-d9f50a26ac59" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DebtCovenantAdjustedQuickRatioMinimumRequirement_a837f364-77c6-49ab-abfe-7bd56d028a04" xlink:href="fsly-20231231.xsd#fsly_DebtCovenantAdjustedQuickRatioMinimumRequirement"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_f3f53da8-644c-4091-ba87-8bed9df6e21d" xlink:to="loc_fsly_DebtCovenantAdjustedQuickRatioMinimumRequirement_a837f364-77c6-49ab-abfe-7bd56d028a04" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DebtCovenantAdjustedQuickRatioMinimumThresholdToTriggerRevenueGrowthCovenantRequirement_cb512e51-28ee-4a93-8691-169ffa6560cc" xlink:href="fsly-20231231.xsd#fsly_DebtCovenantAdjustedQuickRatioMinimumThresholdToTriggerRevenueGrowthCovenantRequirement"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_f3f53da8-644c-4091-ba87-8bed9df6e21d" xlink:to="loc_fsly_DebtCovenantAdjustedQuickRatioMinimumThresholdToTriggerRevenueGrowthCovenantRequirement_cb512e51-28ee-4a93-8691-169ffa6560cc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromLinesOfCredit_6bcd0481-9dcd-4726-9f61-55aac20ed6ff" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromLinesOfCredit"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_f3f53da8-644c-4091-ba87-8bed9df6e21d" xlink:to="loc_us-gaap_ProceedsFromLinesOfCredit_6bcd0481-9dcd-4726-9f61-55aac20ed6ff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCredit_07be4f66-86d8-4574-9625-9683cb84e3d1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCredit"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_f3f53da8-644c-4091-ba87-8bed9df6e21d" xlink:to="loc_us-gaap_LineOfCredit_07be4f66-86d8-4574-9625-9683cb84e3d1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#DebtInstrumentsConvertibleSeniorNotesDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_143cdcd3-7065-440e-911f-4c39f62529b9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_d133d4ae-21ef-4008-b19f-7d9a6130c8d8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_143cdcd3-7065-440e-911f-4c39f62529b9" xlink:to="loc_us-gaap_DebtInstrumentTable_d133d4ae-21ef-4008-b19f-7d9a6130c8d8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_3f5910bf-da0e-4577-9c36-5a28a8fdf2ad" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_d133d4ae-21ef-4008-b19f-7d9a6130c8d8" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_3f5910bf-da0e-4577-9c36-5a28a8fdf2ad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_4f10c4c9-8231-43a3-b90d-cee3ff1a9390" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_3f5910bf-da0e-4577-9c36-5a28a8fdf2ad" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_4f10c4c9-8231-43a3-b90d-cee3ff1a9390" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertibleDebtMember_c90f1f54-6eea-4a5c-8ac4-d58b0baec108" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_4f10c4c9-8231-43a3-b90d-cee3ff1a9390" xlink:to="loc_us-gaap_ConvertibleDebtMember_c90f1f54-6eea-4a5c-8ac4-d58b0baec108" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_3293f636-c5d3-4d3f-a6d0-d96381094cdd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_d133d4ae-21ef-4008-b19f-7d9a6130c8d8" xlink:to="loc_us-gaap_DebtInstrumentAxis_3293f636-c5d3-4d3f-a6d0-d96381094cdd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_7aca567f-bd8d-4a1f-a16e-88a62288a136" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentAxis_3293f636-c5d3-4d3f-a6d0-d96381094cdd" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_7aca567f-bd8d-4a1f-a16e-88a62288a136" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_A2026ConvertibleNotesMember_d9f561ef-0ee7-4fcd-b9c7-4ad72ef29cff" xlink:href="fsly-20231231.xsd#fsly_A2026ConvertibleNotesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_7aca567f-bd8d-4a1f-a16e-88a62288a136" xlink:to="loc_fsly_A2026ConvertibleNotesMember_d9f561ef-0ee7-4fcd-b9c7-4ad72ef29cff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtConversionByUniqueDescriptionAxis_7ca02b0b-35ba-4dec-a53e-b72c24161341" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtConversionByUniqueDescriptionAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_d133d4ae-21ef-4008-b19f-7d9a6130c8d8" xlink:to="loc_us-gaap_DebtConversionByUniqueDescriptionAxis_7ca02b0b-35ba-4dec-a53e-b72c24161341" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtConversionNameDomain_24bdfba6-9c11-46e0-a89a-350309de1678" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtConversionNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtConversionByUniqueDescriptionAxis_7ca02b0b-35ba-4dec-a53e-b72c24161341" xlink:to="loc_us-gaap_DebtConversionNameDomain_24bdfba6-9c11-46e0-a89a-350309de1678" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DebtConversionScenarioOneMember_eabe770e-30af-472b-92d5-a7b7b697cb45" xlink:href="fsly-20231231.xsd#fsly_DebtConversionScenarioOneMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtConversionNameDomain_24bdfba6-9c11-46e0-a89a-350309de1678" xlink:to="loc_fsly_DebtConversionScenarioOneMember_eabe770e-30af-472b-92d5-a7b7b697cb45" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DebtConversionScenarioTwoMember_5b149621-9bff-4d2a-aac4-6b82a34d56fd" xlink:href="fsly-20231231.xsd#fsly_DebtConversionScenarioTwoMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtConversionNameDomain_24bdfba6-9c11-46e0-a89a-350309de1678" xlink:to="loc_fsly_DebtConversionScenarioTwoMember_5b149621-9bff-4d2a-aac4-6b82a34d56fd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DebtConversionScenarioThreeMember_1d121b86-1ff6-4fae-944b-d03c7d36da03" xlink:href="fsly-20231231.xsd#fsly_DebtConversionScenarioThreeMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtConversionNameDomain_24bdfba6-9c11-46e0-a89a-350309de1678" xlink:to="loc_fsly_DebtConversionScenarioThreeMember_1d121b86-1ff6-4fae-944b-d03c7d36da03" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DebtConversionScenarioFourMember_828d46aa-9073-4fb7-95c2-4cd0236455dd" xlink:href="fsly-20231231.xsd#fsly_DebtConversionScenarioFourMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtConversionNameDomain_24bdfba6-9c11-46e0-a89a-350309de1678" xlink:to="loc_fsly_DebtConversionScenarioFourMember_828d46aa-9073-4fb7-95c2-4cd0236455dd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_5c657b80-d53b-4f6f-bd5b-9f66304a0267" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_d133d4ae-21ef-4008-b19f-7d9a6130c8d8" xlink:to="loc_us-gaap_StatementClassOfStockAxis_5c657b80-d53b-4f6f-bd5b-9f66304a0267" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_57b45d51-5f63-4be1-a22b-921b0286bc96" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_5c657b80-d53b-4f6f-bd5b-9f66304a0267" xlink:to="loc_us-gaap_ClassOfStockDomain_57b45d51-5f63-4be1-a22b-921b0286bc96" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember_4c420aa6-558a-4729-b294-063c3fe21c14" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonClassAMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_57b45d51-5f63-4be1-a22b-921b0286bc96" xlink:to="loc_us-gaap_CommonClassAMember_4c420aa6-558a-4729-b294-063c3fe21c14" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_0cd1847c-451b-44e8-bf92-d7f3093c8c81" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_d133d4ae-21ef-4008-b19f-7d9a6130c8d8" xlink:to="loc_us-gaap_DebtInstrumentLineItems_0cd1847c-451b-44e8-bf92-d7f3093c8c81" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentFaceAmount_a8340691-8481-4da2-9506-828002003961" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_0cd1847c-451b-44e8-bf92-d7f3093c8c81" xlink:to="loc_us-gaap_DebtInstrumentFaceAmount_a8340691-8481-4da2-9506-828002003961" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_068f7cea-fd63-4d78-83e6-162282294004" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_0cd1847c-451b-44e8-bf92-d7f3093c8c81" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_068f7cea-fd63-4d78-83e6-162282294004" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DebtInstrumentFaceAmountAdditionalPrincipalIssuable_e88ba50c-48b3-45f7-823c-6b83a59b1e18" xlink:href="fsly-20231231.xsd#fsly_DebtInstrumentFaceAmountAdditionalPrincipalIssuable"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_0cd1847c-451b-44e8-bf92-d7f3093c8c81" xlink:to="loc_fsly_DebtInstrumentFaceAmountAdditionalPrincipalIssuable_e88ba50c-48b3-45f7-823c-6b83a59b1e18" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromConvertibleDebt_c9018e4f-1b81-44ef-9ba7-d97d4b036464" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromConvertibleDebt"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_0cd1847c-451b-44e8-bf92-d7f3093c8c81" xlink:to="loc_us-gaap_ProceedsFromConvertibleDebt_c9018e4f-1b81-44ef-9ba7-d97d4b036464" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPricePercentage_41c0c74c-9153-420d-be06-0629afca2c96" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentRedemptionPricePercentage"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_0cd1847c-451b-44e8-bf92-d7f3093c8c81" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPricePercentage_41c0c74c-9153-420d-be06-0629afca2c96" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger_60bd82fd-f78e-49ef-9401-bbaa2baefd06" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_0cd1847c-451b-44e8-bf92-d7f3093c8c81" xlink:to="loc_us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger_60bd82fd-f78e-49ef-9401-bbaa2baefd06" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentConvertibleThresholdTradingDays_f4e82049-32fb-4282-876c-bcaed16e3404" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleThresholdTradingDays"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_0cd1847c-451b-44e8-bf92-d7f3093c8c81" xlink:to="loc_us-gaap_DebtInstrumentConvertibleThresholdTradingDays_f4e82049-32fb-4282-876c-bcaed16e3404" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1_f53acbad-5b0e-4959-b29a-fea5094e5224" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_0cd1847c-451b-44e8-bf92-d7f3093c8c81" xlink:to="loc_us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1_f53acbad-5b0e-4959-b29a-fea5094e5224" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentConvertibleConversionRatio1_9d11a1b5-3617-4c00-84cf-ee8c4b23bcb8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleConversionRatio1"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_0cd1847c-451b-44e8-bf92-d7f3093c8c81" xlink:to="loc_us-gaap_DebtInstrumentConvertibleConversionRatio1_9d11a1b5-3617-4c00-84cf-ee8c4b23bcb8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentConvertibleConversionPrice1_9bb6483b-fb30-4173-b289-756af83f5ab6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_0cd1847c-451b-44e8-bf92-d7f3093c8c81" xlink:to="loc_us-gaap_DebtInstrumentConvertibleConversionPrice1_9bb6483b-fb30-4173-b289-756af83f5ab6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet_5548df8e-0661-41cd-8d54-292b90c8d392" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_0cd1847c-451b-44e8-bf92-d7f3093c8c81" xlink:to="loc_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet_5548df8e-0661-41cd-8d54-292b90c8d392" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRepurchasedFaceAmount_dccab8cc-7676-424c-9729-96848475190d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentRepurchasedFaceAmount"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_0cd1847c-451b-44e8-bf92-d7f3093c8c81" xlink:to="loc_us-gaap_DebtInstrumentRepurchasedFaceAmount_dccab8cc-7676-424c-9729-96848475190d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRepurchaseAmount_1317d5c8-128c-4ec3-8360-a66c5fdca78c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentRepurchaseAmount"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_0cd1847c-451b-44e8-bf92-d7f3093c8c81" xlink:to="loc_us-gaap_DebtInstrumentRepurchaseAmount_1317d5c8-128c-4ec3-8360-a66c5fdca78c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DebtInstrumentRepurchaseTransactionCosts_95a9f275-ce3e-454c-ae32-2afeadbc80d6" xlink:href="fsly-20231231.xsd#fsly_DebtInstrumentRepurchaseTransactionCosts"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_0cd1847c-451b-44e8-bf92-d7f3093c8c81" xlink:to="loc_fsly_DebtInstrumentRepurchaseTransactionCosts_95a9f275-ce3e-454c-ae32-2afeadbc80d6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_426639c7-9dbe-4d88-86d2-57dbeef899ba" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_0cd1847c-451b-44e8-bf92-d7f3093c8c81" xlink:to="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_426639c7-9dbe-4d88-86d2-57dbeef899ba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/DebtInstrumentsScheduleofOutstandingDebtDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#DebtInstrumentsScheduleofOutstandingDebtDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/DebtInstrumentsScheduleofOutstandingDebtDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_28d43c68-29cc-484a-b4fc-d86b5ad69967" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_b16123a8-0e2e-4dd1-b244-c26466c7bb32" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_28d43c68-29cc-484a-b4fc-d86b5ad69967" xlink:to="loc_us-gaap_DebtInstrumentTable_b16123a8-0e2e-4dd1-b244-c26466c7bb32" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_79f6ee34-6ad2-492b-8788-0185e7172148" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_b16123a8-0e2e-4dd1-b244-c26466c7bb32" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_79f6ee34-6ad2-492b-8788-0185e7172148" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_1ef76989-a289-448b-a0c3-06d4b2f7dd89" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_79f6ee34-6ad2-492b-8788-0185e7172148" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_1ef76989-a289-448b-a0c3-06d4b2f7dd89" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertibleDebtMember_74640db5-ad83-4426-b332-caa8f24084bb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_1ef76989-a289-448b-a0c3-06d4b2f7dd89" xlink:to="loc_us-gaap_ConvertibleDebtMember_74640db5-ad83-4426-b332-caa8f24084bb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_70f26b0b-b180-4d13-a3ec-5439dfea90fb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_b16123a8-0e2e-4dd1-b244-c26466c7bb32" xlink:to="loc_us-gaap_DebtInstrumentAxis_70f26b0b-b180-4d13-a3ec-5439dfea90fb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_742209fd-ec9e-47b1-ae36-05f7eb7d1fe2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentAxis_70f26b0b-b180-4d13-a3ec-5439dfea90fb" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_742209fd-ec9e-47b1-ae36-05f7eb7d1fe2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_A2026ConvertibleNotesMember_af4cfdbc-8ffe-4ae1-92fd-e02244138655" xlink:href="fsly-20231231.xsd#fsly_A2026ConvertibleNotesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_742209fd-ec9e-47b1-ae36-05f7eb7d1fe2" xlink:to="loc_fsly_A2026ConvertibleNotesMember_af4cfdbc-8ffe-4ae1-92fd-e02244138655" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_e3c82144-3a9f-4de5-a014-aca4787a2db8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_b16123a8-0e2e-4dd1-b244-c26466c7bb32" xlink:to="loc_us-gaap_DebtInstrumentLineItems_e3c82144-3a9f-4de5-a014-aca4787a2db8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateDuringPeriod_08b54ec8-cd09-4e83-aac6-a151ba0f910e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateDuringPeriod"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_e3c82144-3a9f-4de5-a014-aca4787a2db8" xlink:to="loc_us-gaap_DebtInstrumentInterestRateDuringPeriod_08b54ec8-cd09-4e83-aac6-a151ba0f910e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentCarryingAmount_81b0216e-2bd0-47b4-ba6d-f0c2bf1bacba" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentCarryingAmount"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_e3c82144-3a9f-4de5-a014-aca4787a2db8" xlink:to="loc_us-gaap_DebtInstrumentCarryingAmount_81b0216e-2bd0-47b4-ba6d-f0c2bf1bacba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentUnamortizedDiscount_d232104b-fa1a-45e5-be3e-5abc768978a3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentUnamortizedDiscount"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_e3c82144-3a9f-4de5-a014-aca4787a2db8" xlink:to="loc_us-gaap_DebtInstrumentUnamortizedDiscount_d232104b-fa1a-45e5-be3e-5abc768978a3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtCurrent_6eb37f7b-ceb7-4261-b666-649b7f7a07d4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_e3c82144-3a9f-4de5-a014-aca4787a2db8" xlink:to="loc_us-gaap_LongTermDebtCurrent_6eb37f7b-ceb7-4261-b666-649b7f7a07d4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebt_0c246511-de90-4c77-9ebb-4f25dc205676" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_e3c82144-3a9f-4de5-a014-aca4787a2db8" xlink:to="loc_us-gaap_LongTermDebt_0c246511-de90-4c77-9ebb-4f25dc205676" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/DebtInstrumentsNarrativeDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#DebtInstrumentsNarrativeDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/DebtInstrumentsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_fd8a8b1f-ba7e-4093-893d-cee2166bee44" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestExpenseDebt_d6c29437-8f1b-4d63-ab57-c85b4bb2f5e0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpenseDebt"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_fd8a8b1f-ba7e-4093-893d-cee2166bee44" xlink:to="loc_us-gaap_InterestExpenseDebt_d6c29437-8f1b-4d63-ab57-c85b4bb2f5e0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesPayableFairValueDisclosure_0115a25f-c793-4055-8988-8cbb20f624eb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NotesPayableFairValueDisclosure"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_fd8a8b1f-ba7e-4093-893d-cee2166bee44" xlink:to="loc_us-gaap_NotesPayableFairValueDisclosure_0115a25f-c793-4055-8988-8cbb20f624eb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/CommitmentsandContingenciesScheduleofPurchaseCommitmentsDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#CommitmentsandContingenciesScheduleofPurchaseCommitmentsDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/CommitmentsandContingenciesScheduleofPurchaseCommitmentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_25ffd79f-5a3f-4da8-b843-24fed6913fcd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermPurchaseCommitmentTable_ea51f279-572e-4e2e-b212-38d200756198" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermPurchaseCommitmentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_25ffd79f-5a3f-4da8-b843-24fed6913fcd" xlink:to="loc_us-gaap_LongTermPurchaseCommitmentTable_ea51f279-572e-4e2e-b212-38d200756198" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RecordedUnconditionalPurchaseObligationByCategoryOfItemPurchasedAxis_92599813-ea72-4f71-9bfb-9b2c02d6ec9a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RecordedUnconditionalPurchaseObligationByCategoryOfItemPurchasedAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentTable_ea51f279-572e-4e2e-b212-38d200756198" xlink:to="loc_us-gaap_RecordedUnconditionalPurchaseObligationByCategoryOfItemPurchasedAxis_92599813-ea72-4f71-9bfb-9b2c02d6ec9a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnconditionalPurchaseObligationCategoryOfGoodsOrServicesAcquiredDomain_95686a0f-2d1d-40c9-aac7-9f9ada758dcc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnconditionalPurchaseObligationCategoryOfGoodsOrServicesAcquiredDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RecordedUnconditionalPurchaseObligationByCategoryOfItemPurchasedAxis_92599813-ea72-4f71-9bfb-9b2c02d6ec9a" xlink:to="loc_us-gaap_UnconditionalPurchaseObligationCategoryOfGoodsOrServicesAcquiredDomain_95686a0f-2d1d-40c9-aac7-9f9ada758dcc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_CostOfRevenueCommitmentMember_84f57620-29f9-4a3c-ab58-d02c3fe5b0bc" xlink:href="fsly-20231231.xsd#fsly_CostOfRevenueCommitmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_UnconditionalPurchaseObligationCategoryOfGoodsOrServicesAcquiredDomain_95686a0f-2d1d-40c9-aac7-9f9ada758dcc" xlink:to="loc_fsly_CostOfRevenueCommitmentMember_84f57620-29f9-4a3c-ab58-d02c3fe5b0bc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_OperatingExpenseCommitmentsMember_6b93bd84-1e84-46ee-8d45-0f1f2eb366c3" xlink:href="fsly-20231231.xsd#fsly_OperatingExpenseCommitmentsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_UnconditionalPurchaseObligationCategoryOfGoodsOrServicesAcquiredDomain_95686a0f-2d1d-40c9-aac7-9f9ada758dcc" xlink:to="loc_fsly_OperatingExpenseCommitmentsMember_6b93bd84-1e84-46ee-8d45-0f1f2eb366c3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermPurchaseCommitmentLineItems_57a052da-da13-4f7a-99f3-af6a7df954bf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermPurchaseCommitmentLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentTable_ea51f279-572e-4e2e-b212-38d200756198" xlink:to="loc_us-gaap_LongTermPurchaseCommitmentLineItems_57a052da-da13-4f7a-99f3-af6a7df954bf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueInNextTwelveMonths_b0044bc4-71a0-4dd8-bf61-5780878f05c6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInNextTwelveMonths"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentLineItems_57a052da-da13-4f7a-99f3-af6a7df954bf" xlink:to="loc_us-gaap_PurchaseObligationDueInNextTwelveMonths_b0044bc4-71a0-4dd8-bf61-5780878f05c6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueInSecondYear_03259352-92d5-4052-92c3-b5f23955bb57" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInSecondYear"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentLineItems_57a052da-da13-4f7a-99f3-af6a7df954bf" xlink:to="loc_us-gaap_PurchaseObligationDueInSecondYear_03259352-92d5-4052-92c3-b5f23955bb57" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueInThirdYear_ae21f08b-5198-49bd-8d39-522e6e5aa796" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInThirdYear"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentLineItems_57a052da-da13-4f7a-99f3-af6a7df954bf" xlink:to="loc_us-gaap_PurchaseObligationDueInThirdYear_ae21f08b-5198-49bd-8d39-522e6e5aa796" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueInFourthYear_7051b128-d7f6-4de2-a594-6e9926c65053" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInFourthYear"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentLineItems_57a052da-da13-4f7a-99f3-af6a7df954bf" xlink:to="loc_us-gaap_PurchaseObligationDueInFourthYear_7051b128-d7f6-4de2-a594-6e9926c65053" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueInFifthYear_f49f3b27-0d32-46bb-bfc5-31b5aa061ef1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInFifthYear"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentLineItems_57a052da-da13-4f7a-99f3-af6a7df954bf" xlink:to="loc_us-gaap_PurchaseObligationDueInFifthYear_f49f3b27-0d32-46bb-bfc5-31b5aa061ef1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligationDueAfterFifthYear_c4f5e02d-506f-4b6e-ae3d-1c55d7e3e80c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueAfterFifthYear"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentLineItems_57a052da-da13-4f7a-99f3-af6a7df954bf" xlink:to="loc_us-gaap_PurchaseObligationDueAfterFifthYear_c4f5e02d-506f-4b6e-ae3d-1c55d7e3e80c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligation_62824d9f-46d6-4c80-9b9f-a195270d07da" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligation"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentLineItems_57a052da-da13-4f7a-99f3-af6a7df954bf" xlink:to="loc_us-gaap_PurchaseObligation_62824d9f-46d6-4c80-9b9f-a195270d07da" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/CommitmentsandContingenciesNarrativeDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#CommitmentsandContingenciesNarrativeDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/CommitmentsandContingenciesNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_aeb63a4d-c28d-4341-b3a9-5fb4c0221e89" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_SalesAndExciseTaxPayableCurrentExcludingNormalActivity_6dd8d4fd-164f-44ca-8f8d-372f650fe88c" xlink:href="fsly-20231231.xsd#fsly_SalesAndExciseTaxPayableCurrentExcludingNormalActivity"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_aeb63a4d-c28d-4341-b3a9-5fb4c0221e89" xlink:to="loc_fsly_SalesAndExciseTaxPayableCurrentExcludingNormalActivity_6dd8d4fd-164f-44ca-8f8d-372f650fe88c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/StockholdersEquityCommonStockandPreferredStockDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#StockholdersEquityCommonStockandPreferredStockDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/StockholdersEquityCommonStockandPreferredStockDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteAbstract_73231cc9-7e7d-4046-98e1-1bf17cc398e4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfStockByClassTable_6dca8f0e-7369-4515-84ce-feef2a0de956" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfStockByClassTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityNoteAbstract_73231cc9-7e7d-4046-98e1-1bf17cc398e4" xlink:to="loc_us-gaap_ScheduleOfStockByClassTable_6dca8f0e-7369-4515-84ce-feef2a0de956" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_5063dea7-651e-4f16-a868-e640b8bdb577" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_6dca8f0e-7369-4515-84ce-feef2a0de956" xlink:to="loc_us-gaap_StatementClassOfStockAxis_5063dea7-651e-4f16-a868-e640b8bdb577" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_450f17eb-d2a6-4fdd-b8b2-07140508e33a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_5063dea7-651e-4f16-a868-e640b8bdb577" xlink:to="loc_us-gaap_ClassOfStockDomain_450f17eb-d2a6-4fdd-b8b2-07140508e33a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember_52d60c07-b566-47c3-9ce8-5e13c0be2647" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonClassAMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_450f17eb-d2a6-4fdd-b8b2-07140508e33a" xlink:to="loc_us-gaap_CommonClassAMember_52d60c07-b566-47c3-9ce8-5e13c0be2647" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassBMember_6251c06a-bd8b-4276-9794-207ac51b9448" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonClassBMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_450f17eb-d2a6-4fdd-b8b2-07140508e33a" xlink:to="loc_us-gaap_CommonClassBMember_6251c06a-bd8b-4276-9794-207ac51b9448" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockLineItems_e55ce1c6-8b6e-4368-b387-4f0efee1cc86" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_6dca8f0e-7369-4515-84ce-feef2a0de956" xlink:to="loc_us-gaap_ClassOfStockLineItems_e55ce1c6-8b6e-4368-b387-4f0efee1cc86" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_d2a014cd-247d-47bf-91b3-1b407b9d64e7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_e55ce1c6-8b6e-4368-b387-4f0efee1cc86" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_d2a014cd-247d-47bf-91b3-1b407b9d64e7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_7bd64bad-ff7d-41d7-9212-b8f1ed406310" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_e55ce1c6-8b6e-4368-b387-4f0efee1cc86" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_7bd64bad-ff7d-41d7-9212-b8f1ed406310" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_CommonStockVotingRightsNumberofVotesAllowedToEachShare_76e117ca-403d-4d1a-bf56-ee64082fdb44" xlink:href="fsly-20231231.xsd#fsly_CommonStockVotingRightsNumberofVotesAllowedToEachShare"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_e55ce1c6-8b6e-4368-b387-4f0efee1cc86" xlink:to="loc_fsly_CommonStockVotingRightsNumberofVotesAllowedToEachShare_76e117ca-403d-4d1a-bf56-ee64082fdb44" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_CommonStockSharesRetired_6478c5ed-34ad-414b-ace0-23198970c7ab" xlink:href="fsly-20231231.xsd#fsly_CommonStockSharesRetired"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_e55ce1c6-8b6e-4368-b387-4f0efee1cc86" xlink:to="loc_fsly_CommonStockSharesRetired_6478c5ed-34ad-414b-ace0-23198970c7ab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/StockholdersEquityEquityIncentivePlansDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#StockholdersEquityEquityIncentivePlansDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/StockholdersEquityEquityIncentivePlansDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteAbstract_c15eb8b0-1946-4eab-ad38-5d970a193dd6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_26c6859e-e2ce-451e-8c57-e26ce0ed74d1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityNoteAbstract_c15eb8b0-1946-4eab-ad38-5d970a193dd6" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_26c6859e-e2ce-451e-8c57-e26ce0ed74d1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_08fae2eb-02d8-485a-b3cd-efaaf6379c80" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_26c6859e-e2ce-451e-8c57-e26ce0ed74d1" xlink:to="loc_us-gaap_PlanNameAxis_08fae2eb-02d8-485a-b3cd-efaaf6379c80" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_3ff920f0-7e4a-40cd-bbc2-13428bfb427f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameAxis_08fae2eb-02d8-485a-b3cd-efaaf6379c80" xlink:to="loc_us-gaap_PlanNameDomain_3ff920f0-7e4a-40cd-bbc2-13428bfb427f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_SignalSciences2014EquityStockOptionsPlanMember_ab9e9fad-69e1-40d7-abad-026f1bd2e22a" xlink:href="fsly-20231231.xsd#fsly_SignalSciences2014EquityStockOptionsPlanMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_3ff920f0-7e4a-40cd-bbc2-13428bfb427f" xlink:to="loc_fsly_SignalSciences2014EquityStockOptionsPlanMember_ab9e9fad-69e1-40d7-abad-026f1bd2e22a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_A2019EquityIncentivePlanMember_f763bff1-5603-466d-83a7-89c4583b320f" xlink:href="fsly-20231231.xsd#fsly_A2019EquityIncentivePlanMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_3ff920f0-7e4a-40cd-bbc2-13428bfb427f" xlink:to="loc_fsly_A2019EquityIncentivePlanMember_f763bff1-5603-466d-83a7-89c4583b320f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_3e842ea9-4ed3-4976-afe0-5ec0e62ac67c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_26c6859e-e2ce-451e-8c57-e26ce0ed74d1" xlink:to="loc_us-gaap_StatementClassOfStockAxis_3e842ea9-4ed3-4976-afe0-5ec0e62ac67c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_eefd0d17-eaa6-4b79-bf82-e2768bdf2fc5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_3e842ea9-4ed3-4976-afe0-5ec0e62ac67c" xlink:to="loc_us-gaap_ClassOfStockDomain_eefd0d17-eaa6-4b79-bf82-e2768bdf2fc5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember_3e8f7554-d428-4e11-ae34-2a0ff0840866" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonClassAMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_eefd0d17-eaa6-4b79-bf82-e2768bdf2fc5" xlink:to="loc_us-gaap_CommonClassAMember_3e8f7554-d428-4e11-ae34-2a0ff0840866" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassBMember_4ce13bde-096c-4a70-aab5-3146be5bef51" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonClassBMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_eefd0d17-eaa6-4b79-bf82-e2768bdf2fc5" xlink:to="loc_us-gaap_CommonClassBMember_4ce13bde-096c-4a70-aab5-3146be5bef51" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_5b494f9d-7702-42b5-a6d5-798df749ecc8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_26c6859e-e2ce-451e-8c57-e26ce0ed74d1" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_5b494f9d-7702-42b5-a6d5-798df749ecc8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_NumberOfEquityIncentivePlans_cafef3bf-ba70-41ad-9d49-06ac8c0164c0" xlink:href="fsly-20231231.xsd#fsly_NumberOfEquityIncentivePlans"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_5b494f9d-7702-42b5-a6d5-798df749ecc8" xlink:to="loc_fsly_NumberOfEquityIncentivePlans_cafef3bf-ba70-41ad-9d49-06ac8c0164c0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_BusinessCombinationUnvestedStockOptionAssumedShares_0439fab4-dcc9-42b9-80f6-b91567cf94a9" xlink:href="fsly-20231231.xsd#fsly_BusinessCombinationUnvestedStockOptionAssumedShares"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_5b494f9d-7702-42b5-a6d5-798df749ecc8" xlink:to="loc_fsly_BusinessCombinationUnvestedStockOptionAssumedShares_0439fab4-dcc9-42b9-80f6-b91567cf94a9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_d5d25712-7d41-4edd-9300-7cd340b12b55" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_5b494f9d-7702-42b5-a6d5-798df749ecc8" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_d5d25712-7d41-4edd-9300-7cd340b12b55" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued_0486e1a9-be9d-43f3-bcf7-616c775e3993" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_5b494f9d-7702-42b5-a6d5-798df749ecc8" xlink:to="loc_us-gaap_CommonStockSharesIssued_0486e1a9-be9d-43f3-bcf7-616c775e3993" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_c57ceff0-d0ec-4b43-9fbf-1cd73fa159b2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_5b494f9d-7702-42b5-a6d5-798df749ecc8" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_c57ceff0-d0ec-4b43-9fbf-1cd73fa159b2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/StockholdersEquityStockOptionsNarrativeDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#StockholdersEquityStockOptionsNarrativeDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/StockholdersEquityStockOptionsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteAbstract_f1d051b7-700d-428d-8969-798dd9c23db6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6db7ca97-6008-4041-8002-6615a02f29c5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityNoteAbstract_f1d051b7-700d-428d-8969-798dd9c23db6" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6db7ca97-6008-4041-8002-6615a02f29c5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_31556714-213f-47d7-bbdb-11f58c43f8b9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6db7ca97-6008-4041-8002-6615a02f29c5" xlink:to="loc_us-gaap_AwardTypeAxis_31556714-213f-47d7-bbdb-11f58c43f8b9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_97f97c75-de08-46b1-84a7-bbc99410b0d4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_31556714-213f-47d7-bbdb-11f58c43f8b9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_97f97c75-de08-46b1-84a7-bbc99410b0d4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember_cfd6e0eb-81c5-4f6a-aa69-50b8cd67de4a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_97f97c75-de08-46b1-84a7-bbc99410b0d4" xlink:to="loc_us-gaap_EmployeeStockOptionMember_cfd6e0eb-81c5-4f6a-aa69-50b8cd67de4a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_6bb7e76f-e5a2-4025-a3e9-7cc9af4b3a71" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_97f97c75-de08-46b1-84a7-bbc99410b0d4" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_6bb7e76f-e5a2-4025-a3e9-7cc9af4b3a71" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_44d96840-3489-4e7d-adad-ee9955751bff" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6db7ca97-6008-4041-8002-6615a02f29c5" xlink:to="loc_us-gaap_PlanNameAxis_44d96840-3489-4e7d-adad-ee9955751bff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_b3ef7213-414b-4c6e-9463-fb90d22af1fa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameAxis_44d96840-3489-4e7d-adad-ee9955751bff" xlink:to="loc_us-gaap_PlanNameDomain_b3ef7213-414b-4c6e-9463-fb90d22af1fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_A20112019EquityIncentivePlanMember_e508fa35-a09a-449a-98a2-879e1a806ed4" xlink:href="fsly-20231231.xsd#fsly_A20112019EquityIncentivePlanMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_b3ef7213-414b-4c6e-9463-fb90d22af1fa" xlink:to="loc_fsly_A20112019EquityIncentivePlanMember_e508fa35-a09a-449a-98a2-879e1a806ed4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingAxis_19ec5f4b-2620-4569-a452-a12b9ca004bc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6db7ca97-6008-4041-8002-6615a02f29c5" xlink:to="loc_us-gaap_VestingAxis_19ec5f4b-2620-4569-a452-a12b9ca004bc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingDomain_60e9b4e1-57a7-4a22-95b0-4a4f022a6368" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VestingAxis_19ec5f4b-2620-4569-a452-a12b9ca004bc" xlink:to="loc_us-gaap_VestingDomain_60e9b4e1-57a7-4a22-95b0-4a4f022a6368" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember_f354e86e-c00c-4e13-92d4-63278aaea6a8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VestingDomain_60e9b4e1-57a7-4a22-95b0-4a4f022a6368" xlink:to="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember_f354e86e-c00c-4e13-92d4-63278aaea6a8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_84b93d6c-2c28-46a5-b5ba-30ed767b0005" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VestingDomain_60e9b4e1-57a7-4a22-95b0-4a4f022a6368" xlink:to="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_84b93d6c-2c28-46a5-b5ba-30ed767b0005" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1a8c7c07-6498-4e5b-9948-da1e4ee0bb6a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6db7ca97-6008-4041-8002-6615a02f29c5" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1a8c7c07-6498-4e5b-9948-da1e4ee0bb6a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_bb73e212-397a-4442-ae50-cc21da8d7aae" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1a8c7c07-6498-4e5b-9948-da1e4ee0bb6a" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_bb73e212-397a-4442-ae50-cc21da8d7aae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_3fa0c027-94de-4d76-a93c-69efd866577c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1a8c7c07-6498-4e5b-9948-da1e4ee0bb6a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_3fa0c027-94de-4d76-a93c-69efd866577c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_469b2107-c8f2-456c-b668-186126908e11" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1a8c7c07-6498-4e5b-9948-da1e4ee0bb6a" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_469b2107-c8f2-456c-b668-186126908e11" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_5ba6de50-27c5-4f42-b29b-6b92ad94357d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1a8c7c07-6498-4e5b-9948-da1e4ee0bb6a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_5ba6de50-27c5-4f42-b29b-6b92ad94357d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_9ad88b57-dfc4-479d-8d6c-2dfb16814936" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1a8c7c07-6498-4e5b-9948-da1e4ee0bb6a" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_9ad88b57-dfc4-479d-8d6c-2dfb16814936" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_b4457d99-1878-462d-9829-a4eb209ddb9f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1a8c7c07-6498-4e5b-9948-da1e4ee0bb6a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_b4457d99-1878-462d-9829-a4eb209ddb9f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_566198c7-ab75-4aa9-bff6-b09e138eee7e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1a8c7c07-6498-4e5b-9948-da1e4ee0bb6a" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_566198c7-ab75-4aa9-bff6-b09e138eee7e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_8732b44b-71f0-4378-bb5e-11ee2ec20895" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1a8c7c07-6498-4e5b-9948-da1e4ee0bb6a" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_8732b44b-71f0-4378-bb5e-11ee2ec20895" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_26762a04-dab4-4873-9c11-f6dcf4cab675" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1a8c7c07-6498-4e5b-9948-da1e4ee0bb6a" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_26762a04-dab4-4873-9c11-f6dcf4cab675" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/StockholdersEquityStockOptionActivityDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#StockholdersEquityStockOptionActivityDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/StockholdersEquityStockOptionActivityDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteAbstract_305dda4b-b5d4-43b6-a854-524da35c392c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_900274eb-d541-41ec-9207-4f83a7c1c544" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityNoteAbstract_305dda4b-b5d4-43b6-a854-524da35c392c" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_900274eb-d541-41ec-9207-4f83a7c1c544" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_92aa2f32-72fb-4a61-b6d4-f224f3d4272f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_900274eb-d541-41ec-9207-4f83a7c1c544" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_92aa2f32-72fb-4a61-b6d4-f224f3d4272f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_7341c33f-f821-4259-a981-42c1fb6274e7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_900274eb-d541-41ec-9207-4f83a7c1c544" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_7341c33f-f821-4259-a981-42c1fb6274e7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_e1485b30-8532-4b86-92d5-11e8d0530507" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_900274eb-d541-41ec-9207-4f83a7c1c544" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_e1485b30-8532-4b86-92d5-11e8d0530507" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_399fbdb4-f2fd-4faa-bd3b-56cdb7e1355d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_900274eb-d541-41ec-9207-4f83a7c1c544" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_399fbdb4-f2fd-4faa-bd3b-56cdb7e1355d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_787aebfe-be10-41f6-ad46-0d4016556c22" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_900274eb-d541-41ec-9207-4f83a7c1c544" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_787aebfe-be10-41f6-ad46-0d4016556c22" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_c15ddd7d-46ea-4c5b-96c9-f3a99decd50f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityNoteAbstract_305dda4b-b5d4-43b6-a854-524da35c392c" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_c15ddd7d-46ea-4c5b-96c9-f3a99decd50f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_4f92bc3f-3825-41f2-8d4a-2299f5281aba" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityNoteAbstract_305dda4b-b5d4-43b6-a854-524da35c392c" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_4f92bc3f-3825-41f2-8d4a-2299f5281aba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_c4f724e2-75e9-4dab-abfe-7df0813d8463" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_4f92bc3f-3825-41f2-8d4a-2299f5281aba" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_c4f724e2-75e9-4dab-abfe-7df0813d8463" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_508017ba-e805-4f3d-9958-573d81016150" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_4f92bc3f-3825-41f2-8d4a-2299f5281aba" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_508017ba-e805-4f3d-9958-573d81016150" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_8a566bde-b609-4814-a34e-89e494c90a6e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_4f92bc3f-3825-41f2-8d4a-2299f5281aba" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_8a566bde-b609-4814-a34e-89e494c90a6e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_6caa3aba-212c-4ae9-9ff6-566be710c3da" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_4f92bc3f-3825-41f2-8d4a-2299f5281aba" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_6caa3aba-212c-4ae9-9ff6-566be710c3da" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_9e1e6afc-dcb4-42e7-9b06-33826313e538" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_4f92bc3f-3825-41f2-8d4a-2299f5281aba" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_9e1e6afc-dcb4-42e7-9b06-33826313e538" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice_ea6b7592-6535-4413-a146-edc431a65484" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityNoteAbstract_305dda4b-b5d4-43b6-a854-524da35c392c" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice_ea6b7592-6535-4413-a146-edc431a65484" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_760ed7da-c128-41c6-b279-f31eed17b47b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityNoteAbstract_305dda4b-b5d4-43b6-a854-524da35c392c" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_760ed7da-c128-41c6-b279-f31eed17b47b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_9f76be4b-1cd6-4c51-b02d-cd9658846460" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_760ed7da-c128-41c6-b279-f31eed17b47b" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_9f76be4b-1cd6-4c51-b02d-cd9658846460" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1_19e0cc6d-a250-4b47-8f38-b85ccd2787b9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_760ed7da-c128-41c6-b279-f31eed17b47b" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1_19e0cc6d-a250-4b47-8f38-b85ccd2787b9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_c1c8380d-7a74-464d-80f8-70619dc1039a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_760ed7da-c128-41c6-b279-f31eed17b47b" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_c1c8380d-7a74-464d-80f8-70619dc1039a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_6e2dab83-6344-4aeb-8e15-caa2ea3c9ebc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_760ed7da-c128-41c6-b279-f31eed17b47b" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_6e2dab83-6344-4aeb-8e15-caa2ea3c9ebc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/StockholdersEquityFairValueAssumptionsStockOptionsDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#StockholdersEquityFairValueAssumptionsStockOptionsDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/StockholdersEquityFairValueAssumptionsStockOptionsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteAbstract_e2cd9e1d-70b3-4c3f-ab92-517a2315c288" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_84852ac6-ff92-4bae-bd3f-975728ec0a96" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityNoteAbstract_e2cd9e1d-70b3-4c3f-ab92-517a2315c288" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_84852ac6-ff92-4bae-bd3f-975728ec0a96" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_24e74bee-edfc-4707-9a90-7a40a750a941" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_84852ac6-ff92-4bae-bd3f-975728ec0a96" xlink:to="loc_us-gaap_AwardTypeAxis_24e74bee-edfc-4707-9a90-7a40a750a941" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_ff7e58a0-582d-4f24-8212-261ce42de768" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_24e74bee-edfc-4707-9a90-7a40a750a941" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_ff7e58a0-582d-4f24-8212-261ce42de768" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember_91680b50-a787-4f1f-a49e-a02eed21304b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_ff7e58a0-582d-4f24-8212-261ce42de768" xlink:to="loc_us-gaap_EmployeeStockOptionMember_91680b50-a787-4f1f-a49e-a02eed21304b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0c348fe2-fd43-479e-b070-2488b222c1f6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_84852ac6-ff92-4bae-bd3f-975728ec0a96" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0c348fe2-fd43-479e-b070-2488b222c1f6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharePrice_3bf82496-0cf1-43a3-b652-d351a34756b0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharePrice"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0c348fe2-fd43-479e-b070-2488b222c1f6" xlink:to="loc_us-gaap_SharePrice_3bf82496-0cf1-43a3-b652-d351a34756b0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_a3134815-a2b0-4c84-a563-e6a67f1df505" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0c348fe2-fd43-479e-b070-2488b222c1f6" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_a3134815-a2b0-4c84-a563-e6a67f1df505" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_d0cf8646-2273-4a9c-8908-73f174930569" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0c348fe2-fd43-479e-b070-2488b222c1f6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_d0cf8646-2273-4a9c-8908-73f174930569" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_1dd0e090-8065-42c7-83a0-0d91e89fe81f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0c348fe2-fd43-479e-b070-2488b222c1f6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_1dd0e090-8065-42c7-83a0-0d91e89fe81f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_a2018305-6223-4c01-ba20-e9b9ff8f1593" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0c348fe2-fd43-479e-b070-2488b222c1f6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_a2018305-6223-4c01-ba20-e9b9ff8f1593" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/StockholdersEquityEarlyExerciseofStockOptionsDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#StockholdersEquityEarlyExerciseofStockOptionsDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/StockholdersEquityEarlyExerciseofStockOptionsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteAbstract_460d519d-d13d-4c57-9c8f-345eadfb8329" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_5ff78dae-2142-4a34-9d08-4ee828b39695" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityNoteAbstract_460d519d-d13d-4c57-9c8f-345eadfb8329" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_5ff78dae-2142-4a34-9d08-4ee828b39695" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_8b28420d-fe29-4b67-bebc-4328fff839c7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_5ff78dae-2142-4a34-9d08-4ee828b39695" xlink:to="loc_us-gaap_AwardTypeAxis_8b28420d-fe29-4b67-bebc-4328fff839c7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_cb313123-d244-49ac-817b-e36ec4e85732" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_8b28420d-fe29-4b67-bebc-4328fff839c7" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_cb313123-d244-49ac-817b-e36ec4e85732" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember_c1fd7e23-d674-4189-a2c9-627fa72f0009" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_cb313123-d244-49ac-817b-e36ec4e85732" xlink:to="loc_us-gaap_EmployeeStockOptionMember_c1fd7e23-d674-4189-a2c9-627fa72f0009" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_edaba36a-b7ab-4b92-a9cd-f50fc5c6bd9e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_5ff78dae-2142-4a34-9d08-4ee828b39695" xlink:to="loc_us-gaap_StatementClassOfStockAxis_edaba36a-b7ab-4b92-a9cd-f50fc5c6bd9e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_d0d670da-caea-4085-bbe3-2ed3b5976018" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_edaba36a-b7ab-4b92-a9cd-f50fc5c6bd9e" xlink:to="loc_us-gaap_ClassOfStockDomain_d0d670da-caea-4085-bbe3-2ed3b5976018" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassBMember_0545ee56-7b5f-4f76-9f60-e788e48cb48e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonClassBMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_d0d670da-caea-4085-bbe3-2ed3b5976018" xlink:to="loc_us-gaap_CommonClassBMember_0545ee56-7b5f-4f76-9f60-e788e48cb48e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_cfd5c5c7-b167-429e-bc6d-cf181716ecde" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_5ff78dae-2142-4a34-9d08-4ee828b39695" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_cfd5c5c7-b167-429e-bc6d-cf181716ecde" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ShareBasedPaymentArrangementPlanModificationNumberOfAwardsAffected_76097e71-c543-4bbc-a6a2-6780126ae615" xlink:href="fsly-20231231.xsd#fsly_ShareBasedPaymentArrangementPlanModificationNumberOfAwardsAffected"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_cfd5c5c7-b167-429e-bc6d-cf181716ecde" xlink:to="loc_fsly_ShareBasedPaymentArrangementPlanModificationNumberOfAwardsAffected_76097e71-c543-4bbc-a6a2-6780126ae615" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ShareBasedPaymentArrangementPlanModificationExerciseValueOfAwardsAffected_94ad824f-849b-41fd-ac9b-663d74428806" xlink:href="fsly-20231231.xsd#fsly_ShareBasedPaymentArrangementPlanModificationExerciseValueOfAwardsAffected"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_cfd5c5c7-b167-429e-bc6d-cf181716ecde" xlink:to="loc_fsly_ShareBasedPaymentArrangementPlanModificationExerciseValueOfAwardsAffected_94ad824f-849b-41fd-ac9b-663d74428806" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_3ed2ba2d-d0ac-4340-9bea-5e14df076089" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_cfd5c5c7-b167-429e-bc6d-cf181716ecde" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_3ed2ba2d-d0ac-4340-9bea-5e14df076089" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilities_dbb849b7-6dfa-4c49-9bfd-5159056894e9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilities"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_cfd5c5c7-b167-429e-bc6d-cf181716ecde" xlink:to="loc_us-gaap_OtherLiabilities_dbb849b7-6dfa-4c49-9bfd-5159056894e9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteAbstract_6cc942d8-1b82-4ebc-a210-1805f3297f25" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d084beca-194a-457b-a4d4-d5110b9cfd69" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityNoteAbstract_6cc942d8-1b82-4ebc-a210-1805f3297f25" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d084beca-194a-457b-a4d4-d5110b9cfd69" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_d7d3e69c-65d6-4cb4-a2d5-a4a939a020cc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d084beca-194a-457b-a4d4-d5110b9cfd69" xlink:to="loc_us-gaap_AwardTypeAxis_d7d3e69c-65d6-4cb4-a2d5-a4a939a020cc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_58f8770a-e5d7-4709-899b-c11b354044f3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_d7d3e69c-65d6-4cb4-a2d5-a4a939a020cc" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_58f8770a-e5d7-4709-899b-c11b354044f3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_ba5b7857-17e2-4e89-a4cf-7edf8ec97291" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_58f8770a-e5d7-4709-899b-c11b354044f3" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_ba5b7857-17e2-4e89-a4cf-7edf8ec97291" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember_22fd8612-a463-43b0-916c-c16976b371f9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_58f8770a-e5d7-4709-899b-c11b354044f3" xlink:to="loc_us-gaap_RestrictedStockMember_22fd8612-a463-43b0-916c-c16976b371f9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingAxis_4d279124-13d9-4a00-b4ea-456248f7e2f6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d084beca-194a-457b-a4d4-d5110b9cfd69" xlink:to="loc_us-gaap_VestingAxis_4d279124-13d9-4a00-b4ea-456248f7e2f6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VestingDomain_bf4f1f98-3776-4a6e-8baa-6f081b293d72" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VestingAxis_4d279124-13d9-4a00-b4ea-456248f7e2f6" xlink:to="loc_us-gaap_VestingDomain_bf4f1f98-3776-4a6e-8baa-6f081b293d72" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember_78f59d68-1b3c-4545-a292-7cac8e02d5cd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VestingDomain_bf4f1f98-3776-4a6e-8baa-6f081b293d72" xlink:to="loc_us-gaap_ShareBasedCompensationAwardTrancheOneMember_78f59d68-1b3c-4545-a292-7cac8e02d5cd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_8d74fe27-a59e-4b05-9f3f-0da3847fc168" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VestingDomain_bf4f1f98-3776-4a6e-8baa-6f081b293d72" xlink:to="loc_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_8d74fe27-a59e-4b05-9f3f-0da3847fc168" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_b1b69f97-0621-403f-abe7-ed652a3c3b19" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d084beca-194a-457b-a4d4-d5110b9cfd69" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_b1b69f97-0621-403f-abe7-ed652a3c3b19" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_a64b8705-1123-42eb-b04f-9965b1aeb4b2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_b1b69f97-0621-403f-abe7-ed652a3c3b19" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_a64b8705-1123-42eb-b04f-9965b1aeb4b2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_SignalSciencesCorpMember_9dc29655-2696-4ea6-a242-82cd540cc826" xlink:href="fsly-20231231.xsd#fsly_SignalSciencesCorpMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_a64b8705-1123-42eb-b04f-9965b1aeb4b2" xlink:to="loc_fsly_SignalSciencesCorpMember_9dc29655-2696-4ea6-a242-82cd540cc826" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_93edb7d8-f21c-4075-ba4e-6f98de5c56d7" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d084beca-194a-457b-a4d4-d5110b9cfd69" xlink:to="loc_srt_RangeAxis_93edb7d8-f21c-4075-ba4e-6f98de5c56d7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_c6ad56d3-c045-4213-95c2-be75b129252e" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_93edb7d8-f21c-4075-ba4e-6f98de5c56d7" xlink:to="loc_srt_RangeMember_c6ad56d3-c045-4213-95c2-be75b129252e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_9f47208f-421e-4472-ad71-6f0c6995f0c7" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_c6ad56d3-c045-4213-95c2-be75b129252e" xlink:to="loc_srt_MinimumMember_9f47208f-421e-4472-ad71-6f0c6995f0c7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_5c330dac-462a-41fc-9661-47790540d9a0" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_c6ad56d3-c045-4213-95c2-be75b129252e" xlink:to="loc_srt_MaximumMember_5c330dac-462a-41fc-9661-47790540d9a0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e875819d-a8d2-41ed-b5ef-cb53c3a6ad9c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d084beca-194a-457b-a4d4-d5110b9cfd69" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e875819d-a8d2-41ed-b5ef-cb53c3a6ad9c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_6706bdd6-77dd-43f5-8a7a-37f4b2d68c10" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e875819d-a8d2-41ed-b5ef-cb53c3a6ad9c" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_6706bdd6-77dd-43f5-8a7a-37f4b2d68c10" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_f028f67f-1f79-498d-8eab-7608597ace1d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e875819d-a8d2-41ed-b5ef-cb53c3a6ad9c" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_f028f67f-1f79-498d-8eab-7608597ace1d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_3a30372d-f5d3-4dfd-9019-a99c042c3215" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e875819d-a8d2-41ed-b5ef-cb53c3a6ad9c" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_3a30372d-f5d3-4dfd-9019-a99c042c3215" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodGrantDateFairValue_fd71bc78-cb58-412d-b240-0bd7a1ba0fcc" xlink:href="fsly-20231231.xsd#fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodGrantDateFairValue"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e875819d-a8d2-41ed-b5ef-cb53c3a6ad9c" xlink:to="loc_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodGrantDateFairValue_fd71bc78-cb58-412d-b240-0bd7a1ba0fcc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_d68ac088-e1a9-4ff5-8933-8200832d26e8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e875819d-a8d2-41ed-b5ef-cb53c3a6ad9c" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_d68ac088-e1a9-4ff5-8933-8200832d26e8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_5fee1e31-dc4c-41b8-b3cd-a48829cacf0d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e875819d-a8d2-41ed-b5ef-cb53c3a6ad9c" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_5fee1e31-dc4c-41b8-b3cd-a48829cacf0d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_6f7a9c03-b272-4b78-84c7-0be2dcf8b06f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e875819d-a8d2-41ed-b5ef-cb53c3a6ad9c" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_6f7a9c03-b272-4b78-84c7-0be2dcf8b06f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_StockIssuedDuringPeriodSharesAcquisitionSharesHeldBackForRestrictedStockAwards_b4f13b13-334f-443b-bf34-5b7afc36ea79" xlink:href="fsly-20231231.xsd#fsly_StockIssuedDuringPeriodSharesAcquisitionSharesHeldBackForRestrictedStockAwards"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e875819d-a8d2-41ed-b5ef-cb53c3a6ad9c" xlink:to="loc_fsly_StockIssuedDuringPeriodSharesAcquisitionSharesHeldBackForRestrictedStockAwards_b4f13b13-334f-443b-bf34-5b7afc36ea79" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_NumberOfCofoundersWithSharesSubjectToRevesting_e42f7ec9-c3db-4479-8002-7b1b6102c830" xlink:href="fsly-20231231.xsd#fsly_NumberOfCofoundersWithSharesSubjectToRevesting"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e875819d-a8d2-41ed-b5ef-cb53c3a6ad9c" xlink:to="loc_fsly_NumberOfCofoundersWithSharesSubjectToRevesting_e42f7ec9-c3db-4479-8002-7b1b6102c830" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_SharesHeldBackForRestrictedStockAwardsRevestingPeriod_eae326dd-bf9a-4cff-8ddb-05f3924b910c" xlink:href="fsly-20231231.xsd#fsly_SharesHeldBackForRestrictedStockAwardsRevestingPeriod"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e875819d-a8d2-41ed-b5ef-cb53c3a6ad9c" xlink:to="loc_fsly_SharesHeldBackForRestrictedStockAwardsRevestingPeriod_eae326dd-bf9a-4cff-8ddb-05f3924b910c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedAndSoldNumber_04cf3d64-10e6-4279-9e19-14d12bcfb9a9" xlink:href="fsly-20231231.xsd#fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedAndSoldNumber"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e875819d-a8d2-41ed-b5ef-cb53c3a6ad9c" xlink:to="loc_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedAndSoldNumber_04cf3d64-10e6-4279-9e19-14d12bcfb9a9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsProceedsFromNonvestedSharesSold_509c5623-ce6a-4a13-8306-6679edd54df8" xlink:href="fsly-20231231.xsd#fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsProceedsFromNonvestedSharesSold"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e875819d-a8d2-41ed-b5ef-cb53c3a6ad9c" xlink:to="loc_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsProceedsFromNonvestedSharesSold_509c5623-ce6a-4a13-8306-6679edd54df8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCost_7fe2f845-a4ac-4dd2-9f5a-e6bd52a1a2ed" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCost"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e875819d-a8d2-41ed-b5ef-cb53c3a6ad9c" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCost_7fe2f845-a4ac-4dd2-9f5a-e6bd52a1a2ed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/StockholdersEquityScheduleofRSURSAPSUandMPSUActivityDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#StockholdersEquityScheduleofRSURSAPSUandMPSUActivityDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/StockholdersEquityScheduleofRSURSAPSUandMPSUActivityDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteAbstract_8325d37a-8a86-45f3-a237-95c41267b18f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_488a4d37-47f5-48c0-b6e8-6a70f517900f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityNoteAbstract_8325d37a-8a86-45f3-a237-95c41267b18f" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_488a4d37-47f5-48c0-b6e8-6a70f517900f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_3aa0b797-675e-4094-95e3-b1a9b978902a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_488a4d37-47f5-48c0-b6e8-6a70f517900f" xlink:to="loc_us-gaap_AwardTypeAxis_3aa0b797-675e-4094-95e3-b1a9b978902a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5f32da0c-384c-482b-bcb0-d49a6e9cb7db" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_3aa0b797-675e-4094-95e3-b1a9b978902a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5f32da0c-384c-482b-bcb0-d49a6e9cb7db" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_03d98702-a91e-4de3-859b-61d85f1336cf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5f32da0c-384c-482b-bcb0-d49a6e9cb7db" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_03d98702-a91e-4de3-859b-61d85f1336cf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_6e4f35f7-f333-454c-bb90-6415919b2951" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PerformanceSharesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5f32da0c-384c-482b-bcb0-d49a6e9cb7db" xlink:to="loc_us-gaap_PerformanceSharesMember_6e4f35f7-f333-454c-bb90-6415919b2951" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_MarketBasedPerformanceStockAwardsMember_d5d8a460-92a1-4388-b10a-5295d85d02c8" xlink:href="fsly-20231231.xsd#fsly_MarketBasedPerformanceStockAwardsMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5f32da0c-384c-482b-bcb0-d49a6e9cb7db" xlink:to="loc_fsly_MarketBasedPerformanceStockAwardsMember_d5d8a460-92a1-4388-b10a-5295d85d02c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_16ce29ef-c268-4a31-8658-a92c867359d8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_488a4d37-47f5-48c0-b6e8-6a70f517900f" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_16ce29ef-c268-4a31-8658-a92c867359d8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_b73a244f-99ba-4fc3-9e77-00b40b37d759" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_16ce29ef-c268-4a31-8658-a92c867359d8" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_b73a244f-99ba-4fc3-9e77-00b40b37d759" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_a677d08f-081c-4dea-bdb9-0baae802aad8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_b73a244f-99ba-4fc3-9e77-00b40b37d759" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_a677d08f-081c-4dea-bdb9-0baae802aad8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_51f56fda-e0bb-434d-8909-f19bb8317051" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_b73a244f-99ba-4fc3-9e77-00b40b37d759" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_51f56fda-e0bb-434d-8909-f19bb8317051" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_159f4405-6f76-4b0e-a33d-b5d6db0a08f2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_b73a244f-99ba-4fc3-9e77-00b40b37d759" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_159f4405-6f76-4b0e-a33d-b5d6db0a08f2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_fcf624a0-a9f1-4b3f-a989-29d4f76b4d6c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_b73a244f-99ba-4fc3-9e77-00b40b37d759" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_fcf624a0-a9f1-4b3f-a989-29d4f76b4d6c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_08fd4dd6-cc77-4192-aea1-666c362b143f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_b73a244f-99ba-4fc3-9e77-00b40b37d759" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_08fd4dd6-cc77-4192-aea1-666c362b143f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_514e0079-a30a-403e-8104-5b382329e29c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_16ce29ef-c268-4a31-8658-a92c867359d8" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_514e0079-a30a-403e-8104-5b382329e29c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_bd069586-2d42-4d55-8798-33215b4f5fca" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_514e0079-a30a-403e-8104-5b382329e29c" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_bd069586-2d42-4d55-8798-33215b4f5fca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_429f8712-92b1-40a6-a002-03a64e5b0ccd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_514e0079-a30a-403e-8104-5b382329e29c" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_429f8712-92b1-40a6-a002-03a64e5b0ccd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_bb50747e-3a51-46af-94cf-723a253bbc2e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_514e0079-a30a-403e-8104-5b382329e29c" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_bb50747e-3a51-46af-94cf-723a253bbc2e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_09a60b2e-29ba-4839-a4c4-46df0c63b609" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_514e0079-a30a-403e-8104-5b382329e29c" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_09a60b2e-29ba-4839-a4c4-46df0c63b609" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_52f8a136-0bca-4cec-8885-4fa4f97f2375" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_514e0079-a30a-403e-8104-5b382329e29c" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_52f8a136-0bca-4cec-8885-4fa4f97f2375" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/StockholdersEquityPerformanceBasedRestrictedStockUnitsPSUsDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#StockholdersEquityPerformanceBasedRestrictedStockUnitsPSUsDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/StockholdersEquityPerformanceBasedRestrictedStockUnitsPSUsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteAbstract_7ca66f9f-3e7f-47f3-bf37-775e94a03730" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_bf0f3364-3f85-4ba8-88e4-9978008be806" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityNoteAbstract_7ca66f9f-3e7f-47f3-bf37-775e94a03730" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_bf0f3364-3f85-4ba8-88e4-9978008be806" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_4fd5e6fc-2cec-44fc-8bda-67810b9398fe" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_bf0f3364-3f85-4ba8-88e4-9978008be806" xlink:to="loc_us-gaap_AwardTypeAxis_4fd5e6fc-2cec-44fc-8bda-67810b9398fe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5e89d196-ff07-4911-9a87-904a2cf45166" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_4fd5e6fc-2cec-44fc-8bda-67810b9398fe" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5e89d196-ff07-4911-9a87-904a2cf45166" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_3a774bf3-ba6c-4286-99fb-56d7f7b6518f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PerformanceSharesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5e89d196-ff07-4911-9a87-904a2cf45166" xlink:to="loc_us-gaap_PerformanceSharesMember_3a774bf3-ba6c-4286-99fb-56d7f7b6518f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ShareBasedPaymentArrangementPerformanceTargetAxis_2a67f326-4256-4399-8161-9428c4d6c182" xlink:href="fsly-20231231.xsd#fsly_ShareBasedPaymentArrangementPerformanceTargetAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_bf0f3364-3f85-4ba8-88e4-9978008be806" xlink:to="loc_fsly_ShareBasedPaymentArrangementPerformanceTargetAxis_2a67f326-4256-4399-8161-9428c4d6c182" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ShareBasedPaymentArrangementPerformanceTargetDomain_917dfdc2-04ea-428e-89ef-3fe04fa4193c" xlink:href="fsly-20231231.xsd#fsly_ShareBasedPaymentArrangementPerformanceTargetDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_fsly_ShareBasedPaymentArrangementPerformanceTargetAxis_2a67f326-4256-4399-8161-9428c4d6c182" xlink:to="loc_fsly_ShareBasedPaymentArrangementPerformanceTargetDomain_917dfdc2-04ea-428e-89ef-3fe04fa4193c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_PerformanceTargetPayoutLevelOneMember_69f628b3-cab6-4bc1-904a-7a578ee4a231" xlink:href="fsly-20231231.xsd#fsly_PerformanceTargetPayoutLevelOneMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_fsly_ShareBasedPaymentArrangementPerformanceTargetDomain_917dfdc2-04ea-428e-89ef-3fe04fa4193c" xlink:to="loc_fsly_PerformanceTargetPayoutLevelOneMember_69f628b3-cab6-4bc1-904a-7a578ee4a231" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_PerformanceTargetPayoutLevelTwoMember_62489787-b956-4574-b986-b99441bd4e7b" xlink:href="fsly-20231231.xsd#fsly_PerformanceTargetPayoutLevelTwoMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_fsly_ShareBasedPaymentArrangementPerformanceTargetDomain_917dfdc2-04ea-428e-89ef-3fe04fa4193c" xlink:to="loc_fsly_PerformanceTargetPayoutLevelTwoMember_62489787-b956-4574-b986-b99441bd4e7b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_PerformanceTargetPayoutLevelThreeMember_cd5d9ab9-1152-4bc1-b836-e8271e222941" xlink:href="fsly-20231231.xsd#fsly_PerformanceTargetPayoutLevelThreeMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_fsly_ShareBasedPaymentArrangementPerformanceTargetDomain_917dfdc2-04ea-428e-89ef-3fe04fa4193c" xlink:to="loc_fsly_PerformanceTargetPayoutLevelThreeMember_cd5d9ab9-1152-4bc1-b836-e8271e222941" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_0244804a-254e-4734-bfb2-a02e38eec8dd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_bf0f3364-3f85-4ba8-88e4-9978008be806" xlink:to="loc_us-gaap_PlanNameAxis_0244804a-254e-4734-bfb2-a02e38eec8dd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_49afd419-640b-4a84-9fb2-3281c6c65f56" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameAxis_0244804a-254e-4734-bfb2-a02e38eec8dd" xlink:to="loc_us-gaap_PlanNameDomain_49afd419-640b-4a84-9fb2-3281c6c65f56" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_A2023And2022BonusProgramMember_74f31a27-1b17-4436-a472-58e24dd751d5" xlink:href="fsly-20231231.xsd#fsly_A2023And2022BonusProgramMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_49afd419-640b-4a84-9fb2-3281c6c65f56" xlink:to="loc_fsly_A2023And2022BonusProgramMember_74f31a27-1b17-4436-a472-58e24dd751d5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_A2022BonusProgramMember_c2f0ab19-ce7c-402f-a0b4-fb2a565e9ea0" xlink:href="fsly-20231231.xsd#fsly_A2022BonusProgramMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_49afd419-640b-4a84-9fb2-3281c6c65f56" xlink:to="loc_fsly_A2022BonusProgramMember_c2f0ab19-ce7c-402f-a0b4-fb2a565e9ea0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3cd5e45c-f9fe-4d92-ae22-081ab1dde6e7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_bf0f3364-3f85-4ba8-88e4-9978008be806" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3cd5e45c-f9fe-4d92-ae22-081ab1dde6e7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_be8297f7-f2e2-473b-9258-7ddd4b6c37d2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3cd5e45c-f9fe-4d92-ae22-081ab1dde6e7" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_be8297f7-f2e2-473b-9258-7ddd4b6c37d2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_StockIssuedDuringPeriodSharesRestrictedStockAwardBonusProgram_97ece838-63ad-401f-8eb9-c978d4baa548" xlink:href="fsly-20231231.xsd#fsly_StockIssuedDuringPeriodSharesRestrictedStockAwardBonusProgram"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3cd5e45c-f9fe-4d92-ae22-081ab1dde6e7" xlink:to="loc_fsly_StockIssuedDuringPeriodSharesRestrictedStockAwardBonusProgram_97ece838-63ad-401f-8eb9-c978d4baa548" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_StockIssuedDuringPeriodValueRestrictedStockAwardBonusProgram_cdbb7f2e-e8ec-40cb-8e58-12691b5b3be9" xlink:href="fsly-20231231.xsd#fsly_StockIssuedDuringPeriodValueRestrictedStockAwardBonusProgram"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3cd5e45c-f9fe-4d92-ae22-081ab1dde6e7" xlink:to="loc_fsly_StockIssuedDuringPeriodValueRestrictedStockAwardBonusProgram_cdbb7f2e-e8ec-40cb-8e58-12691b5b3be9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_PayoutOfPerformanceBasedRestrictedStockUnitsPercentage_a776a64b-30f1-4ca8-9996-22173727b330" xlink:href="fsly-20231231.xsd#fsly_PayoutOfPerformanceBasedRestrictedStockUnitsPercentage"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3cd5e45c-f9fe-4d92-ae22-081ab1dde6e7" xlink:to="loc_fsly_PayoutOfPerformanceBasedRestrictedStockUnitsPercentage_a776a64b-30f1-4ca8-9996-22173727b330" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/StockholdersEquityMPSUDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#StockholdersEquityMPSUDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/StockholdersEquityMPSUDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteAbstract_069c3475-492d-4903-b091-19503bf5ff04" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b3412ea4-d692-4d52-8099-6f0f1e711965" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityNoteAbstract_069c3475-492d-4903-b091-19503bf5ff04" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b3412ea4-d692-4d52-8099-6f0f1e711965" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_f7f66fdb-8406-4624-935b-4d316a2e769a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b3412ea4-d692-4d52-8099-6f0f1e711965" xlink:to="loc_us-gaap_AwardTypeAxis_f7f66fdb-8406-4624-935b-4d316a2e769a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d7ee7c00-3447-4e1f-8bad-495ab4a563d3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_f7f66fdb-8406-4624-935b-4d316a2e769a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d7ee7c00-3447-4e1f-8bad-495ab4a563d3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_MarketBasedPerformanceStockAwardsMember_7d917e71-8796-424f-b65b-d48696d7594f" xlink:href="fsly-20231231.xsd#fsly_MarketBasedPerformanceStockAwardsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d7ee7c00-3447-4e1f-8bad-495ab4a563d3" xlink:to="loc_fsly_MarketBasedPerformanceStockAwardsMember_7d917e71-8796-424f-b65b-d48696d7594f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b936eb3a-67e1-4a8a-9f1e-c1f804a4b5fb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b3412ea4-d692-4d52-8099-6f0f1e711965" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b936eb3a-67e1-4a8a-9f1e-c1f804a4b5fb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_43db862c-15d6-44eb-96b5-a3c1b30e28ae" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b936eb3a-67e1-4a8a-9f1e-c1f804a4b5fb" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_43db862c-15d6-44eb-96b5-a3c1b30e28ae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_34fed464-0611-48ff-92be-6e602c3f2e42" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b936eb3a-67e1-4a8a-9f1e-c1f804a4b5fb" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_34fed464-0611-48ff-92be-6e602c3f2e42" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_0e39ab75-4470-4953-bbaf-c4adb9d30d3a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b936eb3a-67e1-4a8a-9f1e-c1f804a4b5fb" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_0e39ab75-4470-4953-bbaf-c4adb9d30d3a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_25471610-b253-460b-bfb1-edb136f4aa8b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b936eb3a-67e1-4a8a-9f1e-c1f804a4b5fb" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_25471610-b253-460b-bfb1-edb136f4aa8b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_09f5131c-7ee9-444a-87b2-b1fd1acb37dc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b936eb3a-67e1-4a8a-9f1e-c1f804a4b5fb" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_09f5131c-7ee9-444a-87b2-b1fd1acb37dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_4535613d-608d-40c7-bd71-ba4e432a1ff6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b936eb3a-67e1-4a8a-9f1e-c1f804a4b5fb" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_4535613d-608d-40c7-bd71-ba4e432a1ff6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/StockholdersEquityESPPDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#StockholdersEquityESPPDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/StockholdersEquityESPPDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteAbstract_049c87c9-6a78-48dd-8f42-53bc137c63b4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_70d100c4-0a43-4cc7-beff-2cf82aaebb76" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityNoteAbstract_049c87c9-6a78-48dd-8f42-53bc137c63b4" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_70d100c4-0a43-4cc7-beff-2cf82aaebb76" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_5918c04f-f3cd-4f3d-ad8e-d6a0dcfbf0ee" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_70d100c4-0a43-4cc7-beff-2cf82aaebb76" xlink:to="loc_us-gaap_AwardTypeAxis_5918c04f-f3cd-4f3d-ad8e-d6a0dcfbf0ee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d2d60152-871c-4d87-8302-d46fd5e783a4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_5918c04f-f3cd-4f3d-ad8e-d6a0dcfbf0ee" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d2d60152-871c-4d87-8302-d46fd5e783a4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockMember_27d53616-06ff-4afc-9534-a6a502ad8e28" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d2d60152-871c-4d87-8302-d46fd5e783a4" xlink:to="loc_us-gaap_EmployeeStockMember_27d53616-06ff-4afc-9534-a6a502ad8e28" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_8df600d0-f3cb-492d-b8ab-d2ea648926d5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_70d100c4-0a43-4cc7-beff-2cf82aaebb76" xlink:to="loc_us-gaap_StatementClassOfStockAxis_8df600d0-f3cb-492d-b8ab-d2ea648926d5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_61677ed7-f840-4d33-ab59-1dbbc6ca7c96" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_8df600d0-f3cb-492d-b8ab-d2ea648926d5" xlink:to="loc_us-gaap_ClassOfStockDomain_61677ed7-f840-4d33-ab59-1dbbc6ca7c96" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember_09b522b0-b880-446d-bc79-98c6e3b63cb0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonClassAMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_61677ed7-f840-4d33-ab59-1dbbc6ca7c96" xlink:to="loc_us-gaap_CommonClassAMember_09b522b0-b880-446d-bc79-98c6e3b63cb0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_e81e88b4-48b7-4a0b-a58e-0a357f388a5a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_70d100c4-0a43-4cc7-beff-2cf82aaebb76" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_e81e88b4-48b7-4a0b-a58e-0a357f388a5a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_2dbc5cb5-1154-45d9-a801-a23c7e85544a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_e81e88b4-48b7-4a0b-a58e-0a357f388a5a" xlink:to="loc_us-gaap_EquityComponentDomain_2dbc5cb5-1154-45d9-a801-a23c7e85544a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_dc5d9242-a408-434f-b8da-3a2b9e0d3512" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_2dbc5cb5-1154-45d9-a801-a23c7e85544a" xlink:to="loc_us-gaap_CommonStockMember_dc5d9242-a408-434f-b8da-3a2b9e0d3512" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3ec6f209-478f-4246-947b-503677ac2317" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_70d100c4-0a43-4cc7-beff-2cf82aaebb76" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3ec6f209-478f-4246-947b-503677ac2317" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate_f1881d7d-7fc1-4e03-b079-95a6d8772301" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3ec6f209-478f-4246-947b-503677ac2317" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate_f1881d7d-7fc1-4e03-b079-95a6d8772301" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_SharebasedCompensationArrangementbySharebasedPaymentAwardStockPlanOfferingPeriod_6b5ae75e-daeb-4e62-b6e2-84da618b5e90" xlink:href="fsly-20231231.xsd#fsly_SharebasedCompensationArrangementbySharebasedPaymentAwardStockPlanOfferingPeriod"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3ec6f209-478f-4246-947b-503677ac2317" xlink:to="loc_fsly_SharebasedCompensationArrangementbySharebasedPaymentAwardStockPlanOfferingPeriod_6b5ae75e-daeb-4e62-b6e2-84da618b5e90" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_31674460-b66f-4043-a99f-8fbada4dae48" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3ec6f209-478f-4246-947b-503677ac2317" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_31674460-b66f-4043-a99f-8fbada4dae48" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_aeede625-2b57-4ffe-9d5b-5309ff76b010" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3ec6f209-478f-4246-947b-503677ac2317" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_aeede625-2b57-4ffe-9d5b-5309ff76b010" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_f49bf606-decc-4cc7-bd11-a4d3900da86d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3ec6f209-478f-4246-947b-503677ac2317" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_f49bf606-decc-4cc7-bd11-a4d3900da86d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_c95b316b-5845-448c-a5fb-412537461a51" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3ec6f209-478f-4246-947b-503677ac2317" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_c95b316b-5845-448c-a5fb-412537461a51" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_9fa0b503-d6c1-4d37-8452-8cdeb4a93455" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3ec6f209-478f-4246-947b-503677ac2317" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_9fa0b503-d6c1-4d37-8452-8cdeb4a93455" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/StockholdersEquityFairValueAssumptionsESPPDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#StockholdersEquityFairValueAssumptionsESPPDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/StockholdersEquityFairValueAssumptionsESPPDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteAbstract_471e345c-3668-4b51-928d-27a079651990" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8d4f705b-3b0e-4fd2-9263-eccead908229" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityNoteAbstract_471e345c-3668-4b51-928d-27a079651990" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8d4f705b-3b0e-4fd2-9263-eccead908229" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_9b2f45f6-81b6-42b2-aaff-37bd14b2d8cd" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8d4f705b-3b0e-4fd2-9263-eccead908229" xlink:to="loc_srt_RangeAxis_9b2f45f6-81b6-42b2-aaff-37bd14b2d8cd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_462e759d-48e4-4f9e-b056-32cd4eaacac1" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_9b2f45f6-81b6-42b2-aaff-37bd14b2d8cd" xlink:to="loc_srt_RangeMember_462e759d-48e4-4f9e-b056-32cd4eaacac1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_0aa1a229-966e-4681-823f-92452c62c9ef" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_462e759d-48e4-4f9e-b056-32cd4eaacac1" xlink:to="loc_srt_MinimumMember_0aa1a229-966e-4681-823f-92452c62c9ef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_b935857b-232c-4a92-b632-b2c3b5d7135f" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_462e759d-48e4-4f9e-b056-32cd4eaacac1" xlink:to="loc_srt_MaximumMember_b935857b-232c-4a92-b632-b2c3b5d7135f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_7130cc05-a843-4ec5-be6a-42381942a581" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8d4f705b-3b0e-4fd2-9263-eccead908229" xlink:to="loc_us-gaap_AwardTypeAxis_7130cc05-a843-4ec5-be6a-42381942a581" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_626fce8f-811c-43d7-83df-18b972560226" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_7130cc05-a843-4ec5-be6a-42381942a581" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_626fce8f-811c-43d7-83df-18b972560226" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockMember_aa56c728-9143-4183-bd01-1282a5ea11ea" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_626fce8f-811c-43d7-83df-18b972560226" xlink:to="loc_us-gaap_EmployeeStockMember_aa56c728-9143-4183-bd01-1282a5ea11ea" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_04f78628-6838-47eb-b7c2-e505b4d4a70a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8d4f705b-3b0e-4fd2-9263-eccead908229" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_04f78628-6838-47eb-b7c2-e505b4d4a70a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharePrice_f5af2016-cb3a-4797-bef5-5c9cfc660bd3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharePrice"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_04f78628-6838-47eb-b7c2-e505b4d4a70a" xlink:to="loc_us-gaap_SharePrice_f5af2016-cb3a-4797-bef5-5c9cfc660bd3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_97fe5bf8-95c9-4ba1-9ebc-bf1058ef459b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_04f78628-6838-47eb-b7c2-e505b4d4a70a" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_97fe5bf8-95c9-4ba1-9ebc-bf1058ef459b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_d43ee829-a174-4eb5-98ed-c9c14757fbf1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_04f78628-6838-47eb-b7c2-e505b4d4a70a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum_d43ee829-a174-4eb5-98ed-c9c14757fbf1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_3a6bffc7-c2f3-4fc2-bf9f-76a27cf60b39" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_04f78628-6838-47eb-b7c2-e505b4d4a70a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum_3a6bffc7-c2f3-4fc2-bf9f-76a27cf60b39" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_ed7c8c31-4147-4d70-b7b4-36f9ba8f9711" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_04f78628-6838-47eb-b7c2-e505b4d4a70a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum_ed7c8c31-4147-4d70-b7b4-36f9ba8f9711" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_49c0ffe4-a82b-4cc3-b23e-c42e5def045f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_04f78628-6838-47eb-b7c2-e505b4d4a70a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum_49c0ffe4-a82b-4cc3-b23e-c42e5def045f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_6adeb8e1-93cb-4813-b1d3-732db3eb03aa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_04f78628-6838-47eb-b7c2-e505b4d4a70a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_6adeb8e1-93cb-4813-b1d3-732db3eb03aa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/StockholdersEquityEquityAwardsModificationDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#StockholdersEquityEquityAwardsModificationDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/StockholdersEquityEquityAwardsModificationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteAbstract_173b496f-f9d8-4e29-9768-4fdba5882e2e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_5e2b2b47-887c-43b0-8a6b-8bc05a74cd5b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityNoteAbstract_173b496f-f9d8-4e29-9768-4fdba5882e2e" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_5e2b2b47-887c-43b0-8a6b-8bc05a74cd5b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_a2d9f871-0dd9-4be8-a384-9679dffa3628" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_5e2b2b47-887c-43b0-8a6b-8bc05a74cd5b" xlink:to="loc_us-gaap_AwardTypeAxis_a2d9f871-0dd9-4be8-a384-9679dffa3628" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_c3e6647e-6891-46fa-8c7c-9bdc6eee6b29" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_a2d9f871-0dd9-4be8-a384-9679dffa3628" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_c3e6647e-6891-46fa-8c7c-9bdc6eee6b29" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockCompensationPlanMember_46aa0503-3bcb-4a23-874b-18bfcbac1bb7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockCompensationPlanMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_c3e6647e-6891-46fa-8c7c-9bdc6eee6b29" xlink:to="loc_us-gaap_StockCompensationPlanMember_46aa0503-3bcb-4a23-874b-18bfcbac1bb7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0e875fe6-b284-4a5e-a138-deb5a3012b73" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_5e2b2b47-887c-43b0-8a6b-8bc05a74cd5b" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0e875fe6-b284-4a5e-a138-deb5a3012b73" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost_988830bd-71f1-4e66-8bd7-70f5d777869b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0e875fe6-b284-4a5e-a138-deb5a3012b73" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost_988830bd-71f1-4e66-8bd7-70f5d777869b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/StockholdersEquityStockbasedCompensationExpenseDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#StockholdersEquityStockbasedCompensationExpenseDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/StockholdersEquityStockbasedCompensationExpenseDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteAbstract_a88f9163-e6f5-45a2-8d6a-7464bfe5a372" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_7f9783a0-43f8-4657-b26f-a95b2601cab7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityNoteAbstract_a88f9163-e6f5-45a2-8d6a-7464bfe5a372" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_7f9783a0-43f8-4657-b26f-a95b2601cab7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_62f644e7-1b22-4c52-8c0f-77822b257efb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_7f9783a0-43f8-4657-b26f-a95b2601cab7" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_62f644e7-1b22-4c52-8c0f-77822b257efb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_cc8c7d2d-c93b-4a42-a0a4-0800d4329f12" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_62f644e7-1b22-4c52-8c0f-77822b257efb" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_cc8c7d2d-c93b-4a42-a0a4-0800d4329f12" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember_b2eb81d5-e102-4ec9-a740-ad15f535d234" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfSalesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_cc8c7d2d-c93b-4a42-a0a4-0800d4329f12" xlink:to="loc_us-gaap_CostOfSalesMember_b2eb81d5-e102-4ec9-a740-ad15f535d234" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_08be43b4-1ecb-4971-9b14-d5122d421bfb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpenseMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_cc8c7d2d-c93b-4a42-a0a4-0800d4329f12" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseMember_08be43b4-1ecb-4971-9b14-d5122d421bfb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingAndMarketingExpenseMember_6bc08588-f2f0-411e-9432-b34213872d17" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpenseMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_cc8c7d2d-c93b-4a42-a0a4-0800d4329f12" xlink:to="loc_us-gaap_SellingAndMarketingExpenseMember_6bc08588-f2f0-411e-9432-b34213872d17" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpenseMember_5fb17ba7-bfac-4f9f-9454-961dde9e0fe1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpenseMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_cc8c7d2d-c93b-4a42-a0a4-0800d4329f12" xlink:to="loc_us-gaap_GeneralAndAdministrativeExpenseMember_5fb17ba7-bfac-4f9f-9454-961dde9e0fe1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_15807b48-5efb-450d-83d6-4509bc36801d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_7f9783a0-43f8-4657-b26f-a95b2601cab7" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_15807b48-5efb-450d-83d6-4509bc36801d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_9531bb2b-daae-4a1a-b668-7da3ad6d2bc5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_15807b48-5efb-450d-83d6-4509bc36801d" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_9531bb2b-daae-4a1a-b668-7da3ad6d2bc5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/StockholdersEquityCommonStockWarrantLiabilitiesDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#StockholdersEquityCommonStockWarrantLiabilitiesDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/StockholdersEquityCommonStockWarrantLiabilitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteAbstract_971d7af7-631e-40dc-920d-7d008ade8a24" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfStockByClassTable_e2039f0d-1704-47fb-a18a-1d4ff0194c8c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfStockByClassTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityNoteAbstract_971d7af7-631e-40dc-920d-7d008ade8a24" xlink:to="loc_us-gaap_ScheduleOfStockByClassTable_e2039f0d-1704-47fb-a18a-1d4ff0194c8c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_5863175a-9ab9-4045-9ff6-6261ea495a79" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_e2039f0d-1704-47fb-a18a-1d4ff0194c8c" xlink:to="loc_us-gaap_AwardTypeAxis_5863175a-9ab9-4045-9ff6-6261ea495a79" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_38ad2160-61fc-4865-93e9-cb37f11e2190" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_5863175a-9ab9-4045-9ff6-6261ea495a79" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_38ad2160-61fc-4865-93e9-cb37f11e2190" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_LiabilityClassifiedAwardsMember_1ce30d55-a005-43d9-9c95-fff7c1626e8d" xlink:href="fsly-20231231.xsd#fsly_LiabilityClassifiedAwardsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_38ad2160-61fc-4865-93e9-cb37f11e2190" xlink:to="loc_fsly_LiabilityClassifiedAwardsMember_1ce30d55-a005-43d9-9c95-fff7c1626e8d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockLineItems_f4e27d5f-7c26-4f96-a8d5-154701556a7b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_e2039f0d-1704-47fb-a18a-1d4ff0194c8c" xlink:to="loc_us-gaap_ClassOfStockLineItems_f4e27d5f-7c26-4f96-a8d5-154701556a7b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount_d1029046-4e57-451b-ba6a-15b280f257b6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_f4e27d5f-7c26-4f96-a8d5-154701556a7b" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount_d1029046-4e57-451b-ba6a-15b280f257b6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_4ef3fea2-e767-45fd-81bd-5b0d03dc2a43" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_f4e27d5f-7c26-4f96-a8d5-154701556a7b" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_4ef3fea2-e767-45fd-81bd-5b0d03dc2a43" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/StockholdersEquityEarlyExerciseofStockDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#StockholdersEquityEarlyExerciseofStockDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/StockholdersEquityEarlyExerciseofStockDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteAbstract_fca7f55b-0b5e-41b2-b4ec-db84b13752e8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_00d911de-8179-41df-8490-056c5a2fb828" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityNoteAbstract_fca7f55b-0b5e-41b2-b4ec-db84b13752e8" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_00d911de-8179-41df-8490-056c5a2fb828" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_0208fd68-5d2b-4a5b-a745-ee797f2d05fb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_00d911de-8179-41df-8490-056c5a2fb828" xlink:to="loc_us-gaap_AwardTypeAxis_0208fd68-5d2b-4a5b-a745-ee797f2d05fb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_bf46403c-42ef-405c-a2f0-9b748250eb44" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_0208fd68-5d2b-4a5b-a745-ee797f2d05fb" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_bf46403c-42ef-405c-a2f0-9b748250eb44" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember_1ac9c12d-fdb7-4968-9966-78eb7666b326" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_bf46403c-42ef-405c-a2f0-9b748250eb44" xlink:to="loc_us-gaap_EmployeeStockOptionMember_1ac9c12d-fdb7-4968-9966-78eb7666b326" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_0b00db7e-fcb6-4c3d-8be8-7c60e1f7478e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_00d911de-8179-41df-8490-056c5a2fb828" xlink:to="loc_us-gaap_StatementClassOfStockAxis_0b00db7e-fcb6-4c3d-8be8-7c60e1f7478e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_da6fbb58-e73f-4b68-b3bd-657d5c077ec4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_0b00db7e-fcb6-4c3d-8be8-7c60e1f7478e" xlink:to="loc_us-gaap_ClassOfStockDomain_da6fbb58-e73f-4b68-b3bd-657d5c077ec4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassBMember_244574dc-faba-471e-a341-2ac8b1afda68" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonClassBMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_da6fbb58-e73f-4b68-b3bd-657d5c077ec4" xlink:to="loc_us-gaap_CommonClassBMember_244574dc-faba-471e-a341-2ac8b1afda68" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_8e17c1d0-503c-432c-8c85-16d7872f9abc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_00d911de-8179-41df-8490-056c5a2fb828" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_8e17c1d0-503c-432c-8c85-16d7872f9abc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ShareBasedPaymentArrangementPlanModificationNumberOfAwardsAffected_5818981f-3564-4dc3-9d97-e2bbcd0e5953" xlink:href="fsly-20231231.xsd#fsly_ShareBasedPaymentArrangementPlanModificationNumberOfAwardsAffected"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_8e17c1d0-503c-432c-8c85-16d7872f9abc" xlink:to="loc_fsly_ShareBasedPaymentArrangementPlanModificationNumberOfAwardsAffected_5818981f-3564-4dc3-9d97-e2bbcd0e5953" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_ShareBasedPaymentArrangementPlanModificationExerciseValueOfAwardsAffected_b7a917fd-4561-481b-8a37-864a32a187ba" xlink:href="fsly-20231231.xsd#fsly_ShareBasedPaymentArrangementPlanModificationExerciseValueOfAwardsAffected"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_8e17c1d0-503c-432c-8c85-16d7872f9abc" xlink:to="loc_fsly_ShareBasedPaymentArrangementPlanModificationExerciseValueOfAwardsAffected_b7a917fd-4561-481b-8a37-864a32a187ba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_36da9ac3-a8cd-4df7-945c-0591e1e58714" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_8e17c1d0-503c-432c-8c85-16d7872f9abc" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_36da9ac3-a8cd-4df7-945c-0591e1e58714" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilities_cb2d481c-dc4b-464c-b7e0-4df83ef0de14" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilities"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_8e17c1d0-503c-432c-8c85-16d7872f9abc" xlink:to="loc_us-gaap_OtherLiabilities_cb2d481c-dc4b-464c-b7e0-4df83ef0de14" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofComputationofBasicandDilutedNetLossPerShareofCommonStockDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#NetLossPerShareAttributabletoCommonStockholdersScheduleofComputationofBasicandDilutedNetLossPerShareofCommonStockDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofComputationofBasicandDilutedNetLossPerShareofCommonStockDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_7b763408-d899-48d3-ab79-3a267ecac8d9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfStockByClassTable_8d7c96f5-e12c-4b6f-a0e1-bd70862d11ab" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfStockByClassTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_7b763408-d899-48d3-ab79-3a267ecac8d9" xlink:to="loc_us-gaap_ScheduleOfStockByClassTable_8d7c96f5-e12c-4b6f-a0e1-bd70862d11ab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_c340a831-96e2-4222-90f5-f413882cf1a7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_8d7c96f5-e12c-4b6f-a0e1-bd70862d11ab" xlink:to="loc_us-gaap_StatementClassOfStockAxis_c340a831-96e2-4222-90f5-f413882cf1a7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_756f6a12-95f6-4978-9033-9ee38b0b0243" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_c340a831-96e2-4222-90f5-f413882cf1a7" xlink:to="loc_us-gaap_ClassOfStockDomain_756f6a12-95f6-4978-9033-9ee38b0b0243" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassAMember_12c7fa76-b370-4177-8ea2-0a631acc6b12" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonClassAMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_756f6a12-95f6-4978-9033-9ee38b0b0243" xlink:to="loc_us-gaap_CommonClassAMember_12c7fa76-b370-4177-8ea2-0a631acc6b12" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonClassBMember_0729fbef-5775-44bd-a703-1354e7b26459" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonClassBMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_756f6a12-95f6-4978-9033-9ee38b0b0243" xlink:to="loc_us-gaap_CommonClassBMember_0729fbef-5775-44bd-a703-1354e7b26459" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_d90b5b16-7eef-43a9-b178-7006c11b2f2c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_8d7c96f5-e12c-4b6f-a0e1-bd70862d11ab" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_d90b5b16-7eef-43a9-b178-7006c11b2f2c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_c89cef15-d311-47eb-ae4f-255d9082d8f0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_d90b5b16-7eef-43a9-b178-7006c11b2f2c" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_c89cef15-d311-47eb-ae4f-255d9082d8f0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IPOMember_40a72119-7b83-421d-b1d4-8f8d889a75dc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IPOMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_c89cef15-d311-47eb-ae4f-255d9082d8f0" xlink:to="loc_us-gaap_IPOMember_40a72119-7b83-421d-b1d4-8f8d889a75dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockLineItems_d86331b1-6374-4aa2-8535-b4db3151a7a4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_8d7c96f5-e12c-4b6f-a0e1-bd70862d11ab" xlink:to="loc_us-gaap_ClassOfStockLineItems_d86331b1-6374-4aa2-8535-b4db3151a7a4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_f9200f1a-5cb3-4171-9527-bfe276e9250a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_d86331b1-6374-4aa2-8535-b4db3151a7a4" xlink:to="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_f9200f1a-5cb3-4171-9527-bfe276e9250a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted_fc2e1a5f-1a87-4129-8b2b-ce81b9389447" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_d86331b1-6374-4aa2-8535-b4db3151a7a4" xlink:to="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted_fc2e1a5f-1a87-4129-8b2b-ce81b9389447" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_b40ee32f-1898-4143-933b-5b2ae8c32f47" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_d86331b1-6374-4aa2-8535-b4db3151a7a4" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_b40ee32f-1898-4143-933b-5b2ae8c32f47" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_e94e5dea-892a-41e2-8fa9-2e507d1b5ca6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_d86331b1-6374-4aa2-8535-b4db3151a7a4" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_e94e5dea-892a-41e2-8fa9-2e507d1b5ca6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic_5a4777a3-38c1-4027-8008-321b697669a3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_d86331b1-6374-4aa2-8535-b4db3151a7a4" xlink:to="loc_us-gaap_EarningsPerShareBasic_5a4777a3-38c1-4027-8008-321b697669a3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted_315af8be-7968-43ed-b7d8-e6c020f8e1eb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_d86331b1-6374-4aa2-8535-b4db3151a7a4" xlink:to="loc_us-gaap_EarningsPerShareDiluted_315af8be-7968-43ed-b7d8-e6c020f8e1eb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues_c53eb684-fb6d-4a80-93c4-17431d1d39d9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_d86331b1-6374-4aa2-8535-b4db3151a7a4" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues_c53eb684-fb6d-4a80-93c4-17431d1d39d9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_13c95374-8297-4810-892a-a8d12f1047fe" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_d86331b1-6374-4aa2-8535-b4db3151a7a4" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_13c95374-8297-4810-892a-a8d12f1047fe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#NetLossPerShareAttributabletoCommonStockholdersScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_9fe0bdf0-1207-4bc4-9c27-f227eade836d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_2ba8f4b6-2f91-4d08-9fc9-9740ab4f8ce8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_9fe0bdf0-1207-4bc4-9c27-f227eade836d" xlink:to="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_2ba8f4b6-2f91-4d08-9fc9-9740ab4f8ce8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_7ebf4571-9c80-46a8-a7cd-6a5446cf3774" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_2ba8f4b6-2f91-4d08-9fc9-9740ab4f8ce8" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_7ebf4571-9c80-46a8-a7cd-6a5446cf3774" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesNameDomain_0880615f-f2ba-45b6-bd94-e4da668dff25" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_7ebf4571-9c80-46a8-a7cd-6a5446cf3774" xlink:to="loc_us-gaap_AntidilutiveSecuritiesNameDomain_0880615f-f2ba-45b6-bd94-e4da668dff25" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember_8b25a4ac-1149-46dc-9c54-8221ca053d2e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_0880615f-f2ba-45b6-bd94-e4da668dff25" xlink:to="loc_us-gaap_EmployeeStockOptionMember_8b25a4ac-1149-46dc-9c54-8221ca053d2e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_ad6bbfc8-0ec1-46bd-8d04-0f72a439207d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_0880615f-f2ba-45b6-bd94-e4da668dff25" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_ad6bbfc8-0ec1-46bd-8d04-0f72a439207d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_RevestSharesMember_ce7b8cc7-003c-42f6-894e-158aba76b6d5" xlink:href="fsly-20231231.xsd#fsly_RevestSharesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_0880615f-f2ba-45b6-bd94-e4da668dff25" xlink:to="loc_fsly_RevestSharesMember_ce7b8cc7-003c-42f6-894e-158aba76b6d5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_20605208-ca01-46d4-b7b6-61334e26cd0b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PerformanceSharesMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_0880615f-f2ba-45b6-bd94-e4da668dff25" xlink:to="loc_us-gaap_PerformanceSharesMember_20605208-ca01-46d4-b7b6-61334e26cd0b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_MarketBasedPerformanceStockAwardsMember_7af5e7e2-c9f6-4e2e-a0bb-81edb0ee761e" xlink:href="fsly-20231231.xsd#fsly_MarketBasedPerformanceStockAwardsMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_0880615f-f2ba-45b6-bd94-e4da668dff25" xlink:to="loc_fsly_MarketBasedPerformanceStockAwardsMember_7af5e7e2-c9f6-4e2e-a0bb-81edb0ee761e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_BonusPSUsMember_3d33149f-26e1-44fc-84be-8f1e50cb730f" xlink:href="fsly-20231231.xsd#fsly_BonusPSUsMember"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_0880615f-f2ba-45b6-bd94-e4da668dff25" xlink:to="loc_fsly_BonusPSUsMember_3d33149f-26e1-44fc-84be-8f1e50cb730f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockMember_eeec3325-b884-4460-882a-46f2e95849ca" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockMember"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_0880615f-f2ba-45b6-bd94-e4da668dff25" xlink:to="loc_us-gaap_EmployeeStockMember_eeec3325-b884-4460-882a-46f2e95849ca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertibleDebtSecuritiesMember_738e7a33-8397-4728-96a8-bcf79329c9ac" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtSecuritiesMember"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_0880615f-f2ba-45b6-bd94-e4da668dff25" xlink:to="loc_us-gaap_ConvertibleDebtSecuritiesMember_738e7a33-8397-4728-96a8-bcf79329c9ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_2d9e4caf-0c4c-4d13-926b-feb3c879c602" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_2ba8f4b6-2f91-4d08-9fc9-9740ab4f8ce8" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_2d9e4caf-0c4c-4d13-926b-feb3c879c602" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_ab46a9ff-12ab-4d19-8cf8-d864229b49da" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_2d9e4caf-0c4c-4d13-926b-feb3c879c602" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_ab46a9ff-12ab-4d19-8cf8-d864229b49da" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/IncomeTaxesLossBeforeIncomeTaxesDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#IncomeTaxesLossBeforeIncomeTaxesDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/IncomeTaxesLossBeforeIncomeTaxesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_ea461888-9e16-4427-9971-ebfd6fafaf04" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_ac5d86b0-fdd6-4258-a090-619edb368481" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_ea461888-9e16-4427-9971-ebfd6fafaf04" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_ac5d86b0-fdd6-4258-a090-619edb368481" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_87156983-a291-4df9-b352-c17194635468" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_ea461888-9e16-4427-9971-ebfd6fafaf04" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_87156983-a291-4df9-b352-c17194635468" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_50d89dc4-de31-4d12-be4d-4b9410065ce2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_ea461888-9e16-4427-9971-ebfd6fafaf04" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_50d89dc4-de31-4d12-be4d-4b9410065ce2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/IncomeTaxesIncomeTaxExpenseDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#IncomeTaxesIncomeTaxExpenseDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/IncomeTaxesIncomeTaxExpenseDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_941698c7-6fd7-4cd8-8880-77d46446c0af" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_8a0e41dc-e9d2-4bcb-b090-43cb4fdeeead" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_941698c7-6fd7-4cd8-8880-77d46446c0af" xlink:to="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_8a0e41dc-e9d2-4bcb-b090-43cb4fdeeead" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentFederalTaxExpenseBenefit_184608b2-5318-4804-bc33-1f9fb3debdf1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalTaxExpenseBenefit"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_8a0e41dc-e9d2-4bcb-b090-43cb4fdeeead" xlink:to="loc_us-gaap_CurrentFederalTaxExpenseBenefit_184608b2-5318-4804-bc33-1f9fb3debdf1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_b8d3ed4f-50cd-4f1d-9bf0-95be5ee1d183" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_8a0e41dc-e9d2-4bcb-b090-43cb4fdeeead" xlink:to="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_b8d3ed4f-50cd-4f1d-9bf0-95be5ee1d183" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentForeignTaxExpenseBenefit_bec40c08-88dc-4a4f-bd27-72a733e983bc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentForeignTaxExpenseBenefit"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_8a0e41dc-e9d2-4bcb-b090-43cb4fdeeead" xlink:to="loc_us-gaap_CurrentForeignTaxExpenseBenefit_bec40c08-88dc-4a4f-bd27-72a733e983bc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_ffee371a-c886-4fa0-a6dd-a24cf1d12e73" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_941698c7-6fd7-4cd8-8880-77d46446c0af" xlink:to="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_ffee371a-c886-4fa0-a6dd-a24cf1d12e73" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_907ee83a-db4f-46b9-9351-3d83129cf686" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_ffee371a-c886-4fa0-a6dd-a24cf1d12e73" xlink:to="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_907ee83a-db4f-46b9-9351-3d83129cf686" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_26d648c2-6bd0-487e-b0cd-3ba0618f6ed2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_ffee371a-c886-4fa0-a6dd-a24cf1d12e73" xlink:to="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_26d648c2-6bd0-487e-b0cd-3ba0618f6ed2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredForeignIncomeTaxExpenseBenefit_3b8e8434-89e1-48a4-b5e1-2b097aca20d8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_ffee371a-c886-4fa0-a6dd-a24cf1d12e73" xlink:to="loc_us-gaap_DeferredForeignIncomeTaxExpenseBenefit_3b8e8434-89e1-48a4-b5e1-2b097aca20d8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_c2fe7bff-bf34-456b-a145-6abab7e58578" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_941698c7-6fd7-4cd8-8880-77d46446c0af" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_c2fe7bff-bf34-456b-a145-6abab7e58578" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/IncomeTaxesEffectiveTaxRateReconciliationDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#IncomeTaxesEffectiveTaxRateReconciliationDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/IncomeTaxesEffectiveTaxRateReconciliationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_7c26fb1a-fb28-4f00-a326-520f58ebf49d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_34a46dd5-4473-43f0-a26c-fd756afeeb09" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_7c26fb1a-fb28-4f00-a326-520f58ebf49d" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_34a46dd5-4473-43f0-a26c-fd756afeeb09" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_7c480e08-b027-495d-9077-b580c6e3e8fe" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_7c26fb1a-fb28-4f00-a326-520f58ebf49d" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_7c480e08-b027-495d-9077-b580c6e3e8fe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_59ee2291-4379-4ee6-a933-0e16f6c97cd9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_7c26fb1a-fb28-4f00-a326-520f58ebf49d" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_59ee2291-4379-4ee6-a933-0e16f6c97cd9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_4da84a6e-444f-4fe2-89ee-dc4e20c0f779" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_7c26fb1a-fb28-4f00-a326-520f58ebf49d" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_4da84a6e-444f-4fe2-89ee-dc4e20c0f779" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment_2d79da50-da9b-4d89-98b9-3893b1b9a7e8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_7c26fb1a-fb28-4f00-a326-520f58ebf49d" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment_2d79da50-da9b-4d89-98b9-3893b1b9a7e8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDisallowedExecutiveCompensationPercent_f45b4f88-5668-4732-ac6e-af3e7f5414bd" xlink:href="fsly-20231231.xsd#fsly_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDisallowedExecutiveCompensationPercent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_7c26fb1a-fb28-4f00-a326-520f58ebf49d" xlink:to="loc_fsly_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDisallowedExecutiveCompensationPercent_f45b4f88-5668-4732-ac6e-af3e7f5414bd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseRestructuringCharges_f5f3e0f9-2339-4729-85c6-0ad062a171d6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseRestructuringCharges"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_7c26fb1a-fb28-4f00-a326-520f58ebf49d" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseRestructuringCharges_f5f3e0f9-2339-4729-85c6-0ad062a171d6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_196bbd24-b1ad-454f-9fbf-841a39d4b739" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_7c26fb1a-fb28-4f00-a326-520f58ebf49d" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_196bbd24-b1ad-454f-9fbf-841a39d4b739" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/IncomeTaxesNarrativeDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#IncomeTaxesNarrativeDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/IncomeTaxesNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_290c91cd-205f-4267-a656-d681c0f05266" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwardsTable_d4685d23-60a8-4928-8871-d353250f4510" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_290c91cd-205f-4267-a656-d681c0f05266" xlink:to="loc_us-gaap_OperatingLossCarryforwardsTable_d4685d23-60a8-4928-8871-d353250f4510" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis_b551abbc-c48a-4278-8dc1-11b9620d04fa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsTable_d4685d23-60a8-4928-8871-d353250f4510" xlink:to="loc_us-gaap_IncomeTaxAuthorityAxis_b551abbc-c48a-4278-8dc1-11b9620d04fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_8ca033a7-106a-4e5f-89fc-f12229fb5525" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_b551abbc-c48a-4278-8dc1-11b9620d04fa" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_8ca033a7-106a-4e5f-89fc-f12229fb5525" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticCountryMember_ea1ccddc-cbef-4bc7-a343-6e8b76295105" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DomesticCountryMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_8ca033a7-106a-4e5f-89fc-f12229fb5525" xlink:to="loc_us-gaap_DomesticCountryMember_ea1ccddc-cbef-4bc7-a343-6e8b76295105" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StateAndLocalJurisdictionMember_2b2b3450-a0a0-4d35-a069-67e87a58d79a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StateAndLocalJurisdictionMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_8ca033a7-106a-4e5f-89fc-f12229fb5525" xlink:to="loc_us-gaap_StateAndLocalJurisdictionMember_2b2b3450-a0a0-4d35-a069-67e87a58d79a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCountryMember_900be8d7-a881-45d3-b8d3-0eab122fc503" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCountryMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_8ca033a7-106a-4e5f-89fc-f12229fb5525" xlink:to="loc_us-gaap_ForeignCountryMember_900be8d7-a881-45d3-b8d3-0eab122fc503" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxCreditCarryforwardAxis_7e29b608-8e5c-4294-bec3-3408bfc12935" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxCreditCarryforwardAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsTable_d4685d23-60a8-4928-8871-d353250f4510" xlink:to="loc_us-gaap_TaxCreditCarryforwardAxis_7e29b608-8e5c-4294-bec3-3408bfc12935" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxCreditCarryforwardNameDomain_5d5f3897-df7d-4b27-974c-58345bdaefa2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxCreditCarryforwardNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardAxis_7e29b608-8e5c-4294-bec3-3408bfc12935" xlink:to="loc_us-gaap_TaxCreditCarryforwardNameDomain_5d5f3897-df7d-4b27-974c-58345bdaefa2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchMember_ae65fa7b-e873-4f1c-b526-e3c80bdbebb6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardNameDomain_5d5f3897-df7d-4b27-974c-58345bdaefa2" xlink:to="loc_us-gaap_ResearchMember_ae65fa7b-e873-4f1c-b526-e3c80bdbebb6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementGeographicalAxis_9a97175f-b8da-4b9f-84e3-25f1aefb58d8" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsTable_d4685d23-60a8-4928-8871-d353250f4510" xlink:to="loc_srt_StatementGeographicalAxis_9a97175f-b8da-4b9f-84e3-25f1aefb58d8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_6c50d4bd-4456-43e1-a39a-0b2fcb814d9f" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_StatementGeographicalAxis_9a97175f-b8da-4b9f-84e3-25f1aefb58d8" xlink:to="loc_srt_SegmentGeographicalDomain_6c50d4bd-4456-43e1-a39a-0b2fcb814d9f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_GB_ed57e6ac-072e-4377-a4db-26cbab25290e" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_GB"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_6c50d4bd-4456-43e1-a39a-0b2fcb814d9f" xlink:to="loc_country_GB_ed57e6ac-072e-4377-a4db-26cbab25290e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwardsLineItems_8b5a49dd-94c4-45ed-912c-a1fa18d0cd9a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsTable_d4685d23-60a8-4928-8871-d353250f4510" xlink:to="loc_us-gaap_OperatingLossCarryforwardsLineItems_8b5a49dd-94c4-45ed-912c-a1fa18d0cd9a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_614556bd-f4cc-4b02-9a4a-050366755b61" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_8b5a49dd-94c4-45ed-912c-a1fa18d0cd9a" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_614556bd-f4cc-4b02-9a4a-050366755b61" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwards_a15b99b9-3cea-4771-af35-ad31408e7a17" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwards"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_8b5a49dd-94c4-45ed-912c-a1fa18d0cd9a" xlink:to="loc_us-gaap_OperatingLossCarryforwards_a15b99b9-3cea-4771-af35-ad31408e7a17" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxCreditCarryforwardAmount_02c6ec0e-8507-45f3-977c-0bd1edf14f3c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxCreditCarryforwardAmount"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_8b5a49dd-94c4-45ed-912c-a1fa18d0cd9a" xlink:to="loc_us-gaap_TaxCreditCarryforwardAmount_02c6ec0e-8507-45f3-977c-0bd1edf14f3c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_73b69284-8c55-4d01-b001-adef244657d2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_8b5a49dd-94c4-45ed-912c-a1fa18d0cd9a" xlink:to="loc_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_73b69284-8c55-4d01-b001-adef244657d2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_fb226867-fa74-4b76-a3df-8ac75ee29ccb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_8b5a49dd-94c4-45ed-912c-a1fa18d0cd9a" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_fb226867-fa74-4b76-a3df-8ac75ee29ccb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_5846036f-9744-4436-8ccc-093226e830d2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_f2a4f826-66e1-46bb-9c57-6f534ec11a11" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5846036f-9744-4436-8ccc-093226e830d2" xlink:to="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_f2a4f826-66e1-46bb-9c57-6f534ec11a11" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DeferredTaxAssetLeaseLiability_84958e85-fd7f-498c-9aee-84614fd5e340" xlink:href="fsly-20231231.xsd#fsly_DeferredTaxAssetLeaseLiability"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5846036f-9744-4436-8ccc-093226e830d2" xlink:to="loc_fsly_DeferredTaxAssetLeaseLiability_84958e85-fd7f-498c-9aee-84614fd5e340" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_75fd855b-d25c-44df-84ca-145af2efd463" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5846036f-9744-4436-8ccc-093226e830d2" xlink:to="loc_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_75fd855b-d25c-44df-84ca-145af2efd463" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts_e7caa10b-ec25-4bce-a6b8-00c266aee8fa" xlink:href="fsly-20231231.xsd#fsly_DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5846036f-9744-4436-8ccc-093226e830d2" xlink:to="loc_fsly_DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts_e7caa10b-ec25-4bce-a6b8-00c266aee8fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_d6803361-f7df-49fb-9671-f9fadc451203" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5846036f-9744-4436-8ccc-093226e830d2" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_d6803361-f7df-49fb-9671-f9fadc451203" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsDeferredIncome_2fe7fa63-7ac5-4e29-ac53-397af4024440" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsDeferredIncome"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5846036f-9744-4436-8ccc-093226e830d2" xlink:to="loc_us-gaap_DeferredTaxAssetsDeferredIncome_2fe7fa63-7ac5-4e29-ac53-397af4024440" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals_1be62d2d-fa7c-4653-9eb8-d212a1b6c7e1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5846036f-9744-4436-8ccc-093226e830d2" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals_1be62d2d-fa7c-4653-9eb8-d212a1b6c7e1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOther_307ae461-9dd1-4f08-8ab0-a3c4ba72e800" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOther"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5846036f-9744-4436-8ccc-093226e830d2" xlink:to="loc_us-gaap_DeferredTaxAssetsOther_307ae461-9dd1-4f08-8ab0-a3c4ba72e800" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsGross_9fe7b242-bbc6-493e-95ec-7009f7c7fb59" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGross"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5846036f-9744-4436-8ccc-093226e830d2" xlink:to="loc_us-gaap_DeferredTaxAssetsGross_9fe7b242-bbc6-493e-95ec-7009f7c7fb59" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets_371fb761-85ad-4d36-aafe-30de3558865b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5846036f-9744-4436-8ccc-093226e830d2" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets_371fb761-85ad-4d36-aafe-30de3558865b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesLeasingArrangements_5440f13f-fb02-4f5d-b86e-5726d241a8b7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesLeasingArrangements"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5846036f-9744-4436-8ccc-093226e830d2" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesLeasingArrangements_5440f13f-fb02-4f5d-b86e-5726d241a8b7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_DeferredTaxLiabilitiesStateTaxes_0f55732e-58e8-4364-9991-2a355ea91a69" xlink:href="fsly-20231231.xsd#fsly_DeferredTaxLiabilitiesStateTaxes"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5846036f-9744-4436-8ccc-093226e830d2" xlink:to="loc_fsly_DeferredTaxLiabilitiesStateTaxes_0f55732e-58e8-4364-9991-2a355ea91a69" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesPrepaidExpenses_d66ce668-6e56-4e1c-8609-185eaf6b71db" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesPrepaidExpenses"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5846036f-9744-4436-8ccc-093226e830d2" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesPrepaidExpenses_d66ce668-6e56-4e1c-8609-185eaf6b71db" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilities_08ea5fe7-cbb2-4dfd-945f-20158975dd07" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilities"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5846036f-9744-4436-8ccc-093226e830d2" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilities_08ea5fe7-cbb2-4dfd-945f-20158975dd07" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance_61721f51-6f86-4ce8-86fa-0b1cc1ed2712" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5846036f-9744-4436-8ccc-093226e830d2" xlink:to="loc_us-gaap_DeferredTaxAssetsValuationAllowance_61721f51-6f86-4ce8-86fa-0b1cc1ed2712" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet_4f4a9fc9-a084-4d71-ba8c-f8cd75b7fefb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5846036f-9744-4436-8ccc-093226e830d2" xlink:to="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet_4f4a9fc9-a084-4d71-ba8c-f8cd75b7fefb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilities_b847c3ac-383d-459b-9017-f992b9fb1484" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilities"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5846036f-9744-4436-8ccc-093226e830d2" xlink:to="loc_us-gaap_DeferredTaxLiabilities_b847c3ac-383d-459b-9017-f992b9fb1484" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#IncomeTaxesUnrecognizedTaxBenefitsDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_b0a7290c-087a-41bd-8ba8-077b5f505a4e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_a8a18157-325c-47f4-af35-9c5c4bf79e19" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_b0a7290c-087a-41bd-8ba8-077b5f505a4e" xlink:to="loc_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_a8a18157-325c-47f4-af35-9c5c4bf79e19" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefits_2fc87ca7-74bb-4449-96c8-884ccb1694de" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefits"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_a8a18157-325c-47f4-af35-9c5c4bf79e19" xlink:to="loc_us-gaap_UnrecognizedTaxBenefits_2fc87ca7-74bb-4449-96c8-884ccb1694de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_10e06624-5f47-42b3-8cad-27d94276c9ac" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_a8a18157-325c-47f4-af35-9c5c4bf79e19" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_10e06624-5f47-42b3-8cad-27d94276c9ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_25349e1f-fc9e-40c4-8e3a-b28fbe3b8295" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_a8a18157-325c-47f4-af35-9c5c4bf79e19" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_25349e1f-fc9e-40c4-8e3a-b28fbe3b8295" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_b95fe518-5e47-465c-9a3e-b05861b3679c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_a8a18157-325c-47f4-af35-9c5c4bf79e19" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_b95fe518-5e47-465c-9a3e-b05861b3679c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefits_84499631-3bc2-4b3e-9efe-f8b6ba770758" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefits"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_a8a18157-325c-47f4-af35-9c5c4bf79e19" xlink:to="loc_us-gaap_UnrecognizedTaxBenefits_84499631-3bc2-4b3e-9efe-f8b6ba770758" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://fastly.com/role/InformationAboutRevenueandGeographicAreasDetails" xlink:type="simple" xlink:href="fsly-20231231.xsd#InformationAboutRevenueandGeographicAreasDetails"/>
  <link:presentationLink xlink:role="http://fastly.com/role/InformationAboutRevenueandGeographicAreasDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_fbad9a0c-6c1d-490c-b10c-d84e74afe9f6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_477b1cce-7a5d-4e4b-97f7-c34c6b82eb0f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_fbad9a0c-6c1d-490c-b10c-d84e74afe9f6" xlink:to="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_477b1cce-7a5d-4e4b-97f7-c34c6b82eb0f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementGeographicalAxis_b6b9df45-30ab-4ce5-a051-8e0da53bc665" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_477b1cce-7a5d-4e4b-97f7-c34c6b82eb0f" xlink:to="loc_srt_StatementGeographicalAxis_b6b9df45-30ab-4ce5-a051-8e0da53bc665" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_36d84b4f-7ffb-4407-b9a9-55a7e9b26560" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_StatementGeographicalAxis_b6b9df45-30ab-4ce5-a051-8e0da53bc665" xlink:to="loc_srt_SegmentGeographicalDomain_36d84b4f-7ffb-4407-b9a9-55a7e9b26560" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_US_8e09196a-7096-422c-890e-5476d8eaf5d2" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_36d84b4f-7ffb-4407-b9a9-55a7e9b26560" xlink:to="loc_country_US_8e09196a-7096-422c-890e-5476d8eaf5d2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NonUsMember_f425bfad-1c22-4c11-9840-48ef58c5376b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonUsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_36d84b4f-7ffb-4407-b9a9-55a7e9b26560" xlink:to="loc_us-gaap_NonUsMember_f425bfad-1c22-4c11-9840-48ef58c5376b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_530b55b3-ce75-4828-aa46-9b4e9ac30400" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_477b1cce-7a5d-4e4b-97f7-c34c6b82eb0f" xlink:to="loc_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_530b55b3-ce75-4828-aa46-9b4e9ac30400" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet_b985d063-25d6-4bf2-aa24-18f06f364da5" xlink:href="fsly-20231231.xsd#fsly_PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_530b55b3-ce75-4828-aa46-9b4e9ac30400" xlink:to="loc_fsly_PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet_b985d063-25d6-4bf2-aa24-18f06f364da5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#AwardTimingDisclosure"/>
  <link:presentationLink xlink:role="http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaap_RestrictedStockMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PerformanceSharesMember"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaap_PerformanceSharesMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_MarketBasedPerformanceStockAwardsMember" xlink:href="fsly-20231231.xsd#fsly_MarketBasedPerformanceStockAwardsMember"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_fsly_MarketBasedPerformanceStockAwardsMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockMember"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaap_EmployeeStockMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockCompensationPlanMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockCompensationPlanMember"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaap_StockCompensationPlanMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_LiabilityClassifiedAwardsMember" xlink:href="fsly-20231231.xsd#fsly_LiabilityClassifiedAwardsMember"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_fsly_LiabilityClassifiedAwardsMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgDiscLineItems" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgDiscLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgMnpiDiscTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgMnpiDiscTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_AwardTmgMnpiDiscTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgMethodTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgMethodTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_AwardTmgMethodTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgPredtrmndFlag" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgPredtrmndFlag"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_AwardTmgPredtrmndFlag" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgMnpiCnsdrdFlag" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgMnpiCnsdrdFlag"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_AwardTmgMnpiCnsdrdFlag" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgHowMnpiCnsdrdTextBlock"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_MnpiDiscTimedForCompValFlag" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_MnpiDiscTimedForCompValFlag"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_MnpiDiscTimedForCompValFlag" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardsCloseToMnpiDiscTableTextBlock"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardsCloseToMnpiDiscTable" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardsCloseToMnpiDiscTable"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_AwardsCloseToMnpiDiscTable" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_IndividualAxis" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_IndividualAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardsCloseToMnpiDiscTable" xlink:to="loc_ecd_IndividualAxis" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AllIndividualsMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllIndividualsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_IndividualAxis" xlink:to="loc_ecd_AllIndividualsMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardsCloseToMnpiDiscTable" xlink:to="loc_us-gaap_AwardTypeAxis" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaap_EmployeeStockOptionMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockAppreciationRightsSARSMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockAppreciationRightsSARSMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaap_StockAppreciationRightsSARSMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardsCloseToMnpiDiscIndName" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardsCloseToMnpiDiscIndName"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_AwardsCloseToMnpiDiscIndName" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardUndrlygSecuritiesAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardUndrlygSecuritiesAmt"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_AwardUndrlygSecuritiesAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardExrcPrice" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardExrcPrice"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_AwardExrcPrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AwardGrantDateFairValue" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardGrantDateFairValue"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_AwardGrantDateFairValue" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_UndrlygSecurityMktPriceChngPct" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_UndrlygSecurityMktPriceChngPct"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AwardTmgDiscLineItems" xlink:to="loc_ecd_UndrlygSecurityMktPriceChngPct" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#InsiderTradingArrangements"/>
  <link:presentationLink xlink:role="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AllIndividualsMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllIndividualsMember"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_RonaldKislingMember" xlink:href="fsly-20231231.xsd#fsly_RonaldKislingMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AllIndividualsMember" xlink:to="loc_fsly_RonaldKislingMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_RichardDanielsMember" xlink:href="fsly-20231231.xsd#fsly_RichardDanielsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AllIndividualsMember" xlink:to="loc_fsly_RichardDanielsMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:loc xlink:type="locator" xlink:label="loc_fsly_BrettShirkMember" xlink:href="fsly-20231231.xsd#fsly_BrettShirkMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AllIndividualsMember" xlink:to="loc_fsly_BrettShirkMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_InsiderTradingArrLineItems" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTradingArrLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TradingArrByIndTable" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TradingArrByIndTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_TradingArrByIndTable" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TradingArrAxis" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TradingArrAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_TradingArrByIndTable" xlink:to="loc_ecd_TradingArrAxis" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AllTradingArrangementsMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllTradingArrangementsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_TradingArrAxis" xlink:to="loc_ecd_AllTradingArrangementsMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_IndividualAxis" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_IndividualAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_TradingArrByIndTable" xlink:to="loc_ecd_IndividualAxis" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_IndividualAxis" xlink:to="loc_ecd_AllIndividualsMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_MtrlTermsOfTrdArrTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_MtrlTermsOfTrdArrTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_MtrlTermsOfTrdArrTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrIndName" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrIndName"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_TrdArrIndName" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrIndTitle" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrIndTitle"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_TrdArrIndTitle" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_Rule10b51ArrAdoptedFlag" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Rule10b51ArrAdoptedFlag"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_Rule10b51ArrAdoptedFlag" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonRule10b51ArrAdoptedFlag" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonRule10b51ArrAdoptedFlag"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_NonRule10b51ArrAdoptedFlag" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrAdoptionDate" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrAdoptionDate"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_TrdArrAdoptionDate" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_Rule10b51ArrTrmntdFlag" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Rule10b51ArrTrmntdFlag"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_Rule10b51ArrTrmntdFlag" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonRule10b51ArrTrmntdFlag" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonRule10b51ArrTrmntdFlag"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_NonRule10b51ArrTrmntdFlag" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrTerminationDate" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrTerminationDate"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_TrdArrTerminationDate" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrDuration" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrDuration"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_TrdArrDuration" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TrdArrSecuritiesAggAvailAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrSecuritiesAggAvailAmt"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingArrLineItems" xlink:to="loc_ecd_TrdArrSecuritiesAggAvailAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ErrCompDisclosure"/>
  <link:presentationLink xlink:role="http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_RecoveryOfErrCompDisclosureLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ErrCompRecoveryTable" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ErrCompRecoveryTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_ErrCompRecoveryTable" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_RestatementDateAxis" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_RestatementDateAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_ErrCompRecoveryTable" xlink:to="loc_ecd_RestatementDateAxis" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_IndividualAxis" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_IndividualAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_ErrCompRecoveryTable" xlink:to="loc_ecd_IndividualAxis" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AllIndividualsMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllIndividualsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_IndividualAxis" xlink:to="loc_ecd_AllIndividualsMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonNeosMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonNeosMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AllIndividualsMember" xlink:to="loc_ecd_NonNeosMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_RestatementDeterminationDate" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_RestatementDeterminationDate"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_RestatementDeterminationDate" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AggtErrCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AggtErrCompAmt"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_AggtErrCompAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ErrCompAnalysisTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ErrCompAnalysisTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_ErrCompAnalysisTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_StkPrcOrTsrEstimationMethodTextBlock"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_OutstandingAggtErrCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_OutstandingAggtErrCompAmt"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_OutstandingAggtErrCompAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AggtErrCompNotYetDeterminedTextBlock"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ForgoneRecoveryIndName" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryIndName"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_ForgoneRecoveryIndName" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_OutstandingRecoveryIndName" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_OutstandingRecoveryIndName"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_OutstandingRecoveryIndName" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_OutstandingRecoveryCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_OutstandingRecoveryCompAmt"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_OutstandingRecoveryCompAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_RestatementDoesNotRequireRecoveryTextBlock"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_RecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/PvpDisclosure" xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#PvpDisclosure"/>
  <link:presentationLink xlink:role="http://xbrl.sec.gov/ecd/role/PvpDisclosure" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PayVsPerformanceDisclosureLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PvpTable" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PvpTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_PvpTable" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ExecutiveCategoryAxis" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ExecutiveCategoryAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PvpTable" xlink:to="loc_ecd_ExecutiveCategoryAxis" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AllExecutiveCategoriesMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllExecutiveCategoriesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_ExecutiveCategoryAxis" xlink:to="loc_ecd_AllExecutiveCategoriesMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeoMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeoMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AllExecutiveCategoriesMember" xlink:to="loc_ecd_PeoMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonPeoNeoMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonPeoNeoMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AllExecutiveCategoriesMember" xlink:to="loc_ecd_NonPeoNeoMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_IndividualAxis" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_IndividualAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PvpTable" xlink:to="loc_ecd_IndividualAxis" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AllIndividualsMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllIndividualsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_IndividualAxis" xlink:to="loc_ecd_AllIndividualsMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AdjToCompAxis" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AdjToCompAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PvpTable" xlink:to="loc_ecd_AdjToCompAxis" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AllAdjToCompMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllAdjToCompMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_AdjToCompAxis" xlink:to="loc_ecd_AllAdjToCompMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_MeasureAxis" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_MeasureAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PvpTable" xlink:to="loc_ecd_MeasureAxis" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PvpTableTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PvpTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_PvpTableTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CoSelectedMeasureName" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CoSelectedMeasureName"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_CoSelectedMeasureName" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NamedExecutiveOfficersFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NamedExecutiveOfficersFnTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_NamedExecutiveOfficersFnTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeerGroupIssuersFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeerGroupIssuersFnTextBlock"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_PeerGroupIssuersFnTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_ChangedPeerGroupFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ChangedPeerGroupFnTextBlock"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_ChangedPeerGroupFnTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeoTotalCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeoTotalCompAmt"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_PeoTotalCompAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeoActuallyPaidCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeoActuallyPaidCompAmt"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_PeoActuallyPaidCompAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AdjToPeoCompFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AdjToPeoCompFnTextBlock"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_AdjToPeoCompFnTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonPeoNeoAvgTotalCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonPeoNeoAvgTotalCompAmt"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_NonPeoNeoAvgTotalCompAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonPeoNeoAvgCompActuallyPaidAmt"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AdjToNonPeoNeoCompFnTextBlock"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_EquityValuationAssumptionDifferenceFnTextBlock"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CompActuallyPaidVsNetIncomeTextBlock"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TotalShareholderRtnVsPeerGroupTextBlock"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CompActuallyPaidVsOtherMeasureTextBlock"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TabularListTableTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TabularListTableTextBlock"/>
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_TabularListTableTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_TotalShareholderRtnAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TotalShareholderRtnAmt"/>
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_TotalShareholderRtnAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeerGroupTotalShareholderRtnAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeerGroupTotalShareholderRtnAmt"/>
    <link:presentationArc order="21" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_PeerGroupTotalShareholderRtnAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="22" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_us-gaap_NetIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_CoSelectedMeasureAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CoSelectedMeasureAmt"/>
    <link:presentationArc order="23" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_CoSelectedMeasureAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_OtherPerfMeasureAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_OtherPerfMeasureAmt"/>
    <link:presentationArc order="24" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_OtherPerfMeasureAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_AdjToCompAmt" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AdjToCompAmt"/>
    <link:presentationArc order="25" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_AdjToCompAmt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_PeoName" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeoName"/>
    <link:presentationArc order="26" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_PeoName" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_MeasureName" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_MeasureName"/>
    <link:presentationArc order="27" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_MeasureName" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_NonGaapMeasureDescriptionTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonGaapMeasureDescriptionTextBlock"/>
    <link:presentationArc order="28" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_NonGaapMeasureDescriptionTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_Additional402vDisclosureTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Additional402vDisclosureTextBlock"/>
    <link:presentationArc order="29" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_PayVsPerformanceDisclosureLineItems" xlink:to="loc_ecd_Additional402vDisclosureTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#InsiderTradingPoliciesProc"/>
  <link:presentationLink xlink:role="http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_ecd_InsiderTradingPoliciesProcLineItems" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTradingPoliciesProcLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTrdPoliciesProcAdoptedFlag"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingPoliciesProcLineItems" xlink:to="loc_ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecd_InsiderTradingPoliciesProcLineItems" xlink:to="loc_ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>16
<FILENAME>fsly-20231231_g1.jpg
<TEXT>
begin 644 fsly-20231231_g1.jpg
M_]C_X  02D9)1@ ! @$ 2 !(  #_X0#H17AI9@  34T *@    @ !@$2  ,
M   !  $   $:  4    !    5@$;  4    !    7@$H  ,    !  (   (3
M  ,    !  $  (=I  0    !    9@        "0     0   )     !  B0
M   '    !# R,C&1 0 '    ! $" P"2A@ '    $@   ,R@   '    !# Q
M,#"@ 0 #     0 !  "@ @ $     0  !GR@ P $     0   T2D!@ #
M 0          05-#24D   !38W)E96YS:&]T  #_X@T@24-#7U!23T9)3$4
M 0$   T087!P; (0  !M;G1R4D="(%A96B 'Z  !  ( "  T !9A8W-P05!0
M3     !!4%!,                        ]M8  0    #3+6%P<&P
M                                                         !%D
M97-C   !4    &)D<V-M   !M    >IC<')T   #H    "-W='!T   #Q
M !1R6%E:   #V    !1G6%E:   #[    !1B6%E:   $     !1R5%)#   $
M%   " QA87)G   ,(    "!V8V=T   ,0    #!N9&EN   ,<    #YM;6]D
M   ,L    "AV8V=P   ,V    #AB5%)#   $%   " QG5%)#   $%   " QA
M86)G   ,(    "!A86=G   ,(    "!D97-C          A$:7-P;&%Y
M
M                                            ;6QU8P         F
M    #&AR2%(    2   !V&MO2U(    2   !V&YB3D\    2   !V&ED
M   2   !V&AU2%4    2   !V&-S0UH    2   !V&1A1$L    2   !V&YL
M3DP    2   !V&9I1DD    2   !V&ET250    2   !V&5S15,    2   !
MV')O4D\    2   !V&9R0T$    2   !V&%R       2   !V'5K54$    2
M   !V&AE24P    2   !V'IH5%<    2   !V'9I5DX    2   !V'-K4TL
M   2   !V'IH0TX    2   !V')U4E4    2   !V&5N1T(    2   !V&9R
M1E(    2   !V&US       2   !V&AI24X    2   !V'1H5$@    2   !
MV&-A15,    2   !V&5N054    2   !V&5S6$P    2   !V&1E1$4    2
M   !V&5N55,    2   !V'!T0E(    2   !V'!L4$P    2   !V&5L1U(
M   2   !V'-V4T4    2   !V'1R5%(    2   !V'!T4%0    2   !V&IA
M2E     2   !V !# &\ ; !O '( ( !, $, 1   =&5X=     !#;W!Y<FEG
M:'0@07!P;&4@26YC+BP@,C R-   6%E:(        /,6  $    !%LI865H@
M        @PH  #UN____O%A96B        !+^@  M"$   K@6%E:(
M "?2   .<   R)%C=7)V        !      %  H #P 4 !D '@ C "@ +0 R
M #8 .P!  $4 2@!/ %0 60!> &, : !M '( =P!\ ($ A@"+ )  E0": )\
MHP"H *T L@"W +P P0#& ,L T #5 -L X #E .L \ #V /L! 0$' 0T!$P$9
M 1\!)0$K 3(!. $^ 44!3 %2 5D!8 %G 6X!=0%\ 8,!BP&2 9H!H0&I ;$!
MN0'! <D!T0'9 >$!Z0'R ?H" P(, A0"'0(F B\". )! DL"5 )= F<"<0)Z
M H0"C@*8 J("K *V L$"RP+5 N "ZP+U P #"P,6 R$#+0,X T,#3P-: V8#
M<@-^ XH#E@.B ZX#N@/' ],#X /L _D$!@03!" $+00[!$@$501C!'$$?@2,
M!)H$J 2V!,0$TP3A!/ $_@4-!1P%*P4Z!4D%6 5G!7<%A@66!:8%M07%!=4%
MY07V!@8&%@8G!C<&2 99!FH&>P:,!IT&KP; !M$&XP;U!P<'&0<K!ST'3P=A
M!W0'A@>9!ZP'OP?2!^4'^ @+"!\(,@A&"%H(;@B"")8(J@B^"-((YPC["1 )
M)0DZ"4\)9 EY"8\)I FZ"<\)Y0G["A$*)PH]"E0*:@J!"I@*K@K%"MP*\PL+
M"R(+.0M1"VD+@ N8"[ +R OA"_D,$@PJ#$,,7 QU#(X,IPS #-D,\PT-#28-
M0 U:#70-C@VI#<,-W@WX#A,.+@Y)#F0.?PZ;#K8.T@[N#PD/)0]!#UX/>@^6
M#[,/SP_L$ D0)A!#$&$0?A";$+D0UQ#U$1,1,1%/$6T1C!&J$<D1Z!('$B82
M11)D$H02HQ+#$N,3 Q,C$T,38Q.#$Z03Q1/E% 84)Q1)%&H4BQ2M%,X4\!42
M%3055A5X%9L5O17@%@,6)A9)%FP6CQ:R%M86^A<=%T$791>)%ZX7TA?W&!L8
M0!AE&(H8KQC5&/H9(!E%&6L9D1FW&=T:!!HJ&E$:=QJ>&L4:[!L4&SL;8QN*
M&[(;VAP"'"H<4AQ['*,<S!SU'1X=1QUP'9D=PQWL'A8>0!YJ'I0>OA[I'Q,?
M/A]I'Y0?OQ_J(!4@02!L()@@Q"#P(1PA2"%U(:$ASB'[(B<B52*"(J\BW2,*
M(S@C9B.4(\(C\"0?)$TD?"2K)-HE"24X)6@EER7')?<F)R97)H<FMR;H)Q@G
M22=Z)ZLGW"@-*#\H<2BB*-0I!BDX*6LIG2G0*@(J-2IH*ILJSRL"*S8K:2N=
M*]$L!2PY+&XLHBS7+0PM02UV+:LMX2X6+DPN@BZW+NXO)"]:+Y$OQR_^,#4P
M;#"D,-LQ$C%*,8(QNC'R,BHR8S*;,M0S#3-&,W\SN#/Q-"LT932>--@U$S5-
M-8<UPC7]-C<V<C:N-NDW)#=@-YPWUS@4.% XC#C(.04Y0CE_.;PY^3HV.G0Z
MLCKO.RT[:SNJ.^@\)SQE/*0\XSTB/6$]H3W@/B ^8#Z@/N _(3]A/Z(_XD C
M0&1 ID#G02E!:D&L0>Y",$)R0K5"]T,Z0WU#P$0#1$=$BD3.11)%546:1=Y&
M(D9G1JM&\$<U1WM'P$@%2$M(D4C721U)8TFI2?!*-TI]2L1+#$M32YI+XDPJ
M3'),NDT"34I-DTW<3B5.;DZW3P!/24^33]U0)U!Q4+M1!E%049M1YE(Q4GQ2
MQU,34U]3JE/V5$)4CU3;52A5=57"5@]67%:I5O=71%>25^!8+UA]6,M9&EEI
M6;A:!UI66J9:]5M%6Y5;Y5PU7(9<UETG77A=R5X:7FQ>O5\/7V%?LV %8%=@
MJF#\84]AHF'U8DEBG&+P8T-CEV/K9$!DE&3I93UEDF7G9CUFDF;H9SUGDV?I
M:#]HEFCL:4-IFFGQ:DAJGVKW:T]KIVO_;%=LKVT(;6!MN6X2;FMNQ&\>;WAO
MT7 K<(9PX'$Z<95Q\')+<J9S 7-=<[AT%'1P=,QU*'6%=>%V/G:;=OAW5G>S
M>!%X;GC,>2IYB7GG>D9ZI7L$>V-[PGPA?(%\X7U!?:%^ 7YB?L)_(W^$?^6
M1X"H@0J!:X'-@C""DH+T@U>#NH0=A("$XX5'A:N&#H9RAM>'.X>?B 2(:8C.
MB3.)F8G^BF2*RHLPBY:+_(QCC,J-,8V8C?^.9H[.CS:/GI &D&Z0UI$_D:B2
M$9)ZDN.339.VE""4BI3TE5^5R98TEI^7"I=UE^"83)BXF229D)G\FFB:U9M"
MFZ^<')R)G/>=9)W2GD">KI\=GXN?^J!IH-BA1Z&VHB:BEJ,&HW:CYJ16I,>E
M.*6IIAJFBZ;]IVZGX*A2J,2I-ZFIJARJCZL"JW6KZ:Q<K-"M1*VXKBVNH:\6
MKXNP +!UL.JQ8+'6LDNRPK,XLZZT);2<M1.UBK8!MGFV\+=HM^"X6;C1N4JY
MPKH[NK6[+KNGO"&\F[T5O8^^"KZ$OO^_>K_UP'# [,%GP>/"7\+;PUC#U,11
MQ,[%2\7(QD;&P\=!Q[_(/<B\R3K)N<HXRK?+-LNVS#7,M<TUS;7.-LZVSS?/
MN- YT+K1/-&^TC_2P=-$T\;42=3+U4[5T=95UMC77-?@V&38Z-ELV?':=MK[
MVX#<!=R*W1#=EMX<WJ+?*=^OX#;@O>%$X<SB4^+;XV/CZ^1SY/SEA.8-YI;G
M'^>IZ#+HO.E&Z=#J6^KEZW#K^^R&[1'MG.XH[K3O0._,\%CPY?%R\?_RC/,9
M\Z?T-/3"]5#UWO9M]OOWBO@9^*CY./G'^E?ZY_MW_ ?\F/TI_;K^2_[<_VW_
M_W!A<F$       ,    "9F8  /*G   -60  $]    I;=F-G=          !
M  $          0    $          0    $          0  ;F1I;@
M   V  "N    4@   $/   "PP   )H    V   !0    5$   C,S  (S,P "
M,S,          &UM;V0        &$   H#X     U1AD@
M      !V8V=P       #     F9F  ,    "9F8  P    )F9@    (S,S0
M     C,S-      ",S,T /_  !$( T0&? ,!(@ "$0$#$0'_Q  ?   !!0$!
M 0$! 0           0(#! 4&!P@)"@O_Q "U$  " 0,# @0#!04$!    7T!
M @, !!$%$B$Q008346$'(G$4,H&1H0@C0K'!%5+1\"0S8G*""0H6%Q@9&B4F
M)R@I*C0U-C<X.3I#1$5&1TA)2E-455976%E:8V1E9F=H:6IS='5V=WAY>H.$
MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4
MU=;7V-G:X>+CY.7FY^CIZO'R\_3U]O?X^?K_Q  ? 0 # 0$! 0$! 0$!
M     0(#! 4&!P@)"@O_Q "U$0 " 0($! ,$!P4$!  ! G<  0(#$00%(3$&
M$D%1!V%Q$R(R@0@40I&AL<$)(S-2\!5B<M$*%B0TX27Q%Q@9&B8G*"DJ-38W
M.#DZ0T1%1D=(24I35%565UA96F-D969G:&EJ<W1U=G=X>7J"@X2%AH>(B8J2
MDY25EI>8F9JBHZ2EIJ>HJ:JRL[2UMK>XN;K"P\3%QL?(R<K2T]35UM?8V=KB
MX^3EYN?HZ>KR\_3U]O?X^?K_VP!#  $! 0$! 0(! 0(# @(" P0# P,#! 8$
M! 0$! 8'!@8&!@8&!P<'!P<'!P<(" @(" @)"0D)"0L+"PL+"PL+"PO_VP!#
M 0(" @,# P4# P4+" 8("PL+"PL+"PL+"PL+"PL+"PL+"PL+"PL+"PL+"PL+
M"PL+"PL+"PL+"PL+"PL+"PL+"PO_W0 $ &C_V@ , P$  A$#$0 _ /[^****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@#_T/[^**** "BBB@ HHHH ***\G^,'QS^$OP"\)R^-OB_KMMH>
MG18^><DNY)P D:AG<^RJ?RJ9U(PBYS=DNK-\-AJV(JQH4(.<Y.R44VV^R2U;
M/6**_GV^.'_!=3P;ITLNF?L^^')M7*_<O=1_<0-CT4$O@^X!K\V/'/\ P5S_
M &XO&%U++I/B"VT"WDS^XL[6-]OT=U+5\WBN+<OHNT9.;_NK]79?B?KV3>!'
M%6/@JE6G&A%_\_)6?_@,5*2^:1_9A17\,%Q_P4)_;3N9/-N/B/J(;_98(/R!
M%0?\/ ?VS/\ HI&I_P#?W_[*N#_7?"?\^Y?A_F?4+Z-F==<92_\ )_\ Y$_N
MFHK^%G_AX#^V9_T4C4_^_O\ ]E1_P\!_;,_Z*1J?_?W_ .RH_P!=\+_S[E^'
M^8_^);,Z_P"@RE_Y/_\ (G]TU%?PL_\ #P']LS_HI&I_]_?_ +*C_AX#^V9_
MT4C4_P#O[_\ 94?Z[X7_ )]R_#_,/^);,Z_Z#*7_ )/_ /(G]TU%?PL_\/ ?
MVS/^BD:G_P!_?_LJ/^'@/[9G_12-3_[^_P#V5'^N^%_Y]R_#_,/^);,Z_P"@
MRE_Y/_\ (G]TU%?PL_\ #P']LS_HI&I_]_?_ +*C_AX#^V9_T4C4_P#O[_\
M94?Z[X7_ )]R_#_,/^);,Z_Z#*7_ )/_ /(G]TU%?PL_\/ ?VS/^BD:G_P!_
M?_LJ/^'@/[9G_12-3_[^_P#V5'^N^%_Y]R_#_,/^);,Z_P"@RE_Y/_\ (G]T
MU%?PL_\ #P']LS_HI&I_]_?_ +*C_AX#^V9_T4C4_P#O[_\ 94?Z[X7_ )]R
M_#_,/^);,Z_Z#*7_ )/_ /(G]TU%?PL_\/ ?VS/^BD:G_P!_?_LJ/^'@/[9G
M_12-3_[^_P#V5'^N^%_Y]R_#_,/^);,Z_P"@RE_Y/_\ (G]TU%?PL_\ #P']
MLS_HI&I_]_?_ +*C_AX#^V9_T4C4_P#O[_\ 94?Z[X7_ )]R_#_,/^);,Z_Z
M#*7_ )/_ /(G]TU%?PL_\/ ?VS/^BD:G_P!_?_LJ/^'@/[9G_12-3_[^_P#V
M5'^N^%_Y]R_#_,/^);,Z_P"@RE_Y/_\ (G]TU%?PL_\ #P']LS_HI&I_]_?_
M +*C_AX#^V9_T4C4_P#O[_\ 94?Z[X7_ )]R_#_,/^);,Z_Z#*7_ )/_ /(G
M]TU%?PL_\/ ?VS/^BD:G_P!_?_LJ/^'@/[9G_12-3_[^_P#V5'^N^%_Y]R_#
M_,/^);,Z_P"@RE_Y/_\ (G]TU%?PL_\ #P']LS_HI&I_]_?_ +*C_AX#^V9_
MT4C4_P#O[_\ 94?Z[X7_ )]R_#_,/^);,Z_Z#*7_ )/_ /(G]TU%?PL_\/ ?
MVS/^BD:G_P!_?_LJ/^'@/[9G_12-3_[^_P#V5'^N^%_Y]R_#_,/^);,Z_P"@
MRE_Y/_\ (G]TU%?PL_\ #P']LS_HI&I_]_?_ +*C_AX#^V9_T4C4_P#O[_\
M94?Z[X7_ )]R_#_,/^);,Z_Z#*7_ )/_ /(G]TU%?PL_\/ ?VS/^BD:G_P!_
M?_LJ/^'@/[9G_12-3_[^_P#V5'^N^%_Y]R_#_,/^);,Z_P"@RE_Y/_\ (G]T
MU%?PL_\ #P']LS_HI&I_]_?_ +*C_AX#^V9_T4C4_P#O[_\ 94?Z[X7_ )]R
M_#_,/^);,Z_Z#*7_ )/_ /(G]TU%?PL_\/ ?VS/^BD:G_P!_?_LJ/^'@/[9G
M_12-3_[^_P#V5'^N^%_Y]R_#_,/^);,Z_P"@RE_Y/_\ (G]TU%?PL_\ #P']
MLS_HI&I_]_?_ +*C_AX#^V9_T4C4_P#O[_\ 94?Z[X7_ )]R_#_,/^);,Z_Z
M#*7_ )/_ /(G]TU%?PL_\/ ?VS/^BD:G_P!_?_LJ/^'@/[9G_12-3_[^_P#V
M5'^N^%_Y]R_#_,/^);,Z_P"@RE_Y/_\ (G]TU%?PL_\ #P']LS_HI&I_]_?_
M +*C_AX#^V9_T4C4_P#O[_\ 94?Z[X7_ )]R_#_,/^);,Z_Z#*7_ )/_ /(G
M]TU%?PL_\/ ?VS/^BD:G_P!_?_LJ/^'@/[9G_12-3_[^_P#V5'^N^%_Y]R_#
M_,/^);,Z_P"@RE_Y/_\ (G]TU%?PL_\ #P']LS_HI&I_]_?_ +*C_AX#^V9_
MT4C4_P#O[_\ 94?Z[X7_ )]R_#_,/^);,Z_Z#*7_ )/_ /(G]TU%?PL_\/ ?
MVS/^BD:G_P!_?_LJ/^'@/[9G_12-3_[^_P#V5'^N^%_Y]R_#_,/^);,Z_P"@
MRE_Y/_\ (G]TU%?PL_\ #P']LS_HI&I_]_?_ +*C_AX#^V9_T4C4_P#O[_\
M94?Z[X7_ )]R_#_,/^);,Z_Z#*7_ )/_ /(G]TU%?PL_\/ ?VS/^BD:G_P!_
M?_LJ/^'@/[9G_12-3_[^_P#V5'^N^%_Y]R_#_,/^);,Z_P"@RE_Y/_\ (G]T
MU%?PL_\ #P']LS_HI&I_]_?_ +*C_AX#^V9_T4C4_P#O[_\ 94?Z[X7_ )]R
M_#_,/^);,Z_Z#*7_ )/_ /(G]TU%?PL_\/ ?VS/^BD:G_P!_?_LJ/^'@/[9G
M_12-3_[^_P#V5'^N^%_Y]R_#_,/^);,Z_P"@RE_Y/_\ (G]TU%?PL_\ #P']
MLS_HI&I_]_?_ +*C_AX#^V9_T4C4_P#O[_\ 94?Z[X7_ )]R_#_,/^);,Z_Z
M#*7_ )/_ /(G]TU%?PL_\/ ?VS/^BD:G_P!_?_LJ/^'@/[9G_12-3_[^_P#V
M5'^N^%_Y]R_#_,/^);,Z_P"@RE_Y/_\ (G]TU%?PL_\ #P']LS_HI&I_]_?_
M +*C_AX#^V9_T4C4_P#O[_\ 94?Z[X7_ )]R_#_,/^);,Z_Z#*7_ )/_ /(G
M]TU%?PL_\/ ?VS/^BD:G_P!_?_LJ/^'@/[9G_12-3_[^_P#V5'^N^%_Y]R_#
M_,/^);,Z_P"@RE_Y/_\ (G]TU%?PL_\ #P']LS_HI&I_]_?_ +*C_AX#^V9_
MT4C4_P#O[_\ 94?Z[X7_ )]R_#_,/^);,Z_Z#*7_ )/_ /(G]TU%?PL_\/ ?
MVS/^BD:G_P!_?_LJ/^'@/[9G_12-3_[^_P#V5'^N^%_Y]R_#_,/^);,Z_P"@
MRE_Y/_\ (G]TU%?PL_\ #P']LS_HI&I_]_?_ +*C_AX#^V9_T4C4_P#O[_\
M94?Z[X7_ )]R_#_,/^);,Z_Z#*7_ )/_ /(G]TU%?PL_\/ ?VS/^BD:G_P!_
M?_LJ/^'@/[9G_12-3_[^_P#V5'^N^%_Y]R_#_,/^);,Z_P"@RE_Y/_\ (G]T
MU%?PL_\ #P']LS_HI&I_]_?_ +*C_AX#^V9_T4C4_P#O[_\ 94?Z[X7_ )]R
M_#_,/^);,Z_Z#*7_ )/_ /(G]TU%?PL_\/ ?VS/^BD:G_P!_?_LJ/^'@/[9G
M_12-3_[^_P#V5'^N^%_Y]R_#_,/^);,Z_P"@RE_Y/_\ (G]TU%?PL_\ #P']
MLS_HI&I_]_?_ +*C_AX#^V9_T4C4_P#O[_\ 94?Z[X7_ )]R_#_,/^);,Z_Z
M#*7_ )/_ /(G]TU%?PL_\/ ?VS/^BD:G_P!_?_LJ/^'@/[9G_12-3_[^_P#V
M5'^N^%_Y]R_#_,/^);,Z_P"@RE_Y/_\ (G]TU%?PL_\ #P']LS_HI&I_]_?_
M +*C_AX#^V9_T4C4_P#O[_\ 94?Z[X7_ )]R_#_,/^);,Z_Z#*7_ )/_ /(G
M]TU%?PL_\/ ?VS/^BD:G_P!_?_LJ/^'@/[9G_12-3_[^_P#V5'^N^%_Y]R_#
M_,/^);,Z_P"@RE_Y/_\ (G]TU%?PL_\ #P']LS_HI&I_]_?_ +*C_AX#^V9_
MT4C4_P#O[_\ 94?Z[X7_ )]R_#_,/^);,Z_Z#*7_ )/_ /(G]TU%?PL_\/ ?
MVS/^BD:G_P!_?_LJ/^'@/[9G_12-3_[^_P#V5'^N^%_Y]R_#_,/^);,Z_P"@
MRE_Y/_\ (G]TU%?PL_\ #P']LS_HI&I_]_?_ +*C_AX#^V9_T4C4_P#O[_\
M94?Z[X7_ )]R_#_,/^);,Z_Z#*7_ )/_ /(G]TU%?PL_\/ ?VS/^BD:G_P!_
M?_LJ/^'@/[9G_12-3_[^_P#V5'^N^%_Y]R_#_,/^);,Z_P"@RE_Y/_\ (G]T
MU%?PL_\ #P']LS_HI&I_]_?_ +*C_AX#^V9_T4C4_P#O[_\ 94?Z[X7_ )]R
M_#_,/^);,Z_Z#*7_ )/_ /(G]TU%?PL_\/ ?VS/^BD:G_P!_?_LJ/^'@/[9G
M_12-3_[^_P#V5'^N^%_Y]R_#_,/^);,Z_P"@RE_Y/_\ (G]TU%?PL_\ #P']
MLS_HI&I_]_?_ +*C_AX#^V9_T4C4_P#O[_\ 94?Z[X7_ )]R_#_,/^);,Z_Z
M#*7_ )/_ /(G]TU%?PL_\/ ?VS/^BD:G_P!_?_LJ/^'@/[9G_12-3_[^_P#V
M5'^N^%_Y]R_#_,/^);,Z_P"@RE_Y/_\ (G]TU%?PL_\ #P']LS_HI&I_]_?_
M +*C_AX#^V9_T4C4_P#O[_\ 94?Z[X7_ )]R_#_,/^);,Z_Z#*7_ )/_ /(G
M]TU%?PL_\/ ?VS/^BD:G_P!_?_LJ/^'@/[9G_12-3_[^_P#V5'^N^%_Y]R_#
M_,/^);,Z_P"@RE_Y/_\ (G]TU%?PL_\ #P']LS_HI&I_]_?_ +*C_AX#^V9_
MT4C4_P#O[_\ 94?Z[X7_ )]R_#_,/^);,Z_Z#*7_ )/_ /(G]TU%?PL_\/ ?
MVS/^BD:G_P!_?_LJ/^'@/[9G_12-3_[^_P#V5'^N^%_Y]R_#_,/^);,Z_P"@
MRE_Y/_\ (G]TU%?PL_\ #P']LS_HI&I_]_?_ +*C_AX#^V9_T4C4_P#O[_\
M94?Z[X7_ )]R_#_,/^);,Z_Z#*7_ )/_ /(G]TU%?PL_\/ ?VS/^BD:G_P!_
M?_LJ/^'@/[9G_12-3_[^_P#V5'^N^%_Y]R_#_,/^);,Z_P"@RE_Y/_\ (G]T
MU%?PL_\ #P']LS_HI&I_]_?_ +*C_AX#^V9_T4C4_P#O[_\ 94?Z[X7_ )]R
M_#_,/^);,Z_Z#*7_ )/_ /(G]TU%?PL_\/ ?VS/^BD:G_P!_?_LJ/^'@/[9G
M_12-3_[^_P#V5'^N^%_Y]R_#_,/^);,Z_P"@RE_Y/_\ (G]TU%?PL_\ #P']
MLS_HI&I_]_?_ +*C_AX#^V9_T4C4_P#O[_\ 94?Z[X7_ )]R_#_,/^);,Z_Z
M#*7_ )/_ /(G]TU%?PL_\/ ?VS/^BD:G_P!_?_LJ/^'@/[9G_12-3_[^_P#V
M5'^N^%_Y]R_#_,/^);,Z_P"@RE_Y/_\ (G]TU%?PL_\ #P']LS_HI&I_]_?_
M +*C_AX#^V9_T4C4_P#O[_\ 94?Z[X7_ )]R_#_,/^);,Z_Z#*7_ )/_ /(G
M]TU%?PL_\/ ?VS/^BD:G_P!_?_LJ/^'@/[9G_12-3_[^_P#V5'^N^%_Y]R_#
M_,/^);,Z_P"@RE_Y/_\ (G]TU%?PL_\ #P']LS_HI&I_]_?_ +*C_AX#^V9_
MT4C4_P#O[_\ 94?Z[X7_ )]R_#_,/^);,Z_Z#*7_ )/_ /(G]TU%?PL_\/ ?
MVS/^BD:G_P!_?_LJ/^'@/[9G_12-3_[^_P#V5'^N^%_Y]R_#_,/^);,Z_P"@
MRE_Y/_\ (G]TU%?PL_\ #P']LS_HI&I_]_?_ +*C_AX#^V9_T4C4_P#O[_\
M94?Z[X7_ )]R_#_,/^);,Z_Z#*7_ )/_ /(G]TU%?PL_\/ ?VS/^BD:G_P!_
M?_LJ/^'@/[9G_12-3_[^_P#V5'^N^%_Y]R_#_,/^);,Z_P"@RE_Y/_\ (G]T
MU%?PL_\ #P']LS_HI&I_]_?_ +*C_AX#^V9_T4C4_P#O[_\ 94?Z[X7_ )]R
M_#_,/^);,Z_Z#*7_ )/_ /(G]TU%?PL_\/ ?VS/^BD:G_P!_?_LJ/^'@/[9G
M_12-3_[^_P#V5'^N^%_Y]R_#_,/^);,Z_P"@RE_Y/_\ (G]TU%?PL_\ #P']
MLS_HI&I_]_?_ +*C_AX#^V9_T4C4_P#O[_\ 94?Z[X7_ )]R_#_,/^);,Z_Z
M#*7_ )/_ /(G]TU%?PL_\/ ?VS/^BD:G_P!_?_LJ/^'@/[9G_12-3_[^_P#V
M5'^N^%_Y]R_#_,/^);,Z_P"@RE_Y/_\ (G]TU%?PL_\ #P']LS_HI&I_]_?_
M +*C_AX#^V9_T4C4_P#O[_\ 94?Z[X7_ )]R_#_,/^);,Z_Z#*7_ )/_ /(G
M]TU%?PL_\/ ?VS/^BD:G_P!_?_LJ/^'@/[9G_12-3_[^_P#V5'^N^%_Y]R_#
M_,/^);,Z_P"@RE_Y/_\ (G]TU%?PL_\ #P']LS_HI&I_]_?_ +*C_AX#^V9_
MT4C4_P#O[_\ 94?Z[X7_ )]R_#_,/^);,Z_Z#*7_ )/_ /(G]TU%?PL_\/ ?
MVS/^BD:G_P!_?_LJ/^'@/[9G_12-3_[^_P#V5'^N^%_Y]R_#_,/^);,Z_P"@
MRE_Y/_\ (G]TU%?PL_\ #P']LS_HI&I_]_?_ +*C_AX#^V9_T4C4_P#O[_\
M94?Z[X7_ )]R_#_,/^);,Z_Z#*7_ )/_ /(G]TU%?PL_\/ ?VS/^BD:G_P!_
M?_LJ/^'@/[9G_12-3_[^_P#V5'^N^%_Y]R_#_,/^);,Z_P"@RE_Y/_\ (G]T
MU%?PL_\ #P']LS_HI&I_]_?_ +*C_AX#^V9_T4C4_P#O[_\ 94?Z[X7_ )]R
M_#_,/^);,Z_Z#*7_ )/_ /(G]TU%?PL_\/ ?VS/^BD:G_P!_?_LJ/^'@/[9G
M_12-3_[^_P#V5'^N^%_Y]R_#_,/^);,Z_P"@RE_Y/_\ (G]TU%?PL_\ #P']
MLS_HI&I_]_?_ +*C_AX#^V9_T4C4_P#O[_\ 94?Z[X7_ )]R_#_,/^);,Z_Z
M#*7_ )/_ /(G]TU%?PL_\/ ?VS/^BD:G_P!_?_LJ/^'@/[9G_12-3_[^_P#V
M5'^N^%_Y]R_#_,/^);,Z_P"@RE_Y/_\ (G]TU%?PL_\ #P']LS_HI&I_]_?_
M +*C_AX#^V9_T4C4_P#O[_\ 94?Z[X7_ )]R_#_,/^);,Z_Z#*7_ )/_ /(G
M]TU%?PL_\/ ?VS/^BD:G_P!_?_LJ/^'@/[9G_12-3_[^_P#V5'^N^%_Y]R_#
M_,/^);,Z_P"@RE_Y/_\ (G]TU%?PL_\ #P']LS_HI&I_]_?_ +*C_AX#^V9_
MT4C4_P#O[_\ 94?Z[X7_ )]R_#_,/^);,Z_Z#*7_ )/_ /(G]TU%?PL_\/ ?
MVS/^BD:G_P!_?_LJ/^'@/[9G_12-3_[^_P#V5'^N^%_Y]R_#_,/^);,Z_P"@
MRE_Y/_\ (G]TU%?PL_\ #P']LS_HI&I_]_?_ +*C_AX#^V9_T4C4_P#O[_\
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
M (=>?L7?]"L/^_K_ /Q5?H'11_9>#_Y\Q_\  4'^N_$7_0QK?^#)?YGY^?\
M#KS]B[_H5A_W]?\ ^*H_X=>?L7?]"L/^_K__ !5?H'11_9>#_P"?,?\ P%!_
MKOQ%_P!#&M_X,E_F?GY_PZ\_8N_Z%8?]_7_^*H_X=>?L7?\ 0K#_ +^O_P#%
M5^@=%']EX/\ Y\Q_\!0?Z[\1?]#&M_X,E_F?GY_PZ\_8N_Z%8?\ ?U__ (JC
M_AUY^Q=_T*P_[^O_ /%5^@=%']EX/_GS'_P%!_KOQ%_T,:W_ (,E_F?GY_PZ
M\_8N_P"A6'_?U_\ XJC_ (=>?L7?]"L/^_K_ /Q5?H'11_9>#_Y\Q_\  4'^
MN_$7_0QK?^#)?YGY^?\ #KS]B[_H5A_W]?\ ^*H_X=>?L7?]"L/^_K__ !5?
MH'11_9>#_P"?,?\ P%!_KOQ%_P!#&M_X,E_F?GY_PZ\_8N_Z%8?]_7_^*H_X
M=>?L7?\ 0K#_ +^O_P#%5^@=%']EX/\ Y\Q_\!0?Z[\1?]#&M_X,E_F?GY_P
MZ\_8N_Z%8?\ ?U__ (JC_AUY^Q=_T*P_[^O_ /%5^@=%']EX/_GS'_P%!_KO
MQ%_T,:W_ (,E_F?GY_PZ\_8N_P"A6'_?U_\ XJC_ (=>?L7?]"L/^_K_ /Q5
M?H'11_9>#_Y\Q_\  4'^N_$7_0QK?^#)?YGY^?\ #KS]B[_H5A_W]?\ ^*H_
MX=>?L7?]"L/^_K__ !5?H'11_9>#_P"?,?\ P%!_KOQ%_P!#&M_X,E_F?GY_
MPZ\_8N_Z%8?]_7_^*H_X=>?L7?\ 0K#_ +^O_P#%5^@=%']EX/\ Y\Q_\!0?
MZ[\1?]#&M_X,E_F?GY_PZ\_8N_Z%8?\ ?U__ (JC_AUY^Q=_T*P_[^O_ /%5
M^@=%']EX/_GS'_P%!_KOQ%_T,:W_ (,E_F?GY_PZ\_8N_P"A6'_?U_\ XJC_
M (=>?L7?]"L/^_K_ /Q5?H'11_9>#_Y\Q_\  4'^N_$7_0QK?^#)?YGY^?\
M#KS]B[_H5A_W]?\ ^*H_X=>?L7?]"L/^_K__ !5?H'11_9>#_P"?,?\ P%!_
MKOQ%_P!#&M_X,E_F?GY_PZ\_8N_Z%8?]_7_^*H_X=>?L7?\ 0K#_ +^O_P#%
M5^@=%']EX/\ Y\Q_\!0?Z[\1?]#&M_X,E_F?GY_PZ\_8N_Z%8?\ ?U__ (JC
M_AUY^Q=_T*P_[^O_ /%5^@=%']EX/_GS'_P%!_KOQ%_T,:W_ (,E_F?GY_PZ
M\_8N_P"A6'_?U_\ XJC_ (=>?L7?]"L/^_K_ /Q5?H'11_9>#_Y\Q_\  4'^
MN_$7_0QK?^#)?YGY^?\ #KS]B[_H5A_W]?\ ^*H_X=>?L7?]"L/^_K__ !5?
MH'11_9>#_P"?,?\ P%!_KOQ%_P!#&M_X,E_F?GY_PZ\_8N_Z%8?]_7_^*H_X
M=>?L7?\ 0K#_ +^O_P#%5^@=%']EX/\ Y\Q_\!0?Z[\1?]#&M_X,E_F?GY_P
MZ\_8N_Z%8?\ ?U__ (JC_AUY^Q=_T*P_[^O_ /%5^@=%']EX/_GS'_P%!_KO
MQ%_T,:W_ (,E_F?GY_PZ\_8N_P"A6'_?U_\ XJC_ (=>?L7?]"L/^_K_ /Q5
M?H'11_9>#_Y\Q_\  4'^N_$7_0QK?^#)?YGY^?\ #KS]B[_H5A_W]?\ ^*H_
MX=>?L7?]"L/^_K__ !5?H'11_9>#_P"?,?\ P%!_KOQ%_P!#&M_X,E_F?GY_
MPZ\_8N_Z%8?]_7_^*H_X=>?L7?\ 0K#_ +^O_P#%5^@=%']EX/\ Y\Q_\!0?
MZ[\1?]#&M_X,E_F?GY_PZ\_8N_Z%8?\ ?U__ (JC_AUY^Q=_T*P_[^O_ /%5
M^@=%']EX/_GS'_P%!_KOQ%_T,:W_ (,E_F?GY_PZ\_8N_P"A6'_?U_\ XJC_
M (=>?L7?]"L/^_K_ /Q5?H'11_9>#_Y\Q_\  4'^N_$7_0QK?^#)?YGY^?\
M#KS]B[_H5A_W]?\ ^*H_X=>?L7?]"L/^_K__ !5?H'11_9>#_P"?,?\ P%!_
MKOQ%_P!#&M_X,E_F?GY_PZ\_8N_Z%8?]_7_^*H_X=>?L7?\ 0K#_ +^O_P#%
M5^@=%']EX/\ Y\Q_\!0?Z[\1?]#&M_X,E_F?GY_PZ\_8N_Z%8?\ ?U__ (JC
M_AUY^Q=_T*P_[^O_ /%5^@=%']EX/_GS'_P%!_KOQ%_T,:W_ (,E_F?GY_PZ
M\_8N_P"A6'_?U_\ XJC_ (=>?L7?]"L/^_K_ /Q5?H'11_9>#_Y\Q_\  4'^
MN_$7_0QK?^#)?YGY^?\ #KS]B[_H5A_W]?\ ^*H_X=>?L7?]"L/^_K__ !5?
MH'11_9>#_P"?,?\ P%!_KOQ%_P!#&M_X,E_F?GY_PZ\_8N_Z%8?]_7_^*H_X
M=>?L7?\ 0K#_ +^O_P#%5^@=%']EX/\ Y\Q_\!0?Z[\1?]#&M_X,E_F?GY_P
MZ\_8N_Z%8?\ ?U__ (JC_AUY^Q=_T*P_[^O_ /%5^@=%']EX/_GS'_P%!_KO
MQ%_T,:W_ (,E_F?GY_PZ\_8N_P"A6'_?U_\ XJC_ (=>?L7?]"L/^_K_ /Q5
M?H'11_9>#_Y\Q_\  4'^N_$7_0QK?^#)?YGY^?\ #KS]B[_H5A_W]?\ ^*H_
MX=>?L7?]"L/^_K__ !5?H'11_9>#_P"?,?\ P%!_KOQ%_P!#&M_X,E_F?GY_
MPZ\_8N_Z%8?]_7_^*H_X=>?L7?\ 0K#_ +^O_P#%5^@=%']EX/\ Y\Q_\!0?
MZ[\1?]#&M_X,E_F?GY_PZ\_8N_Z%8?\ ?U__ (JC_AUY^Q=_T*P_[^O_ /%5
M^@=%']EX/_GS'_P%!_KOQ%_T,:W_ (,E_F?GY_PZ\_8N_P"A6'_?U_\ XJC_
M (=>?L7?]"L/^_K_ /Q5?H'11_9>#_Y\Q_\  4'^N_$7_0QK?^#)?YGY^?\
M#KS]B[_H5A_W]?\ ^*H_X=>?L7?]"L/^_K__ !5?H'11_9>#_P"?,?\ P%!_
MKOQ%_P!#&M_X,E_F?GY_PZ\_8N_Z%8?]_7_^*H_X=>?L7?\ 0K#_ +^O_P#%
M5^@=%']EX/\ Y\Q_\!0?Z[\1?]#&M_X,E_F?GY_PZ\_8N_Z%8?\ ?U__ (JC
M_AUY^Q=_T*P_[^O_ /%5^@=%']EX/_GS'_P%!_KOQ%_T,:W_ (,E_F?GY_PZ
M\_8N_P"A6'_?U_\ XJC_ (=>?L7?]"L/^_K_ /Q5?H'11_9>#_Y\Q_\  4'^
MN_$7_0QK?^#)?YGY^?\ #KS]B[_H5A_W]?\ ^*H_X=>?L7?]"L/^_K__ !5?
MH'11_9>#_P"?,?\ P%!_KOQ%_P!#&M_X,E_F?GY_PZ\_8N_Z%8?]_7_^*H_X
M=>?L7?\ 0K#_ +^O_P#%5^@=%']EX/\ Y\Q_\!0?Z[\1?]#&M_X,E_F?GY_P
MZ\_8N_Z%8?\ ?U__ (JC_AUY^Q=_T*P_[^O_ /%5^@=%']EX/_GS'_P%!_KO
MQ%_T,:W_ (,E_F?GY_PZ\_8N_P"A6'_?U_\ XJC_ (=>?L7?]"L/^_K_ /Q5
M?H'11_9>#_Y\Q_\  4'^N_$7_0QK?^#)?YGY^?\ #KS]B[_H5A_W]?\ ^*H_
MX=>?L7?]"L/^_K__ !5?H'11_9>#_P"?,?\ P%!_KOQ%_P!#&M_X,E_F?GY_
MPZ\_8N_Z%8?]_7_^*H_X=>?L7?\ 0K#_ +^O_P#%5^@=%']EX/\ Y\Q_\!0?
MZ[\1?]#&M_X,E_F?GY_PZ\_8N_Z%8?\ ?U__ (JC_AUY^Q=_T*P_[^O_ /%5
M^@=%']EX/_GS'_P%!_KOQ%_T,:W_ (,E_F?GY_PZ\_8N_P"A6'_?U_\ XJC_
M (=>?L7?]"L/^_K_ /Q5?H'11_9>#_Y\Q_\  4'^N_$7_0QK?^#)?YGY^?\
M#KS]B[_H5A_W]?\ ^*H_X=>?L7?]"L/^_K__ !5?H'11_9>#_P"?,?\ P%!_
MKOQ%_P!#&M_X,E_F?GY_PZ\_8N_Z%8?]_7_^*H_X=>?L7?\ 0K#_ +^O_P#%
M5^@=%']EX/\ Y\Q_\!0?Z[\1?]#&M_X,E_F?GY_PZ\_8N_Z%8?\ ?U__ (JC
M_AUY^Q=_T*P_[^O_ /%5^@=%']EX/_GS'_P%!_KOQ%_T,:W_ (,E_F?GY_PZ
M\_8N_P"A6'_?U_\ XJC_ (=>?L7?]"L/^_K_ /Q5?H'11_9>#_Y\Q_\  4'^
MN_$7_0QK?^#)?YGY^?\ #KS]B[_H5A_W]?\ ^*H_X=>?L7?]"L/^_K__ !5?
MH'11_9>#_P"?,?\ P%!_KOQ%_P!#&M_X,E_F?GY_PZ\_8N_Z%8?]_7_^*H_X
M=>?L7?\ 0K#_ +^O_P#%5^@=%']EX/\ Y\Q_\!0?Z[\1?]#&M_X,E_F?GY_P
MZ\_8N_Z%8?\ ?U__ (JC_AUY^Q=_T*P_[^O_ /%5^@=%']EX/_GS'_P%!_KO
MQ%_T,:W_ (,E_F?GY_PZ\_8N_P"A6'_?U_\ XJC_ (=>?L7?]"L/^_K_ /Q5
M?H'11_9>#_Y\Q_\  4'^N_$7_0QK?^#)?YGY^?\ #KS]B[_H5A_W]?\ ^*H_
MX=>?L7?]"L/^_K__ !5?H'11_9>#_P"?,?\ P%!_KOQ%_P!#&M_X,E_F?GY_
MPZ\_8N_Z%8?]_7_^*H_X=>?L7?\ 0K#_ +^O_P#%5^@=%']EX/\ Y\Q_\!0?
MZ[\1?]#&M_X,E_F?GY_PZ\_8N_Z%8?\ ?U__ (JC_AUY^Q=_T*P_[^O_ /%5
M^@=%']EX/_GS'_P%!_KOQ%_T,:W_ (,E_F?GY_PZ\_8N_P"A6'_?U_\ XJC_
M (=>?L7?]"L/^_K_ /Q5?H'11_9>#_Y\Q_\  4'^N_$7_0QK?^#)?YGY^?\
M#KS]B[_H5A_W]?\ ^*H_X=>?L7?]"L/^_K__ !5?H'11_9>#_P"?,?\ P%!_
MKOQ%_P!#&M_X,E_F?GY_PZ\_8N_Z%8?]_7_^*H_X=>?L7?\ 0K#_ +^O_P#%
M5^@=%']EX/\ Y\Q_\!0?Z[\1?]#&M_X,E_F?GY_PZ\_8N_Z%8?\ ?U__ (JC
M_AUY^Q=_T*P_[^O_ /%5^@=%']EX/_GS'_P%!_KOQ%_T,:W_ (,E_F?GY_PZ
M\_8N_P"A6'_?U_\ XJC_ (=>?L7?]"L/^_K_ /Q5?H'11_9>#_Y\Q_\  4'^
MN_$7_0QK?^#)?YGY^?\ #KS]B[_H5A_W]?\ ^*H_X=>?L7?]"L/^_K__ !5?
MH'11_9>#_P"?,?\ P%!_KOQ%_P!#&M_X,E_F?GY_PZ\_8N_Z%8?]_7_^*H_X
M=>?L7?\ 0K#_ +^O_P#%5^@=%']EX/\ Y\Q_\!0?Z[\1?]#&M_X,E_F?GY_P
MZ\_8N_Z%8?\ ?U__ (JC_AUY^Q=_T*P_[^O_ /%5^@=%']EX/_GS'_P%!_KO
MQ%_T,:W_ (,E_F?GY_PZ\_8N_P"A6'_?U_\ XJC_ (=>?L7?]"L/^_K_ /Q5
M?H'11_9>#_Y\Q_\  4'^N_$7_0QK?^#)?YGY^?\ #KS]B[_H5A_W]?\ ^*H_
MX=>?L7?]"L/^_K__ !5?H'11_9>#_P"?,?\ P%!_KOQ%_P!#&M_X,E_F?GY_
MPZ\_8N_Z%8?]_7_^*H_X=>?L7?\ 0K#_ +^O_P#%5^@=%']EX/\ Y\Q_\!0?
MZ[\1?]#&M_X,E_F?GY_PZ\_8N_Z%8?\ ?U__ (JC_AUY^Q=_T*P_[^O_ /%5
M^@=%']EX/_GS'_P%!_KOQ%_T,:W_ (,E_F?GY_PZ\_8N_P"A6'_?U_\ XJC_
M (=>?L7?]"L/^_K_ /Q5?H'11_9>#_Y\Q_\  4'^N_$7_0QK?^#)?YGY^?\
M#KS]B[_H5A_W]?\ ^*H_X=>?L7?]"L/^_K__ !5?H'11_9>#_P"?,?\ P%!_
MKOQ%_P!#&M_X,E_F?GY_PZ\_8N_Z%8?]_7_^*H_X=>?L7?\ 0K#_ +^O_P#%
M5^@=%']EX/\ Y\Q_\!0?Z[\1?]#&M_X,E_F?GY_PZ\_8N_Z%8?\ ?U__ (JC
M_AUY^Q=_T*P_[^O_ /%5^@=%']EX/_GS'_P%!_KOQ%_T,:W_ (,E_F?GY_PZ
M\_8N_P"A6'_?U_\ XJC_ (=>?L7?]"L/^_K_ /Q5?H'11_9>#_Y\Q_\  4'^
MN_$7_0QK?^#)?YGY^?\ #KS]B[_H5A_W]?\ ^*H_X=>?L7?]"L/^_K__ !5?
MH'11_9>#_P"?,?\ P%!_KOQ%_P!#&M_X,E_F?GY_PZ\_8N_Z%8?]_7_^*H_X
M=>?L7?\ 0K#_ +^O_P#%5^@=%']EX/\ Y\Q_\!0?Z[\1?]#&M_X,E_F?GY_P
MZ\_8N_Z%8?\ ?U__ (JC_AUY^Q=_T*P_[^O_ /%5^@=%']EX/_GS'_P%!_KO
MQ%_T,:W_ (,E_F?GY_PZ\_8N_P"A6'_?U_\ XJC_ (=>?L7?]"L/^_K_ /Q5
M?H'11_9>#_Y\Q_\  4'^N_$7_0QK?^#)?YGY^?\ #KS]B[_H5A_W]?\ ^*H_
MX=>?L7?]"L/^_K__ !5?H'11_9>#_P"?,?\ P%!_KOQ%_P!#&M_X,E_F?GY_
MPZ\_8N_Z%8?]_7_^*H_X=>?L7?\ 0K#_ +^O_P#%5^@=%']EX/\ Y\Q_\!0?
MZ[\1?]#&M_X,E_F?GY_PZ\_8N_Z%8?\ ?U__ (JC_AUY^Q=_T*P_[^O_ /%5
M^@=%']EX/_GS'_P%!_KOQ%_T,:W_ (,E_F?GY_PZ\_8N_P"A6'_?U_\ XJC_
M (=>?L7?]"L/^_K_ /Q5?H'11_9>#_Y\Q_\  4'^N_$7_0QK?^#)?YGY^?\
M#KS]B[_H5A_W]?\ ^*H_X=>?L7?]"L/^_K__ !5?H'11_9>#_P"?,?\ P%!_
MKOQ%_P!#&M_X,E_F?GY_PZ\_8N_Z%8?]_7_^*H_X=>?L7?\ 0K#_ +^O_P#%
M5^@=%']EX/\ Y\Q_\!0?Z[\1?]#&M_X,E_F?GY_PZ\_8N_Z%8?\ ?U__ (JC
M_AUY^Q=_T*P_[^O_ /%5^@=%']EX/_GS'_P%!_KOQ%_T,:W_ (,E_F?GY_PZ
M\_8N_P"A6'_?U_\ XJN7UW_@DG^Q/KT15]"N[9N2&@O)H\$^P< _2OTKHJ99
M3@I*SHQ_\!1=/CSB2$N:&95D_P#KY+_,_GQ^,/\ P0]F2VEU'X!>,09<EEL-
M9C*ICLJ2Q!F)[ OQZFOQL^.'[-OQI_9WU8:-\7]"FTT%L1W(^>W=ATVR*2H.
M>G(-?W0UP_Q(^&G@/XO>$;OP)\2M+@U?2KV,QRPSKGAAC*MPRL.S*00>17A9
MAPAA:L6\/[DOO7W=/D?IG"OCYGF!J1IYM;$4>KLHU$NZDK)ORDM>ZW/YAOV(
M?^"J'Q2_9LU"V\%?%J:X\3^#&=4/F$O>6*$X+(QY=5'.TDGL*_K*^'/Q'\%?
M%GP;8^/_ (>ZC#JFDZC&)(+B!@RD'L<=".A!Y!K^0C]OW_@GEKG[)NH+XZ\
M-/JO@>]E*B1_GEL'/1)2.J'HK'\34O\ P33_ &[=8_9/^)$'@CQ?=Y\ :_.%
MO(Y,E;*=\!9T.<*O]\8QC'2O*RG.<3E^(^HYA\.R;Z=M>L7^'X'W''7A]E'%
MF5/B;A2WM;-RC%64[?$G'[-5=OM>=TW_ &4T57M+NVO[6.]LI%EAF4.CJ<JR
MMR"#Z&K%?HQ_)#5M&%%%% C_TO[^**** "BBB@"O>7=O86LE]=N(XH5+NQZ!
M5&2:_AN_;U_:/O/VGOVEM;\>+<&32+ G3M*3=E%MH2?F';+L22>]?U*?\%/_
M (T3_!']CCQ1K.FN4O\ 5T72;4HV'62\/E[U_P!P'=7\AO[-GP:N_CS\<?"_
MPBMT+Q:I>1_;-IP1:HP:<@^NW./>O@.,<7.I4I9?2W=F_5NT5^9_4_T?<CP^
M$P>-XHQFD8)PB^T8KFJ/[K+[T?O;_P $AOV/M)\)>!+?]J3QM:"76M>B/]D"
M5<_9[,_\M%'8R>OH..IK]NJH:3I=AH>DVNAZ5$L%K9Q)##&@PJ(@P !V%7Z^
MMR[ PPF'C0ATW?=]6?@G%O$V)S_-:V9XEZS?NJ_PQ7PQ7HOO=WU"BBBNX^;"
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** .8\:>#/#/Q$\*7_@?QE9QW^EZG"T%
MQ!*,JR.,'\?2OXJ/VOOV>[S]F3X^ZW\'[IC+:PA;JQD;_EI9SY\L^Y&"#]*_
MM^K\8/\ @M%\#XO&7P2TOXUZ9;@ZAX1N-EQ*!S]BN.'!]<,JX].:^7XKRY8C
M".M%>]#7Y=5^OR/VOP-XOJ95GL,OJR_<8GW6NBG]B7JW[K\GY6/9?^"-/[2;
M_%G]GD_"37[GSM6\#>79H&.7-B01!G_="[1[5^Q5?Q??\$H_C#-\)?VS] L9
MY"MAXK232)P6P@=QO1V]P4VC_>K^T&NGA;'O$X&*E\4/=?RV_ \GQLX9CE'$
MU65%6IUU[6/DY-J2_P# DWZ-!1117T9^1'__T_[^**** "BBB@#^>W_@OGXC
MGA\(_#;PC#*RQW5]?W$T8^ZWE1Q["?H2:^+_ /@BWX/M->_::U;Q)=H"VC:6
M9(&[AY"0?Y5]'?\ !?25SXI^&D.?E$5^V/<[:\[_ ."':+_PM/QE*1\PT^(?
MJ]?G%=>TXE2ET:_"%_S/Z\RQO#>#\Y4]'*$[_P#;U9I_AIZ'])%%%%?H9_)8
M4444 %%%% !11C-?FU^U)_P5H_8=_9'U63PU\2?%B7NLQ9#Z?I2F\GC/^VL>
M[;]3BJC%R=DC?#X:M7G[.C!REV2N?I+17\VMY_P<X?L;073PVWAC79HU)"O\
MJ[AZX*Y%5O\ B)V_8]_Z%37/S3_XFM?JU7^4];_5C-?^@>7X?YG]*=%?S6?\
M1.W['O\ T*FN?FG_ ,31_P 1.W['O_0J:Y^:?_$T?5JO\H_]6,U_Z!Y?A_F?
MTIT5_-9_Q$[?L>_]"IKGYI_\31_Q$[?L>_\ 0J:Y^:?_ !-'U:K_ "A_JQFO
M_0/+\/\ ,_I3HK^:S_B)V_8]_P"A4US\T_\ B:/^(G;]CW_H5-<_-/\ XFCZ
MM5_E#_5C-?\ H'E^'^9_2G17\UG_ !$[?L>_]"IKGYI_\31_Q$[?L>_]"IKG
MYI_\31]6J_RA_JQFO_0/+\/\S^E.BOYK/^(G;]CW_H5-<_-/_B:/^(G;]CW_
M *%37/S3_P")H^K5?Y0_U8S7_H'E^'^9_2G17\UG_$3M^Q[_ -"IKGYI_P#$
MT?\ $3M^Q[_T*FN?FG_Q-'U:K_*'^K&:_P#0/+\/\S^E.BOYK/\ B)V_8]_Z
M%37/S3_XFC_B)V_8]_Z%37/S3_XFCZM5_E#_ %8S7_H'E^'^9_2G17\UG_$3
MM^Q[_P!"IKGYI_\ $T?\1.W['O\ T*FN?FG_ ,31]6J_RA_JQFO_ $#R_#_,
M_I3HK^:S_B)V_8]_Z%37/S3_ .)H_P"(G;]CW_H5-<_-/_B:/JU7^4/]6,U_
MZ!Y?A_F?TIT5_-9_Q$[?L>_]"IKGYI_\31_Q$[?L>_\ 0J:Y^:?_ !-'U:K_
M "A_JQFO_0/+\/\ ,_I3HK^:S_B)V_8]_P"A4US\T_\ B:/^(G;]CW_H5-<_
M-/\ XFCZM5_E#_5C-?\ H'E^'^9_2G17\UG_ !$[?L>_]"IKGYI_\31_Q$[?
ML>_]"IKGYI_\31]6J_RA_JQFO_0/+\/\S^E.BOYK/^(G;]CW_H5-<_-/_B:/
M^(G;]CW_ *%37/S3_P")H^K5?Y0_U8S7_H'E^'^9_2G17\UG_$3M^Q[_ -"I
MKGYI_P#$T?\ $3M^Q[_T*FN?FG_Q-'U:K_*'^K&:_P#0/+\/\S^E.BOYK/\
MB)V_8]_Z%37/S3_XFC_B)V_8]_Z%37/S3_XFCZM5_E#_ %8S7_H'E^'^9_2G
M17\UG_$3M^Q[_P!"IKGYI_\ $T?\1.W['O\ T*FN?FG_ ,31]6J_RA_JQFO_
M $#R_#_,_I3HK^:S_B)V_8]_Z%37/S3_ .)H_P"(G;]CW_H5-<_-/_B:/JU7
M^4/]6,U_Z!Y?A_F?TIT5_-9_Q$[?L>_]"IKGYI_\31_Q$[?L>_\ 0J:Y^:?_
M !-'U:K_ "A_JQFO_0/+\/\ ,_I3HK^:S_B)V_8]_P"A4US\T_\ B:E@_P"#
MG/\ 8XDF5)_"VN1H3@M\IP/H!FCZM5_E%_JQFO\ T#R_#_,_I.HK\AO@#_P7
M%_X)[_'S4HM!M/%3>'+^8JB1ZS$UHC.YP KR!58D^AK]<+&]LM3LH=3TV9+B
MVN%#Q2QL&1U/0J1P1]*RE"4?B1Y>)P=?#2Y<13<7YJQ9HHHJ3F"BBE ).!0
ME%?+GQ>_;(^ /P6G;3_%>LK/>H<-;68\^13_ +07./QKY5N/^"L'P1CF9(='
MU"11T;(7/X$5X&,XIRG"S=*OB8J2W5[M>MKV/I\OX+SW&TU6PN#G*#V=K)^E
M[7/U-HK\K/\ A[)\%?\ H"ZA_P!]K_\ $T?\/9/@K_T!=0_[[7_XFN3_ %WR
M+_H*C]TO\CO_ .(<\2_] ,_P_P S]4Z*_*S_ (>R?!7_ * NH?\ ?:__ !-'
M_#V3X*_] 74/^^U_^)H_UWR+_H*C]TO\@_XASQ+_ - ,_P /\S]4Z*_*S_A[
M)\%?^@+J'_?:_P#Q-'_#V3X*_P#0%U#_ +[7_P")H_UWR+_H*C]TO\@_XASQ
M+_T S_#_ #/U3HK\K/\ A[)\%?\ H"ZA_P!]K_\ $T?\/9/@K_T!=0_[[7_X
MFC_7?(O^@J/W2_R#_B'/$O\ T S_  _S/U3HK\K/^'LGP5_Z NH?]]K_ /$T
M?\/9/@K_ - 74/\ OM?_ (FC_7?(O^@J/W2_R#_B'/$O_0#/\/\ ,_5.BORL
M_P"'LGP5_P"@+J'_ 'VO_P 31_P]D^"O_0%U#_OM?_B:/]=\B_Z"H_=+_(/^
M(<\2_P#0#/\ #_,_5.BORL_X>R?!7_H"ZA_WVO\ \31_P]D^"O\ T!=0_P"^
MU_\ B:/]=\B_Z"H_=+_(/^(<\2_] ,_P_P S]4Z*_*S_ (>R?!7_ * NH?\
M?:__ !-'_#V3X*_] 74/^^U_^)H_UWR+_H*C]TO\@_XASQ+_ - ,_P /\S]4
MZ*_*S_A[)\%?^@+J'_?:_P#Q-'_#V3X*_P#0%U#_ +[7_P")H_UWR+_H*C]T
MO\@_XASQ+_T S_#_ #/U3HK\K/\ A[)\%?\ H"ZA_P!]K_\ $T?\/9/@K_T!
M=0_[[7_XFC_7?(O^@J/W2_R#_B'/$O\ T S_  _S/U3HK\K/^'LGP5_Z NH?
M]]K_ /$T?\/9/@K_ - 74/\ OM?_ (FC_7?(O^@J/W2_R#_B'/$O_0#/\/\
M,_5.BORL_P"'LGP5_P"@+J'_ 'VO_P 31_P]D^"O_0%U#_OM?_B:/]=\B_Z"
MH_=+_(/^(<\2_P#0#/\ #_,_5.BORL_X>R?!7_H"ZA_WVO\ \31_P]D^"O\
MT!=0_P"^U_\ B:/]=\B_Z"H_=+_(/^(<\2_] ,_P_P S]4Z*_*S_ (>R?!7_
M * NH?\ ?:__ !-'_#V3X*_] 74/^^U_^)H_UWR+_H*C]TO\@_XASQ+_ - ,
M_P /\S]4Z*_*S_A[)\%?^@+J'_?:_P#Q-'_#V3X*_P#0%U#_ +[7_P")H_UW
MR+_H*C]TO\@_XASQ+_T S_#_ #/U3HK\K/\ A[)\%?\ H"ZA_P!]K_\ $T?\
M/9/@K_T!=0_[[7_XFC_7?(O^@J/W2_R#_B'/$O\ T S_  _S/U3HK\K/^'LG
MP5_Z NH?]]K_ /$T?\/9/@K_ - 74/\ OM?_ (FC_7?(O^@J/W2_R#_B'/$O
M_0#/\/\ ,_5.BORL_P"'LGP5_P"@+J'_ 'VO_P 31_P]D^"O_0%U#_OM?_B:
M/]=\B_Z"H_=+_(/^(<\2_P#0#/\ #_,_5.BORL_X>R?!7_H"ZA_WVO\ \31_
MP]D^"O\ T!=0_P"^U_\ B:/]=\B_Z"H_=+_(/^(<\2_] ,_P_P S]4Z*_*Y?
M^"L?P4+ /HVH $\G<IQ_X[7N?PX_X*$_LU?$2\735U232KAL "^0Q(2>@#,
M#6^&XNR:O-0IXJ-_-V_.QRXO@7B##0=6M@:BBNJ5_P KGV]15>TN[74+2._L
M)5F@F4-'(AW*RGN".#5BOHT[ZH^4:L[,****!!117'^(_'OA7PIE=8NE60?\
MLU^9_P A7+C<=AL'2=?%5(P@MW)I+[V)M)79V%%> W'[0WA.-\06\T@]?N_S
MJO\ \-%>&O\ GSF_,5\A+Q+X8BW%X^'_ ),_R1E]8I]SZ&HKYY_X:*\-?\^<
MWYBC_AHKPU_SYS?F*G_B)O"__0?'[I?Y!]9I]SZ&HKYY_P"&BO#7_/G-^8H_
MX:*\-?\ /G-^8H_XB;PO_P!!\?NE_D'UFGW/H:BOGG_AHKPU_P ^<WYBC_AH
MKPU_SYS?F*/^(F\+_P#0?'[I?Y!]9I]SZ&HKYY_X:*\-?\^<WYBC_AHKPU_S
MYS?F*/\ B)O"_P#T'Q^Z7^0?6:?<^AJ*^>?^&BO#7_/G-^8H_P"&BO#7_/G-
M^8H_XB;PO_T'Q^Z7^0?6:?<^AJ*^>?\ AHKPU_SYS?F*/^&BO#7_ #YS?F*/
M^(F\+_\ 0?'[I?Y!]9I]SZ&HKYY_X:*\-?\ /G-^8H_X:*\-?\^<WYBC_B)O
M"_\ T'Q^Z7^0?6:?<^AJ*^>?^&BO#7_/G-^8H_X:*\-?\^<WYBC_ (B;PO\
M]!\?NE_D'UFGW/H:BOGG_AHKPU_SYS?F*/\ AHKPU_SYS?F*/^(F\+_]!\?N
ME_D'UFGW/H:BOGG_ (:*\-?\^<WYBC_AHKPU_P ^<WYBC_B)O"__ $'Q^Z7^
M0?6:?<^AJ*^>?^&BO#7_ #YS?F*/^&BO#7_/G-^8H_XB;PO_ -!\?NE_D'UF
MGW/H:BOGG_AHKPU_SYS?F*/^&BO#7_/G-^8H_P"(F\+_ /0?'[I?Y!]9I]SZ
M&HKYY_X:*\-?\^<WYBC_ (:*\-?\^<WYBC_B)O"__0?'[I?Y!]9I]SZ&HKYY
M_P"&BO#7_/G-^8H_X:*\-?\ /G-^8H_XB;PO_P!!\?NE_D'UFGW/H:BOGG_A
MHKPU_P ^<WYBC_AHKPU_SYS?F*/^(F\+_P#0?'[I?Y!]9I]SZ&HKYY_X:*\-
M?\^<WYBC_AHKPU_SYS?F*/\ B)O"_P#T'Q^Z7^0?6:?<^AJ*^>?^&BO#7_/G
M-^8H_P"&BO#7_/G-^8H_XB;PO_T'Q^Z7^0?6:?<^AJ*^>?\ AHKPU_SYS?F*
M/^&BO#7_ #YS?F*/^(F\+_\ 0?'[I?Y!]9I]SZ&HKYY_X:*\-?\ /G-^8I1^
MT5X9)Q]CF_,4?\1-X7_Z#X_=+_(/K%/N?0M%>2:+\:_ VKRK;O.UL[?\]1@?
MG7J\,T5Q$L\#!T89#*<@CZU]/E>>9?F4'4P&(C42WY6G;U6Z-(SC+X624445
MZA04444 %%?-'QY_; _9W_9K@_XNSXCM[*[92ZV4;"2Y8#TC7+?I7YRZ_P#\
M%U_V5=-NS#HNDZM?Q \2%/)_1US7U64<#Y_FE-5L!@:DX?S*-D_1NR9X^-X@
MRW"2Y,3B(QEVOK]RU/VQHK\,/^']'[-W_0M:M_WVO_Q-'_#^C]F[_H6M6_[[
M7_XFO8_XA1Q=_P!"V?\ Y+_\D<'^N>2_]!4?Q_R/W/HK\,/^']'[-W_0M:M_
MWVO_ ,31_P /Z/V;O^A:U;_OM?\ XFC_ (A1Q=_T+9_^2_\ R0?ZYY+_ -!4
M?Q_R/W/HK\,/^']'[-W_ $+6K?\ ?:__ !-'_#^C]F[_ *%K5O\ OM?_ (FC
M_B%'%W_0MG_Y+_\ )!_KGDO_ $%1_'_(_<^BOPP_X?T?LW?]"UJW_?:__$T?
M\/Z/V;O^A:U;_OM?_B:/^(4<7?\ 0MG_ .2__)!_KGDO_05'\?\ (_<^BOPP
M_P"']'[-W_0M:M_WVO\ \31_P_H_9N_Z%K5O^^U_^)H_XA1Q=_T+9_\ DO\
M\D'^N>2_]!4?Q_R/W/HK\,/^']'[-W_0M:M_WVO_ ,31_P /Z/V;O^A:U;_O
MM?\ XFC_ (A1Q=_T+9_^2_\ R0?ZYY+_ -!4?Q_R/W/HK\,/^']'[-W_ $+6
MK?\ ?:__ !-'_#^C]F[_ *%K5O\ OM?_ (FC_B%'%W_0MG_Y+_\ )!_KGDO_
M $%1_'_(_<^BOPP_X?T?LW?]"UJW_?:__$T?\/Z/V;O^A:U;_OM?_B:/^(4<
M7?\ 0MG_ .2__)!_KGDO_05'\?\ (_<^BOPP_P"']'[-W_0M:M_WVO\ \31_
MP_H_9N_Z%K5O^^U_^)H_XA1Q=_T+9_\ DO\ \D'^N>2_]!4?Q_R/W/HK\,/^
M']'[-W_0M:M_WVO_ ,31_P /Z/V;O^A:U;_OM?\ XFC_ (A1Q=_T+9_^2_\
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
M^*KW.BN[^R,!_P! \/\ P"/^1YG]LYA_T$U/_ Y?YGAG_#,7[.W_ $)FF?\
M?#?_ !5'_#,7[.W_ $)FF?\ ?#?_ !5>YT4?V1@/^@>'_@$?\@_MG,/^@FI_
MX'+_ #/#/^&8OV=O^A,TS_OAO_BJ/^&8OV=O^A,TS_OAO_BJ]SHH_LC ?] \
M/_ (_P"0?VSF'_034_\  Y?YGAG_  S%^SM_T)FF?]\-_P#%4?\ #,7[.W_0
MF:9_WPW_ ,57N=%']D8#_H'A_P" 1_R#^V<P_P"@FI_X'+_,\,_X9B_9V_Z$
MS3/^^&_^*H_X9B_9V_Z$S3/^^&_^*KW.BC^R,!_T#P_\ C_D']LYA_T$U/\
MP.7^9X9_PS%^SM_T)FF?]\-_\51_PS%^SM_T)FF?]\-_\57N=%']D8#_ *!X
M?^ 1_P @_MG,/^@FI_X'+_,\,_X9B_9V_P"A,TS_ +X;_P"*H_X9B_9V_P"A
M,TS_ +X;_P"*KW.BC^R,!_T#P_\  (_Y!_;.8?\ 034_\#E_F>&?\,Q?L[?]
M"9IG_?#?_%4?\,Q?L[?]"9IG_?#?_%5[G11_9& _Z!X?^ 1_R#^V<P_Z":G_
M ('+_,\,_P"&8OV=O^A,TS_OAO\ XJC_ (9B_9V_Z$S3/^^&_P#BJ]SHH_LC
M ?\ 0/#_ , C_D']LYA_T$U/_ Y?YGAG_#,7[.W_ $)FF?\ ?#?_ !5'_#,7
M[.W_ $)FF?\ ?#?_ !5>YT4?V1@/^@>'_@$?\@_MG,/^@FI_X'+_ #/#/^&8
MOV=O^A,TS_OAO_BJ/^&8OV=O^A,TS_OAO_BJ]SHH_LC ?] \/_ (_P"0?VSF
M'_034_\  Y?YGAG_  S%^SM_T)FF?]\-_P#%4?\ #,7[.W_0F:9_WPW_ ,57
MN=%']D8#_H'A_P" 1_R#^V<P_P"@FI_X'+_,\,_X9B_9V_Z$S3/^^&_^*H_X
M9B_9V_Z$S3/^^&_^*KW.BC^R,!_T#P_\ C_D']LYA_T$U/\ P.7^9X9_PS%^
MSM_T)FF?]\-_\51_PS%^SM_T)FF?]\-_\57N=%']D8#_ *!X?^ 1_P @_MG,
M/^@FI_X'+_,\,_X9B_9V_P"A,TS_ +X;_P"*H_X9B_9V_P"A,TS_ +X;_P"*
MKW.BC^R,!_T#P_\  (_Y!_;.8?\ 034_\#E_F>&?\,Q?L[?]"9IG_?#?_%4?
M\,Q?L[?]"9IG_?#?_%5[G11_9& _Z!X?^ 1_R#^V<P_Z":G_ ('+_,\,_P"&
M8OV=O^A,TS_OAO\ XJC_ (9B_9V_Z$S3/^^&_P#BJ]SHH_LC ?\ 0/#_ , C
M_D']LYA_T$U/_ Y?YGAG_#,7[.W_ $)FF?\ ?#?_ !5'_#,7[.W_ $)FF?\
M?#?_ !5>YT4?V1@/^@>'_@$?\@_MG,/^@FI_X'+_ #/#/^&8OV=O^A,TS_OA
MO_BJ/^&8OV=O^A,TS_OAO_BJ]SHH_LC ?] \/_ (_P"0?VSF'_034_\  Y?Y
MGA3_ ++_ .SI(A1O!FF8(P?D;_XJOGCXJ_\ !.#]G'QYITC^$=-_X1C4L92>
MS9BA;_;5RWZ$5]^45SXCA[*Z\'"IAH6?]U)_)I)KY,Z\'Q/F^$J*KA\7437]
M^37S3;3^:/P:^#/QD^*G["GQI;X$_&JYDN/#-VZLCN2T<22'"SQ$\[3CYASC
M%?O#%+%<0I<0,'CD4,K#D$'H17YY_P#!2SX5:=XY^ 4OC/RU_M#PT_GQ28^;
MRWX=,^AP/RKT;]@7QY<>._V7?#QOI#+<:2ATYF/)*08"9/<XS7S?#KK99F57
M(ZD^:ER\])MZJ-[./R>WIYV7U_%2H9OE%'B2E!0K<_LJR2LG*UU-=KK?S?EK
M]E444A8*-S=!R:^]/S,\4^+WQ*D\(VZZ+HS8U"X7=N'_ "S0\9^I[5QO@GX(
MC4X4U[QW)(\L_P _DYP>>?F/7\*Q?!-H/''Q=O-9U#]XEJ[2*#TRIPOY8KZX
MK\<R+*H<68ZMG>;+GPT)RA0I/X;1=G.2ZMOO^5CEA%5&Y2VZ'$6_PV\!6J>7
M#I4 'OD_S)J?_A7_ ((_Z!<'_?)_QKL**_2X\.Y3%<L<'22_Z]P_R.CE78X_
M_A7_ ((_Z!<'_?)_QH_X5_X(_P"@7!_WR?\ &NPHJO\ 5_*_^@2G_P""X?Y#
MY5V./_X5_P""/^@7!_WR?\:/^%?^"/\ H%P?]\G_ !KL**/]7\K_ .@2G_X+
MA_D'*NQQ_P#PK_P1_P! N#_OD_XT?\*_\$?] N#_ +Y/^-=A11_J_E?_ $"4
M_P#P7#_(.5=CC_\ A7_@C_H%P?\ ?)_QH_X5_P""/^@7!_WR?\:["BC_ %?R
MO_H$I_\ @N'^0<J[''_\*_\ !'_0+@_[Y/\ C1_PK_P1_P! N#_OD_XUV%%'
M^K^5_P#0)3_\%P_R#E78X_\ X5_X(_Z!<'_?)_QH_P"%?^"/^@7!_P!\G_&N
MPHH_U?RO_H$I_P#@N'^0<J[''_\ "O\ P1_T"X/^^3_C1_PK_P $?] N#_OD
M_P"-=A11_J_E?_0)3_\ !</\@Y5V./\ ^%?^"/\ H%P?]\G_ !H_X5_X(_Z!
M<'_?)_QKL**/]7\K_P"@2G_X+A_D'*NQQ_\ PK_P1_T"X/\ OD_XT?\ "O\
MP1_T"X/^^3_C7844?ZOY7_T"4_\ P7#_ "#E78X__A7_ ((_Z!<'_?)_QH_X
M5_X(_P"@7!_WR?\ &NPHH_U?RO\ Z!*?_@N'^0<J[''_ /"O_!'_ $"X/^^3
M_C1_PK_P1_T"X/\ OD_XUV%%'^K^5_\ 0)3_ /!</\@Y5V./_P"%?^"/^@7!
M_P!\G_&C_A7_ ((_Z!<'_?)_QKL**/\ 5_*_^@2G_P""X?Y!RKL<?_PK_P $
M?] N#_OD_P"-'_"O_!'_ $"X/^^3_C7844?ZOY7_ - E/_P7#_(.5=CC_P#A
M7_@C_H%P?]\G_&C_ (5_X(_Z!<'_ 'R?\:["BC_5_*_^@2G_ ."X?Y!RKL<?
M_P *_P#!'_0+@_[Y/^-'_"O_  1_T"X/^^3_ (UV%%'^K^5_] E/_P %P_R#
ME78X_P#X5_X(_P"@7!_WR?\ &C_A7_@C_H%P?]\G_&NPHH_U?RO_ *!*?_@N
M'^0<J[''_P#"O_!'_0+@_P"^3_C1_P *_P#!'_0+@_[Y/^-=A11_J_E?_0)3
M_P#!</\ (.5=CC_^%?\ @C_H%P?]\G_&C_A7_@C_ *!<'_?)_P :["BC_5_*
M_P#H$I_^"X?Y!RKL<?\ \*_\$?\ 0+@_[Y/^-!^'W@@@C^RX.?8_XUV%%+_5
M_*_^@2G_ ."X?Y!RKL>/>(/@AX'U:W8:=!]@FQ\K1$D9]P2?Z5X_X<\0>)?@
M_P"*!X:\1L9=/F/?D 'HZ_U%?8->-?'/P_#J_@F340H\^P82*W?:>"/US^%?
M <8\(4,#AY9[D4%0Q-!.?N)1C.,=91E%63TOT\C"K22]^&C1[#%+'/$LT)W(
MX!!'<&I*\G^"VLR:QX#MUF;+VQ,)^B_=_2O6*_0LDS2&99?A\?35E4BI6[76
MJ^3T-H2YHJ05^4O_  5 _;UO_P!E#P1:^ /A:5E\=>) 5MF(W"T@/!EP.KDD
M!!^/:OU9+*BEVZ*"3^%?S ?L_P"EP_MD_P#!7_Q'XG\9*+K2O";7=W$C?,C+
M8.D<*X/KYA/X5^M>'&38/$XG$YIF<.?#82FZLH_SM?!%^3>_>UMF?,<4X^O1
MI4L)A9<M6M)03_E75^J1ZM^R)_P2.N?BW9)\=?VX+^^U/4=9(NDTMY")663Y
MMUPQY!;/W5"XK];O#O[ ?[%WA6R&GZ'\-](BB  ^99)"<>[2&OKUF+$L>II*
M\[/O$'/<UKRJU,5*$/LPA)PA%=$HQ:6G=ZG3E_"^6X2FH*BI2ZRDDY-]6VSY
MB_X8J_9)_P"B>:-_WZ;_ .+H_P"&*OV2?^B>:-_WZ;_XNOIVBO _M_-/^@NI
M_P"!S_\ DCT/[)P/_/B'_@*_R/F+_ABK]DG_ *)YHW_?IO\ XNC_ (8J_9)_
MZ)YHW_?IO_BZ^G:*/[?S3_H+J?\ @<__ )(/[)P/_/B'_@*_R/F+_ABK]DG_
M *)YHW_?IO\ XNC_ (8J_9)_Z)YHW_?IO_BZ^G:*/[?S3_H+J?\ @<__ )(/
M[)P/_/B'_@*_R/F+_ABK]DG_ *)YHW_?IO\ XNC_ (8J_9)_Z)YHW_?IO_BZ
M^G:*/[?S3_H+J?\ @<__ )(/[)P/_/B'_@*_R/F+_ABK]DG_ *)YHW_?IO\
MXNC_ (8J_9)_Z)YHW_?IO_BZ^G:*/[?S3_H+J?\ @<__ )(/[)P/_/B'_@*_
MR/F+_ABK]DG_ *)YHW_?IO\ XNC_ (8J_9)_Z)YHW_?IO_BZ^G:*/[?S3_H+
MJ?\ @<__ )(/[)P/_/B'_@*_R/F+_ABK]DG_ *)YHW_?IO\ XNC_ (8J_9)_
MZ)YHW_?IO_BZ^G:*/[?S3_H+J?\ @<__ )(/[)P/_/B'_@*_R/F+_ABK]DG_
M *)YHW_?IO\ XNC_ (8J_9)_Z)YHW_?IO_BZ^G:*/[?S3_H+J?\ @<__ )(/
M[)P/_/B'_@*_R/F+_ABK]DG_ *)YHW_?IO\ XNC_ (8J_9)_Z)YHW_?IO_BZ
M^G:*/[?S3_H+J?\ @<__ )(/[)P/_/B'_@*_R/F+_ABK]DG_ *)YHW_?IO\
MXNC_ (8J_9)_Z)YHW_?IO_BZ^G:*/[?S3_H+J?\ @<__ )(/[)P/_/B'_@*_
MR/F+_ABK]DG_ *)YHW_?IO\ XNC_ (8J_9)_Z)YHW_?IO_BZ^G:*/[?S3_H+
MJ?\ @<__ )(/[)P/_/B'_@*_R/F+_ABK]DG_ *)YHW_?IO\ XNC_ (8J_9)_
MZ)YHW_?IO_BZ^G:*/[?S3_H+J?\ @<__ )(/[)P/_/B'_@*_R/F+_ABK]DG_
M *)YHW_?IO\ XNC_ (8J_9)_Z)YHW_?IO_BZ^G:*/[?S3_H+J?\ @<__ )(/
M[)P/_/B'_@*_R/F+_ABK]DG_ *)YHW_?IO\ XNC_ (8J_9)_Z)YHW_?IO_BZ
M^G:*/[?S3_H+J?\ @<__ )(/[)P/_/B'_@*_R/F+_ABK]DG_ *)YHW_?IO\
MXNC_ (8J_9)_Z)YHW_?IO_BZ^G:*/[?S3_H+J?\ @<__ )(/[)P/_/B'_@*_
MR/F+_ABK]DG_ *)YHW_?IO\ XNC_ (8J_9)_Z)YHW_?IO_BZ^G:*/[?S3_H+
MJ?\ @<__ )(/[)P/_/B'_@*_R/F+_ABK]DG_ *)YHW_?IO\ XNC_ (8J_9)_
MZ)YHW_?IO_BZ^G:*/[?S3_H+J?\ @<__ )(/[)P/_/B'_@*_R/F+_ABK]DG_
M *)YHW_?IO\ XNC_ (8J_9)_Z)YHW_?IO_BZ^G:*/[?S3_H+J?\ @<__ )(/
M[)P/_/B'_@*_R/F+_ABK]DG_ *)YHW_?IO\ XNC_ (8J_9)_Z)YHW_?IO_BZ
M^G:*/[?S3_H+J?\ @<__ )(/[)P/_/B'_@*_R/F!OV*/V1W4HWP\T;!&#^Z;
M_P"+KY<^-'_!(3]C#XJ:3,GA;P^/!^JLI\N\TUWQN[%TD+@CZ8K]0J*[,#Q=
MGF#JJMAL=5C)?WY-?--M/T:,:^0Y=6BX5,/!K_"OSW1_*U\)OC#^T/\ \$F?
MVBX?@=\:[B;5_A_JTP\ILEHA"[!1<0DYP5R-ZY/>OZF-,U/3=;TVWUK1IEN;
M.\B2>"5#E7CD 96'U!%?FO\ \%:?@=I/Q?\ V/M<UV6)3J7A3;J%K+CYE&X(
MZ@]>58U2_P""0GQ:O?BC^QGH]KJTWFW6A2R6//:)6.P?]\XK[SBZ5#B#A^EQ
M5"FH8F$_8UU%64VU>-2W1M:/NWY'SV2*IEF93R>4G*DX\].^Z5[./RZ'ZA44
M45^0GVX4444 %>>_%S_DE'B7_L&W'_H->A5Y[\7/^24>)?\ L&W'_H-14^"7
MHSJP7^\TO\4?S1_!Q_S$H_\ KZB_]&+7^A=X#_Y$?1O^O&W_ /1:U_GH_P#,
M2C_Z^HO_ $8M?Z%W@/\ Y$?1O^O&W_\ 1:U\)P-\>(_[=_\ ;C^G?I+_ ,'*
M_6K^5,ZNBBBOT(_E __5_OXHHHH **** /YI_P#@OI_R-WPT_P"N%]_2N!_X
M(=_\E/\ &?\ UX1?S>N^_P""^G_(W?#3_KA??TK@?^"'?_)3_&?_ %X1?S>O
MSE_\E*_5?^D(_KNC_P F=_[<?_I]G](U%%%?H1_)@4444 %>>_%QBOPF\4LI
MP1I%]_Z)>O0J\\^+W_))?%/_ &![[_T2]-;ET_C7J?RT?\&R #>//CC*PRYG
MCRW?_75_6U7\DO\ P;'_ /(\_'#_ *[Q_P#HX5_6U73C/XK/H^+_ /D:U?\
MMW_TE!1117*?,A1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 5^8G_
M  6:56_X)E?%;<,XTW/X@-7Z=U^8O_!9G_E&5\5O^P8?Y-5T_C7J>AE7^^T/
M\<?S1\Q_\&[S,?\ @G=IV3G&IW./_':_=:OPH_X-W?\ E'=IW_83N?\ V6OW
M7J\1_$EZF^?_ /(RQ'^-_F8_B+CPWJ1'_/I/_P"@&OQM_P""5 '_  FWCIN_
MF-S_ -M&K]DO$?\ R+>I?]>D_P#Z :_&[_@E1_R.OCG_ *Z-_P"C&KX#/O\
MD?Y7_P!Q/_23Z_AG_DF,[_[@_P#I3/VIHHHK[D_.0HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** /F/\ ;* /[-'BL'D?9#7SM_P2U)/[.=P#
MVU&3^M?1/[9/_)M/BO\ Z]#7SK_P2U_Y-TN/^PC)_6OA<5_R5F'_ .O,OS9^
MC83_ )(C%?\ 81#_ -)/TFJM>?\ 'G+_ +C?RJS5:\_X\Y?]QOY5]O4^"7HS
M\Y9\M_ /GQ5JI_V?ZFOJVOE+X!_\C3JO^[_4U]6U^;^$?_)-TO\ '4_]+9AA
MO@"BBBOTLW"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ KB/B1C_A
M!M3S_P \3_,5V]<1\2/^1&U/_KB?YBO&XC_Y%.,_Z]5/_2&3/X6><_L\?\BE
M=?\ 7Q_2O?:\"_9X_P"12NO^OC^E>^UX'AK_ ,DQ@/\ !_[<R*'\.)6O?^/"
MX_ZY/_(U_-1_P1J_>?MF_%.5^6^S7')Z\RC-?TKWW_'A<?\ 7)_Y&OYJ/^"-
M'_)Y/Q3_ .O:X_\ 1HK^C^!_^28XB_Z]TO\ TMGQW$?_ "-\K_Q3_)'],%%%
M%?E!]L%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110!\S?MH*K
M?LE_$(,,C^QI_P"0K\S_ /@@V3_PS+K8)S_Q,A_Z *_3']L__DTSXA?]@:?^
M5?F=_P $&_\ DV;6_P#L)#_T 5^KY/\ \F_S3_L(H_D?&8[_ )*;"?\ 7N?Z
MG[DT445^4'V84444 %>>_%S_ ))1XE_[!MQ_Z#7H5>>_%S_DE'B7_L&W'_H-
M14^"7HSJP7^\TO\ %'\T?P<?\Q*/_KZB_P#1BU_H7> _^1'T;_KQM_\ T6M?
MYZ/_ #$H_P#KZB_]&+7^A=X#_P"1'T;_ *\;?_T6M?"<#?'B/^W?_;C^G?I+
M_P '*_6K^5,ZNBBBOT(_E __UO[^**** "BBB@#^:?\ X+Z?\C=\-/\ KA??
MTK@?^"'?_)3_ !G_ ->$7\WKOO\ @OI_R-WPT_ZX7W]*X'_@AW_R4_QG_P!>
M$7\WK\Y?_)2OU7_I"/Z[H_\ )G?^W'_Z?9_2-1117Z$?R8%%%% !7GGQ>_Y)
M+XI_[ ]]_P"B7KT.O//B]_R27Q3_ -@>^_\ 1+TUN73^->I_+1_P;'_\CS\<
M/^N\?_HX5_6U7\DO_!L?_P CS\</^N\?_HX5_6U73C/XK/H^+_\ D:U?^W?_
M $E!1117*?,A1110 4444 %%?S!?\%P_^"XOQ@_X)2_M)_#OP1X8\/V>N>%M
M?MUNM5$AVW(C63:_E=MVS) . 3QD=:_876/VX? WQ'_X)YZA^W1^S3?VVNZ9
M-X?FU;3GSE!-$K;XI!P0\<BLCKV(- N9'WQ17XR_\$./^"AOQ8_X*6?LFZA\
M>/B_I]IINHVVLW%A'%9YV>5%MP3GOR:_5^?XJ?"RVUX>%KGQ/I,>IGI:M>1"
M7CC[N[K[=: N=W17R'^W7^UMX;_8?_9=\3_M+^([9=1A\.0).+(2K')<!G52
M(\_>(!S@ ]*\X_X)P?M_>!?^"A/[).A?M3Z;!!X<CUDW._3KBYC:6W6VF>(M
M)R-H.S.3QB@+]#] Z*R8?$'AZXTUM:MM1M9+%,[KE)D:%<=<N#M&/K2VFO\
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
MI/=Q$AX(IT>52O!#("6&#P<CBD,V**** "BBB@ HHHH **** "BBB@ HHHH
M**** /F/]LG_ )-I\5_]>AKYU_X):_\ )NEQ_P!A&3^M?17[9/\ R;3XK_Z]
M#7SK_P $M?\ DW2X_P"PC)_6OAL5_P E9A_^O,OS9^C83_DB,5_V$0_])/TF
MJM>?\><O^XW\JLU6O/\ CSE_W&_E7VU3X)>C/SEGRW\ _P#D:=5_W?ZFOJVO
ME+X!_P#(TZK_ +O]37U;7YOX1_\ )-TO\=3_ -+9AAOX84445^EFX4444 %%
M%% !1110 4444 %%%% !12@$G Y)K^;/_@K)_P %X-?_ &1_C[H_[#?[$W@A
M_BI\8M77-Q9P,2EEYB%HT"JK-)*>&*_* O?I0)NQ_2717\1-A_P7X_X+ _L*
M:UIGBK_@K#^S]=Z-X$UJ[$":E;VOV1X1P2J@M(KR 'H73-?V3?!SXS?#3X^?
M"'0/CM\*M6@U3PKXFL8]1L+]&Q%)!)GG)QC:05.<8(--H%),]0HKA=&^*?PN
M\1ZQ+X=\/>)M*O\ 4(6VO;07<;RAO3:&R3QVS74:CK>AZ.T<>LWUM9M,=L8N
M)5B+GT7<1D^PI#N:5%<@/B'\/3XF_P"$*77]..LE/,%B+E/M&T]]F<TC?$7X
M=IXD'@Q_$&FKK!&18FZC%Q]-F<Y]NM 7.PHK*O\ 7_#VDW,=GJ^H6MI--_JX
MYYDC=_\ =5B"?PK%MOB'\/;SQ#)X1L]?TZ75H?OV27,9G7V*9SGVZT!<Z^BL
MK4=>T#1IH[?6=0M;.2;_ %:3S)&S_P"Z&()_"I-1UG1=&MUO-:O;>RA8@+)<
M2K$A)Z ,Q S0!HT5^2W_  5<_P""K?@+_@EW\,_"GQ$UW2!XH_X2G5$TV.WM
MIT#Q[P2)2.?DP#S^6:_2GX6_$/1?BE\/M'\=Z/<6\BZG8V]W)'!,LHA,Z!]C
M%2<$9[T"OT/0**X2/XJ?"R;Q"WA&+Q/I+:JH#&T%Y%YV"<#Y=W7/&.N:[N@8
M4444 %%%% !1110 4444 %%%% !1110 5Q'Q(_Y$;4_^N)_F*[>N(^)'_(C:
MG_UQ/\Q7C<1_\BG&?]>JG_I#)G\+/.?V>/\ D4KK_KX_I7OM>!?L\?\ (I77
M_7Q_2O?:\#PU_P"28P'^#_VYD4/X<2M??\>%Q_UR?^1K^:C_ ((T?\GD_%/_
M *]KC_T:*_I7OO\ CPN/^N3_ ,C7\U'_  1H_P"3R?BG_P!>UQ_Z-%?TAP/_
M ,DOQ%_U[I?^EL^.XC_Y&^5_XI_DC^F"BBBOR<^V"BBB@ HHHH **** "BBB
M@ HJGJ.HZ?H^G7&L:O.EK:6D;33S2L%2.-!EF8G@ #DFOXS?C;_P</\ [>/[
M6GQQ\3? _P#X(O?!Z;QY9^$Y56XUYX3="1=S*6,(V*D9(^1C+D^G2BPFTC^S
MZBOY0OV O^"__P ?YOVI=+_86_X*L_#.?X6>.M:5%TV]E0P)/+(,J'C8?(&
M^4AV!]:^F?\ @I-_P5F^._['O_!3SX*?L8> -+L+WP[\2(H7OKB?/G1F2?RR
M4/3&T&G8.9']$E%<K9>/_AYJVOS^%]%U_3KO4;8E9+6&ZC>92.Q0'.?7TK7U
M?6]#\/63:EXAOK?3[9>#+<RK$F?3+$#-(9IT5R7A7X@> /'=N;KP-KNGZS&,
M@FSN$FQCKD*<_I5[Q'XL\*>#M/;5O&&J6FDVJ@DRWDRPKQ[L1G\* N;]%8?A
M[Q3X7\76"ZKX2U.TU6V8 B6TF69>>G*DX_&J]UXT\$V*W#WNM6$(LQNN-]S&
M#$!W<;LK^.* N=)17*V'COP)JEO:W6FZYI\T=\H>V9;E/WRGH8^<L#[9K7U3
M7-"T*%;C7KZVL(W.%>YE6%2?0%R 30%S3HK$U3Q/X8T/2_[<US4[2RLBN\7$
M\R1Q%<9R&)P1CD8JIX5\;^!_'5L+WP5K5CK$.,E[.=)L#IDA22.1WH"YTU%?
MSR_!3_@K%\;_ ![_ ,%IO%O_  3O\2Z?IMOX+\/V$UXNH;MDX*D!0V>,<GG-
M?OIX9\<>!_&BR2^#M9L=72%RDGV.=)MC*<$':3B@29TU%?D=X3'_  4Z;_@J
MUK1\3>(O"H_9R-DJ:?ID=PK:RTOV9"=T.=RN+C>Q."#%BOCW_@EE_P %:/VA
M/VZ?VW?V@/V8O&NF:;IVG_#"$C29X<[I)3-+&IE)[844!S']&=%?C%_P3O\
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
MFD?#O1S96][K4#$W5S:V979N=5WN0JC(_C_BZT7!IGQI_P %AOVGO&W[9_\
MP;\_L\?'[XG-YOB;4+];;4;C&WSI[=VC\P?[R*I/^UFOU^^&_P#P1Z^"_P"R
M9^POX_\ VZM7U_6/%?Q@\5_#"^MM9U6\N&-K*FH>3)(L<!)"!3$H7G@5U'_!
M3O\ X(:_$_XN?\$TOA+^P#^Q=):2P_#F6,R76JS"(S#<9))">I9G=B!Z8'%?
MMU\7?@+X^\;?\$]=8_9JT58?^$FOO" T6-7<"+[5L5>6SC;QUS2;'9G^8E^S
M+_P4A^*4'_!/[PW_ ,$J?@_JS_#VV\>>*WC\3>+KG<EO]BO)&VVZ21!I%#9&
M_ &[!4D*21_I=_\ !,O_ ()Z?L]_\$W/V7M(^"?P#ACN?M<<=]JVMX!GU:\D
M0%IW8=5YQ&N<*@"C@5_/)\"_^#:;7]:_X)(ZU^QQ^T;!IVE_%*QUV;Q%X<U[
M3)=WEW:AUB65UP7C:-VC*OPN[</F4$?M_P#\$=OA'_P4!_9T_9;@_9Y_;];3
MM4U+PLRP:'K5A<^>UQI^!B*XS@^9$255@N"@&3NS0PBGU/F7_@OC_P $L_ G
M_!4CX1^&?!-EX[TOP9\1_#$T\WAI=8N?)L[MKL(KQ2@!GPWEJ Z(Y4]CTK\A
MOB-^VW_P7W_X)7?"J.^_X*#_  XT'XN?#'39H;2]U*-DE5;1 % )* DX'RLR
M@GH<=:_8/_@N9_P2)^)W_!27PMX/^(O[./B]O"/Q'^'MQ)/IV]C%!=B0H0&E
M3YD>,J2A''S'-?DY^T;^QG_P<O?M\?!EOV./C[KWA+3/!\S01:C?0I'&]U%!
MQEV1"[>I Y)'6F@=[D/_  7=_P""JTWBS_@E-\%-8_8R>^\#>'_CG>1_VFNG
M(D=];Z>(V\ZR01N%61G*YVN-P!7(!K\/?BI\&_V1OAG\#?"_BW_@FY\)/CMX
M8^/_ (8>RN+;Q)JUG!#87#AE-R[B&[E90Z%]BA"""%/&:_K3_:X_X-]O#_Q=
M_P""7?PX_8H^#_BS^R_&OPBN(-5T37)X5\J]OHHV1TG&"4CD9_,!49WJN>,U
M\RQ_ _\ X.;_ (E^"=%_9OU+7/!7@BSTG[/;W?BZRAC:^E@AVJ6 \L@MM&2
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
M\_9_7XP?M!?'_P#X*E>)K<--XW\2ZM!I,RMF,QWMX]S.0O8[Q@'T],U\C_\
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
M *XG^8KQN(_^13C/^O53_P!(9,_A9YS^SQ_R*5U_U\?TKWVO OV>/^12NO\
MKX_I7OM>!X:_\DQ@/\'_ +<R*'\.)6OO^/"X_P"N3_R-?S4?\$:/^3R?BG_U
M[7'_ *-%?TKWW_'A<?\ 7)_Y&OYJ/^"-'_)Y/Q3_ .O:X_\ 1HK^D.!_^27X
MB_Z]TO\ TMGQW$?_ "-\K_Q3_)'],%%%%?DY]L%%%% !1110 4444 %%%% '
MYZ_\%;QJK?\ !+']HI-%3S)V^'GB!64<GRC9R;\ <YV]*_$?_@SSL?!T/_!-
M7Q#?: J'4Y?%EV-0<@>;E8H=BG'.P#[N>Y-?U5>(O#^A^+O#U_X3\3VL=]IF
MJ6\EI=VTRAXYH)E*NC*>"K D$'K7\;$7_!&'_@JM_P $M_VA?$_Q._X) ^.+
M"\\ ^*)/-D\.ZTWF"%V+$*8Y 4)3/#CDC@YP,/R)>]SPK_@[[@TBV_:Q_9.O
M],5D\0/+?#,:@,T2WMEY>\CY\@G"<$8)KD?^#B3PCX]^(?\ P6"_9;\"^$=7
M/A_6];T.TLO[0C?8]J+BXV2O$PY$BHS&,CG?CD=:^]/V3/\ @B#^W)^T=^V[
MIO[>_P#P6*\9V?B&\\,&.70M L2'@5QDA60*(TCCXX'+$ G../3/^"UG_!&?
M]KO_ (*%?MY_"S]HG]GW6++PYI'@?3HXFU!Y%%S;7D$_G0O'&>&56"Y![ C!
MS3N39GX]?\%IO^"4OPT_X(H1_#;]OW]A_P 3:[8>(])UZ(ZK/J.H27%U?3LR
MF1]Q(.)B6\U22&#$&OI'_@XPL_VD?VC?"?[./QZ\0^%_$7B?X$SZ;;ZOXMTK
MP^S8\YO+W&1%(S)M+>6Q!"Y/(KT#]IO_ ()0_P#!;S_@J+\:_!'P[_;Y\3^&
MK/X;^!]1CDN;O2P$-[;*R[Y?*50'FDC' <;58]A7["?\%&_V2/\ @IA%=^ _
M%_\ P3!\?6NE:7X1MX+2_P#!^KJC6%]%; !2=RL/F&=P!'M0%C^?O_@EA'_P
M29\3?\%(/"WC;]@WXB>./V>/$'[JUOOA_P"*],C$7B)2#E(Y4N75 3\WS#/'
M ZU\P?\ !2+]I+P+^V7_ ,%L_'7P<_;JT/QYXV^$WPQ>6STCPEX#2.69;BU*
MQF>1)9H5Q)\V]\EOFV@8)-?K'\-_^"1__!1[]M+_ (*.> ?V[/V];'PE\/;'
MP!MD2S\,)MGO982-@?"CKR=Q.1T'6O;OVR/^"3'[<_P._P""D.K_ /!3G_@E
MOJ6AW6H>++;RM>\.^($#1EV">88V(.5E=/,/.Y6.!Q0*S/R5_P""4GBS5?V5
M?^"NWA_1?V#? WQ.\+_L]?$8_8]=T/QI9H@M[Z1&1)5:*:=-L;^6WF$AMN4(
M( ->0?!#]AK2_P#@H+_P<%_M&_LS^/\ 7K[1_ %S>7-]XA@TR=K>YOX[1%,,
M =>D;,S;^>G8U_3!^P=^SK_P68\:?M8Q_M*_\% O'&C^'/!=C _V7P3X<AC$
M-Q.R[5,K[ RK&?GX;+'@C'7S_P#8&_X)4_M0?LW_ /!9/XQ_MW_$,:</!7C^
M.[6P$$X>Y4RJH3>G;)!]?PHN%C\PO^#B;_@GMI?[#_[.W[-W[4'[*;W5I8_
M"[3P_*S9N+TV,S)+;S22<96'R6C.?^>O:N#_ ."WOQSA_P""M/[0W['G[#?P
M0DAO[#QS9Z;XSU*"5RDD$=]!YRAV4,5W63R$?[6!QUK^P_\ ;P_9<T']M']D
M3QW^S/XA4M%XITU[>(AMA$X(:,[N,88#)STK^<3_ ((;?\$(/VL/V)OVM[O]
MJ+]MC5M/UBZTCP]#H6A16T@N0D<*QQQ_,1E/*BCV)C^'O2N-Q.4_X+G^ _\
M@G%X?^+WPR^#7[67QA\4-X5\!Z%9VUA\&_".FF[N]2ALE,4$K3"5%5RJ ;7Y
MPN>!S7Y$_P#!-_XA_"KX ?\ !?\ ^'7A?]@GPWXV^%WP\\?6UM::GX>\8[8K
MJ[CG:0,SQ1S2H8P,&(LQ*MNQCO\ MC^WI_P29_X*!^$O^"P,7_!67]B/^PO&
MT]W&@DT+Q(Q$-K)]C^PNBJ!S$T8\P$?,LA/M69X!_P""2_\ P52^(?\ P5Y^
M&?\ P4K_ &K;KPF]OH36G]HV6B.8TLK>!W80PJ54OM#D[FR221SQ30K,_.K7
M?V64_;)_X.5/B;\ -:\0W_A[PYJ^FR_VRVE7#6M[<6R,/W4<BD,N<_,1_6LC
MQW\ H_\ @@%_P75^$_@O]D_6M0'PU^)\=M%=Z+<7#7$KQN!%(LQ/#8E971L9
M"@CI7Z-_'#_@C;_P5#3_ (*R>+_^"CO[*/B30_#,YAE;1#?%9ENF)!\FYC(;
M;$XZE1NR!TYJM^S1_P $=?\ @H_^U+_P5'T3_@I!_P %3=:TB"+PAL-CH^EG
MS(YI;5/)A1(L;(HL$R,PPS. ?4T7"QX3\/=-L9_^#S[Q5<W$2O);6@>)CR49
MM B4D>A*DCZ&L_\ X-\0#_P5:_;8!_Y\Y?\ THGK]1?"/_!*?]J30_\ @X>U
MS_@J#='3/^%;:I (D43YO01I:6G^K_ZZK^1K._X)1?\ !)W]J;]C/]M[]HO]
MHCXOC33HGQ5MI(](6TG$DJL9I7 D7^'Y67N?PI%6U/P$_P"#>O\ 97^$/[6W
M[%'[:?PH^+]K-+ID]QI-T[VLIAF\RT^WO%\XYPI)X]S7MO\ P:<_\$W_ -ES
MXSV?BO\ :Z^(>GW5YXM\#:ZVF:6WGL+=+>ZBFCDW1]&8ID;CR 37Z_?\$'?^
M"0'[37_!/KP+\?O G[3<^FQV_P 46LQILFF3><ZK']J$I?/ P)D('/>O)O\
M@D'_ ,$V/^"JG_!+3]IO7/A'83:!K?P*\3ZO+?WMQE?MPB7>(74D!@^& 90<
M=:;9*6Q\:?\ !)GQM:_\$FO^"R_[3W[&OQDO(=-\*7EMJWC/3$@5B'M+>-M3
M0*6 W&.PSNVY^=",UVO_  ;+?"35/VLOVS/CY_P5P^)RIJ=QJ>KW6C^';N>$
MQSH)0 \J C&UK5XXN.<J0:\9_P"#NCPEI/@;XN_"G]I_X%^(HX?'FJPZAX.N
M;6PEB:8VUW#-%)O )8,Z2-"=V.&Q7]2O_!'S]D^Q_8S_ ."=OPU^#<<+PWQT
MR/4;Y9<&1;B]S,P)'7&_BAC2UL?IC1114F@4444 %%%% !1110 4444 ?,_[
M9_\ R:9\0O\ L#3_ ,J_,[_@@W_R;-K?_82'_H K],?VS_\ DTSXA?\ 8&G_
M )5^9W_!!O\ Y-FUO_L)#_T 5^KY-_R;_-/^PBC^1\9CO^2EPG_7N?ZG[DT4
M45^4'V84444 %>>_%S_DE'B7_L&W'_H->A5Y[\7/^24>)?\ L&W'_H-14^"7
MHSJP7^\TO\4?S1_!Q_S$H_\ KZB_]&+7^A=X#_Y$?1O^O&W_ /1:U_GH_P#,
M2C_Z^HO_ $8M?Z%W@/\ Y$?1O^O&W_\ 1:U\)P-\>(_[=_\ ;C^G?I+_ ,'*
M_6K^5,ZNBBBOT(_E __0_OXHHHH **** /YI_P#@OI_R-WPT_P"N%]_2N!_X
M(=_\E/\ &?\ UX1?S>N^_P""^G_(W?#3_KA??TK@?^"'?_)3_&?_ %X1?S>O
MSE_\E*_5?^D(_KNC_P F=_[<?_I]G](U%%%?H1_)@4444 %>>?%[_DDOBG_L
M#WW_ *)>O0Z\\^+W_))?%/\ V![[_P!$O36Y=/XUZG\M'_!L?_R//QP_Z[Q_
M^CA7];5?R2_\&Q__ "//QP_Z[Q_^CA7];5=.,_BL^CXO_P"1K5_[=_\ 24%%
M%%<I\R%%%% !1110 4444 %+N.-N>*2B@ I22>#VI** "BBB@ I=S$8)XI**
M "BBB@ HHHH *4LQ&":2B@ I=Q(P3Q244 %%%% !1110 4NXD8)XI** "E+,
M>IS244 %*26.2<TE% !1110 4444 %%%% !7YB_\%F?^497Q6_[!A_DU?IU7
MYB_\%F?^497Q6_[!A_DU73^->IZ&5?[[0_QQ_-'S%_P;N_\ *.[3O^PG<_\
MLM?NO7X4?\&[O_*.[3O^PG<_^RU^Z]7B/XDO4WS_ /Y&6(_QO\S'\1_\BWJ7
M_7I/_P"@&OQN_P""5'_(Z^.?^NC?^C&K]D?$?_(MZE_UZ3_^@&OQN_X)4?\
M(Z^.?^NC?^C&KX'/O^1_E?\ W$_])/K^&?\ DF,[_P"X/_I3/VIHHHK[@_.0
MHHHH **** "BBB@ HHHH **** "BBB@ IP9@, \4VB@ I0S 8!I** "EW,!@
M'BDHH *4DGK244 %%%% !3@Q (]01^=-HH _$S0_^#?W_@GI:_M32_M>^-[/
M6_&?B=M3EU>*WUZ^:YL(;N5M^](<@85N54Y4'!QD#'[:$Y.:2B@25@HHHH&%
M%%% !1110 4444 %%%% !1110 4444 ?,?[9/_)M/BO_ *]#7SK_ ,$M?^3=
M+C_L(R?UKZ*_;)_Y-I\5_P#7H:^=?^"6O_)NEQ_V$9/ZU\-BO^2LP_\ UYE^
M;/T;"?\ )$8K_L(A_P"DGZ356O/^/.7_ '&_E5FJUY_QYR_[C?RK[:I\$O1G
MYRSY;^ ?_(TZK_N_U-?5M?*7P#_Y&G5?]W^IKZMK\W\(_P#DFZ7^.I_Z6S##
M?PPHHHK]+-PHHHH **** "BBB@ HHHH **** "BBB@!2Q;J<TE%% "EB1@GI
M2444 %%%% 'YJ_MH?\$J/V8_V[_C1X#^//QLN-7AUWX=2>9I(T^9(X=V]'_>
M*RMNY05^ELDC2,6;N<TRB@5@H)SR:**!A2DD\FDHH 7<<;<\4E%% !1110 4
M444 %%%% !1110 4444 %%%% !7$?$C_ )$;4_\ KB?YBNWKB/B1_P B-J?_
M %Q/\Q7C<1_\BG&?]>JG_I#)G\+/.?V>/^12NO\ KX_I7OM>!?L\?\BE=?\
M7Q_2O?:\#PU_Y)C ?X/_ &YD4/X<2M??\>%Q_P!<G_D:_FH_X(T?\GD_%/\
MZ]KC_P!&BOZ5[[_CPN/^N3_R-?S4?\$:/^3R?BG_ ->UQ_Z-%?TAP/\ \DOQ
M%_U[I?\ I;/CN(_^1OE?^*?Y(_I@HHHK\G/M@HHHH **** "BBB@ HHHH *4
M$@Y%)10 I))R:2BB@!<G&*2BB@!22QR3F@$@Y%)10 I))R:2BB@ HHHH 4$C
MD'%)110 4I)/6DHH **** "I(I6BD61>JD,/J*CHH _#:V_X-Y/^"==Y^T[<
M_M7?$.W\0^,=?GUZ?Q(MGK&IRR:?%?SW!N0R1(RX2.4Y6/.P@!6!&17[D@
M*H"@   #  '0 #@ =A110)*P4444#"BBB@ HHHH **** "BBB@#YG_;/_P"3
M3/B%_P!@:?\ E7YG?\$&_P#DV;6_^PD/_0!7Z8_MG_\ )IGQ"_[ T_\ *OS.
M_P""#?\ R;-K?_82'_H K]7R;_DW^:?]A%'\CXS'?\E+A/\ KW/]3]R:***_
M*#[,**** "O/?BY_R2CQ+_V#;C_T&O0J\]^+G_)*/$O_ &#;C_T&HJ?!+T9U
M8+_>:7^*/YH_@X_YB4?_ %]1?^C%K_0N\!_\B/HW_7C;_P#HM:_ST?\ F)1_
M]?47_HQ:_P!"[P'_ ,B/HW_7C;_^BUKX3@;X\1_V[_[<?T[])?\ @Y7ZU?RI
MG5T445^A'\H'_]'^_BBBB@ HHHH _FG_ ."^G_(W?#3_ *X7W]*X'_@AW_R4
M_P 9_P#7A%_-Z[[_ (+Z?\C=\-/^N%]_2N!_X(=_\E/\9_\ 7A%_-Z_.7_R4
MK]5_Z0C^NZ/_ "9W_MQ_^GV?TC4445^A'\F!1110 5YY\7O^22^*?^P/??\
MHEZ]#K'\1:-#XC\.ZAX>N#B._M9K=B/25"O]::*@[23/Y/?^#8__ )'GXXC_
M *;Q_P#HX5_6U7\<?_!!W7Y?V>O^"D_QF_9E\;DV%SJ\=U'9P2D M-;732K_
M -]6X!'UK^QSIQ73C-:ESZ7B]?\ "G.:VDHM>G*@HHHKE/F HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH *_,7_@LS_RC*^*W_8,/\FK].J_#'_@X
M/^//A[X5_L :K\.[J5?[4\;W,5E;0[L/Y:',C8ZD -6E%7G%+N>GDM.53'T(
M16O-'\[E?_@W=!'_  3NT[/_ $$[G_V6OW6K\MO^",WP>U3X+_\ !//P'H>O
M0&WO]0MC?SH>QFP1^@K]2:=9WJ2?F&=5(U,?7G'9RE^9C^(_^1;U+_KTG_\
M0#7XW?\ !*C_ )'7QS_UT/\ Z,:OVFEM8K^%["<X2X4Q,?9Q@_SK\+_^">^L
M-\*OVJ_%_P (O%(^SWE^\\4*-Q^\CD>0#ZLC+CUKX#B.2IYWE5:>D>:<;^;2
M2^]['VO"475X=SNA#6?+3E;KRQD[OY=3]TZ***^Z/S<**** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@#YC_;)_Y-I\5_\ 7H:^=?\ @EJ/^,=+
MC_L(R?UKM/\ @HQ\1],\#_LWZAH=PX^V:\PM;=,X8XY8X[@<9^M:_P#P3S\%
MW/@_]EO0[B\4I)JY>_ (P?+EP4/XBOA:EJO%D.1W]G1?-Y7>GYIGZ/3BZ/ ]
M1U%;VF(7+Y\L=7^A]MU6O/\ CSE_W&_E5FFN@D4QMT88/XU]Q)7BTC\X/E3X
M!_\ (TZK_N_U-?5M?)?PUN5\*?%:_P!!OOD-PS1KGCG.1^>:^M*_-/"62CD3
MPS?OTZM2,EU3YKZ_)G/AO@L%%%%?IIT!1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 5Q'Q(_Y$;4_^N)_F*[>O)OC5K<.C^ [B!C^]O2(8QW]2?I@
M5\]Q;B:>'R3&U:KLE2G][BTE\VTB*CM%MG-_L\?\BE=?]?']*]]KR'X'Z5+I
MG@*&288:Z=I?^ GI^E>O5Y_A]AIT.&\!3J*S]FG_ .!7DOP9-%6IQ16O?^/"
MX_ZY/_(U_-1_P1HX_;*^*8/7[-<?^C17]+SHLJ-$W 8$'\:_F*_8SU!?V7?^
M"N'C#X;>,2+2S\2_;K2U+G:"UQ(DD!].51J_HKP^3KY%Q!@Z>M25&,DNZA*\
MOP9\=Q0N3,,MKR^%5&GZR2M^1_3O12D%25/!%)7Y,?;!1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 ?,_P"V?_R:9\0O^P-/_*OS._X(-Y_X
M9EUO_L)#_P! %?7?_!4GXOZ1\)?V,O%*WLBB[U^)=.M(R<,S.P+$>N%!S7F?
M_!&WX97_ ,/OV,]-U+58S%/KEQ+=*".L6XA#^( K]7P"=#P]QDZFBK8FFH^?
M+&[MZ'QF(M4XFH*'V*4F_*[LC]6J***_*#[,**** "O/?BY_R2CQ+_V#;C_T
M&O0J\]^+G_)*/$O_ &#;C_T&HJ?!+T9U8+_>:7^*/YH_@X_YB4?_ %]1?^C%
MK_0N\!_\B/HW_7C;_P#HM:_ST?\ F)1_]?47_HQ:_P!"[P'_ ,B/HW_7C;_^
MBUKX3@;X\1_V[_[<?T[])?\ @Y7ZU?RIG5T445^A'\H'_]+^_BBBB@ HHHH
M_FG_ ."^G_(W?#3_ *X7W]*X'_@AW_R4_P 9_P#7A%_-Z[[_ (+Z?\C=\-/^
MN%]_2N!_X(=_\E/\9_\ 7A%_-Z_.7_R4K]5_Z0C^NZ/_ "9W_MQ_^GV?TC44
M45^A'\F!1110 4H)4AAU%)10!_*)_P %N/V+_B[\"/C9H_\ P5#_ &1[>9;_
M $J6.7Q!':KO:W>$ "Y=!\S1.H"2XSM7).!S7Z-_L"?\%K?V7/VMO!6GZ;\1
MM:M/!?C=$6.[L=0F6*":4<%X97(4J>N,G&<&OV:N;:UOK66QOHDG@G0QR12J
M'1T88*LK9!!'4$5^'G[5G_! ?]B[]HSQ%/XX\'I=> =8N7,DS:0P6!W/?RV5
M@N>^W%=*J0G%1J=.I]/0S+!XK#0PN8IJ4-(U(ZM+M)=4NG_#G['6WQ4^%EY"
MMS9>)](FC;H\=["RGZ$,14__  LKX;?]#%I?_@9%_P#%5_*W<?\ !L?KR3LF
MF_&"]2 'Y%99,@>^' _2H?\ B&2\6?\ 18KO_OF7_P".4>RI?S_@+^S,H_Z#
M_P#R1G]57_"ROAM_T,6E_P#@9%_\51_PLKX;?]#%I?\ X&1?_%5_*K_Q#)>+
M/^BQ7?\ WS+_ /'*/^(9+Q9_T6*[_P"^9?\ XY1[*E_/^##^S,H_Z#__ "1G
M]57_  LKX;?]#%I?_@9%_P#%4?\ "ROAM_T,6E_^!D7_ ,57\JO_ !#)>+/^
MBQ7?_?,O_P <H_XADO%G_18KO_OF7_XY1[*E_/\ @P_LS*/^@_\ \D9_55_P
MLKX;?]#%I?\ X&1?_%4?\+*^&W_0Q:7_ .!D7_Q5?RJ_\0R7BS_HL5W_ -\R
M_P#QRC_B&2\6?]%BN_\ OF7_ ..4>RI?S_@P_LS*/^@__P D9_55_P +*^&W
M_0Q:7_X&1?\ Q5'_  LKX;?]#%I?_@9%_P#%5_*K_P 0R7BS_HL5W_WS+_\
M'*/^(9+Q9_T6*[_[YE_^.4>RI?S_ (,/[,RC_H/_ /)&?U5?\+*^&W_0Q:7_
M .!D7_Q5'_"ROAM_T,6E_P#@9%_\57\JO_$,EXL_Z+%=_P#?,O\ \<H_XADO
M%G_18KO_ +YE_P#CE'LJ7\_X,/[,RC_H/_\ )&?U5?\ "ROAM_T,6E_^!D7_
M ,51_P +*^&W_0Q:7_X&1?\ Q5?RJ_\ $,EXL_Z+%=_]\R__ !RC_B&2\6?]
M%BN_^^9?_CE'LJ7\_P"##^S,H_Z#_P#R1G]57_"ROAM_T,6E_P#@9%_\51_P
MLKX;?]#%I?\ X&1?_%5_*K_Q#)>+/^BQ7?\ WS+_ /'*/^(9+Q9_T6*[_P"^
M9?\ XY1[*E_/^##^S,H_Z#__ "1G]57_  LKX;?]#%I?_@9%_P#%4?\ "ROA
MM_T,6E_^!D7_ ,57\JO_ !#)>+/^BQ7?_?,O_P <H_XADO%G_18KO_OF7_XY
M1[*E_/\ @P_LS*/^@_\ \D9_55_PLKX;?]#%I?\ X&1?_%4?\+*^&W_0Q:7_
M .!D7_Q5?RJ_\0R7BS_HL5W_ -\R_P#QRC_B&2\6?]%BN_\ OF7_ ..4>RI?
MS_@P_LS*/^@__P D9_55_P +*^&W_0Q:7_X&1?\ Q5'_  LKX;?]#%I?_@9%
M_P#%5_*K_P 0R7BS_HL5W_WS+_\ '*/^(9+Q9_T6*[_[YE_^.4>RI?S_ (,/
M[,RC_H/_ /)&?U5?\+*^&W_0Q:7_ .!D7_Q5'_"ROAM_T,6E_P#@9%_\57\J
MO_$,EXL_Z+%=_P#?,O\ \<H_XADO%G_18KO_ +YE_P#CE'LJ7\_X,/[,RC_H
M/_\ )&?U5?\ "ROAM_T,6E_^!D7_ ,51_P +*^&W_0Q:7_X&1?\ Q5?RJ_\
M$,EXL_Z+%=_]\R__ !RC_B&2\6?]%BN_^^9?_CE'LJ7\_P"##^S,H_Z#_P#R
M1G]57_"ROAM_T,6E_P#@9%_\51_PLKX;?]#%I?\ X&1?_%5_*K_Q#)>+/^BQ
M7?\ WS+_ /'*/^(9+Q9_T6*[_P"^9?\ XY1[*E_/^##^S,H_Z#__ "1G]57_
M  LKX;?]#%I?_@9%_P#%4?\ "ROAM_T,6E_^!D7_ ,57\JO_ !#)>+/^BQ7?
M_?,O_P <H_XADO%G_18KO_OF7_XY1[*E_/\ @P_LS*/^@_\ \D9_55_PLKX;
M?]#%I?\ X&1?_%4?\+*^&W_0Q:7_ .!D7_Q5?RJ_\0R7BS_HL5W_ -\R_P#Q
MRC_B&2\6?]%BN_\ OF7_ ..4>RI?S_@P_LS*/^@__P D9_55_P +*^&W_0Q:
M7_X&1?\ Q5'_  LKX;?]#%I?_@9%_P#%5_*K_P 0R7BS_HL5W_WS+_\ '*/^
M(9+Q9_T6*[_[YE_^.4>RI?S_ (,/[,RC_H/_ /)&?U5?\+*^&W_0Q:7_ .!D
M7_Q5'_"ROAM_T,6E_P#@9%_\57\JO_$,EXL_Z+%=_P#?,O\ \<H_XADO%G_1
M8KO_ +YE_P#CE'LJ7\_X,/[,RC_H/_\ )&?U5?\ "ROAM_T,6E_^!D7_ ,51
M_P +*^&W_0Q:7_X&1?\ Q5?RJ_\ $,EXL_Z+%=_]\R__ !RC_B&2\6?]%BN_
M^^9?_CE'LJ7\_P"##^S,H_Z#_P#R1G]57_"ROAM_T,6E_P#@9%_\537^)WPR
MC0R2^)-*11R2;R( ?^/5_*O_ ,0R7BS_ *+%=_\ ?,O_ ,<J2+_@V1\2F51=
M?&&\,>?F"B3./;+T>RI?S_@+^S,H_P"@_P#\D9^Y7[4__!4W]BS]DSPY<ZIX
MT\86.L:E%&7ATO29TNKB9NR_NRP7)X)/ ZFOYIO@-\+?VDO^"\_[8UK^T1\=
MX)-(^$7AB\'DVZJ1;FVB?=]D@)^^\@_ULF3C.,C''ZE_ 7_@W"_9 ^'.MP^)
M?B]JNJ>.YXF5_L]Y($@RIS@[ &*GN"U?OQX-\%^$/AWX9M/!?@+3+;1M)L(Q
M';VEI&(XHU'H!U]R<DT_:0IK]WJ^_P#D:QS' Y?3DLNO.K)6YY*W*NO*N_F;
M.FZ=I^C:;;Z-I,*6]I:1+##$@PJ(@P !VJ[117*?*A7X^?\ !03]G?Q9X>\6
MVW[6/P=62/4-->.?4! ,NCPG*SX'4  !^V!S7[!TUTCEC:&95='!5E8!E8'J
M"#P1[&O&SW):6:826&J.SWC);QDMFOZV/>X;X@KY-CHXRBE)6:E%[3B]XOU_
M,^!/V;/V_OA/\8M#MM/\;7T.@Z^J*LJ7#!(96'!9'/'/IFOMF'QGX+N(Q+;Z
MS82(>C+<QD'\0:^)/C+_ ,$Y?@3\4]0EU[1%E\.7\S%W:SP(V)_V2#C\*^79
MO^"3FJK(19^-95C_ (00^<?@PKYRGC>)L'%4:N%C7MM.,E&_FT^O<^MK9=P=
MCY/$4,;/#7U=.5-SY?)236G8_8+_ (2WPC_T%K+_ ,"$_P :/^$M\(_]!:R_
M\"$_QK\>?^'3NO\ _0[2?D__ ,71_P .G=?_ .AVD_)__BZT_MWB'_H5_P#E
M2)E_JWPM_P!#K_RC+_Y(_8;_ (2WPC_T%K+_ ,"$_P :/^$M\(_]!:R_\"$_
MQK\>?^'3NO\ _0[2?D__ ,71_P .G=?_ .AVD_)__BZ/[=XA_P"A7_Y4B'^K
M?"W_ $.O_*,O_DC]AO\ A+?"/_06LO\ P(3_ !H_X2WPC_T%K+_P(3_&OQY_
MX=.Z_P#]#M)^3_\ Q='_  Z=U_\ Z':3\G_^+H_MWB'_ *%?_E2(?ZM\+?\
M0Z_\HR_^2/V&_P"$M\(_]!:R_P# A/\ &C_A+?"/_06LO_ A/\:_'G_AT[K_
M /T.TGY/_P#%T?\ #IW7_P#H=I/R?_XNC^W>(?\ H5_^5(A_JWPM_P!#K_RC
M+_Y(_8;_ (2WPC_T%K+_ ,"$_P :/^$M\(_]!:R_\"$_QK\>?^'3NO\ _0[2
M?D__ ,71_P .G=?_ .AVD_)__BZ/[=XA_P"A7_Y4B'^K?"W_ $.O_*,O_DC]
MAO\ A+?"/_06LO\ P(3_ !H_X2WPC_T%K+_P(3_&OQY_X=.Z_P#]#M)^3_\
MQ='_  Z=U_\ Z':3\G_^+H_MWB'_ *%?_E2(?ZM\+?\ 0Z_\HR_^2/V&_P"$
MM\(_]!:R_P# A/\ &C_A+?"/_06LO_ A/\:_'G_AT[K_ /T.TGY/_P#%T?\
M#IW7_P#H=I/R?_XNC^W>(?\ H5_^5(A_JWPM_P!#K_RC+_Y(_8;_ (2WPC_T
M%K+_ ,"$_P :/^$M\(_]!:R_\"$_QK\>?^'3NO\ _0[2?D__ ,71_P .G=?_
M .AVD_)__BZ/[=XA_P"A7_Y4B'^K?"W_ $.O_*,O_DC]AO\ A+?"/_06LO\
MP(3_ !H_X2WPC_T%K+_P(3_&OQY_X=.Z_P#]#M)^3_\ Q='_  Z=U_\ Z':3
M\G_^+H_MWB'_ *%?_E2(?ZM\+?\ 0Z_\HR_^2/V&_P"$M\(_]!:R_P# A/\
M&C_A+?"/_06LO_ A/\:_'G_AT[K_ /T.TGY/_P#%T?\ #IW7_P#H=I/R?_XN
MC^W>(?\ H5_^5(A_JWPM_P!#K_RC+_Y(_8;_ (2WPC_T%K+_ ,"$_P :/^$M
M\(_]!:R_\"$_QK\>?^'3NO\ _0[2?D__ ,71_P .G=?_ .AVD_)__BZ/[=XA
M_P"A7_Y4B'^K?"W_ $.O_*,O_DC]AO\ A+?"/_06LO\ P(3_ !H_X2WPC_T%
MK+_P(3_&OQY_X=.Z_P#]#M)^3_\ Q='_  Z=U_\ Z':3\G_^+H_MWB'_ *%?
M_E2(?ZM\+?\ 0Z_\HR_^2/V&_P"$M\(_]!:R_P# A/\ &C_A+?"/_06LO_ A
M/\:_'G_AT[K_ /T.TGY/_P#%T?\ #IW7_P#H=I/R?_XNC^W>(?\ H5_^5(A_
MJWPM_P!#K_RC+_Y(_8;_ (2WPC_T%K+_ ,"$_P :/^$M\(_]!:R_\"$_QK\>
M?^'3NO\ _0[2?D__ ,71_P .G=?_ .AVD_)__BZ/[=XA_P"A7_Y4B'^K?"W_
M $.O_*,O_DC]AO\ A+?"/_06LO\ P(3_ !H_X2WPC_T%K+_P(3_&OQY_X=.Z
M_P#]#M)^3_\ Q='_  Z=U_\ Z':3\G_^+H_MWB'_ *%?_E2(?ZM\+?\ 0Z_\
MHR_^2/V&_P"$M\(_]!:R_P# A/\ &C_A+?"/_06LO_ A/\:_'G_AT[K_ /T.
MTGY/_P#%T?\ #IW7_P#H=I/R?_XNC^W>(?\ H5_^5(A_JWPM_P!#K_RC+_Y(
M_8;_ (2WPC_T%K+_ ,"$_P :/^$M\(_]!:R_\"$_QK\>?^'3NO\ _0[2?D__
M ,71_P .G=?_ .AVD_)__BZ/[=XA_P"A7_Y4B'^K?"W_ $.O_*,O_DC]AO\
MA+?"/_06LO\ P(3_ !H_X2WPC_T%K+_P(3_&OQY_X=.Z_P#]#M)^3_\ Q='_
M  Z=U_\ Z':3\G_^+H_MWB'_ *%?_E2(?ZM\+?\ 0Z_\HR_^2/V&_P"$M\(_
M]!:R_P# A/\ &C_A+?"/_06LO_ A/\:_'G_AT[K_ /T.TGY/_P#%T?\ #IW7
M_P#H=I/R?_XNC^W>(?\ H5_^5(A_JWPM_P!#K_RC+_Y(_84^+O""@LVKV0 [
M_:$_QKPGXM?M<? CX/:3+?:YKMM>W*KE+6RD6:1SZ?(3C\:_/)/^"3NN;AYG
MC:3;GG ?./\ ONO9OAU_P2U^#GAK4$U3QSJ-WK[(0?)D;;'D>N!DC\:3S3B6
MNO9TL#&FW]J4TTO.RU94<FX0P[]K7S.=5+[,*3BWY7;:1\@^$M ^)?\ P4E^
M.@\<>+HY++P3I#B)57B*.-3GRD/\4C<;R#D<9[5^]^G:?8Z1IUOI.F1+!;6L
M:Q11H,*B*,  #@ 50\.>&O#W@_18/#OA6RAT^QMQB."! BCWXZGW/-;=>OP]
MD']G0G4K3]I7J.\Y]WV79+I_27A<4\3/-:E.E0I^RPU)<M.FNBZM]Y/J_P#A
MV4445]$?*'SY\9?A[>ZG*GC/PV&^VVX'F*GWF"\AA[BIO /QLTG5+6/3O%<@
MMKQ %,C<(Y'?V->^UY=XK^$7A'Q3*UX\7V6X;K)%QD^XZ5^:YMPOF>!S&IG/
M#<XJ=3^+2G=0J/\ F37PR\]/75IX2IR4N:'W'H$6LZ/.N^"[@<>JR*?ZU)_:
M6F_\_,7_ 'VO^-?-DW[.LBOBSU1@O^T/\*B_X9WU#_H*_H?\:S?$_%T79Y(G
MZ5HV_(7M*G\GXGTQ_:6F_P#/S%_WVO\ C1_:6F_\_,7_ 'VO^-?,_P#PSOJ'
M_05_0_XT?\,[ZA_T%?T/^-+_ %HXN_Z$?_E:/^0_:5/Y/Q/IC^TM-_Y^8O\
MOM?\:/[2TW_GYB_[[7_&OF?_ (9WU#_H*_H?\:/^&=]0_P"@K^A_QH_UHXN_
MZ$?_ )6C_D'M*G\GXGTQ_:6F_P#/S%_WVO\ C1_:6F_\_,7_ 'VO^-?,_P#P
MSOJ'_05_0_XT?\,[ZA_T%?T/^-'^M'%W_0C_ /*T?\@]I4_D_$^F/[2TW_GY
MB_[[7_&C^TM-_P"?F+_OM?\ &OF?_AG?4/\ H*_H?\:/^&=]0_Z"OZ'_ !H_
MUHXN_P"A'_Y6C_D'M*G\GXGTQ_:6F_\ /S%_WVO^-']I:;_S\Q?]]K_C7S/_
M ,,[ZA_T%?T/^-'_  SOJ'_05_0_XT?ZT<7?]"/_ ,K1_P @]I4_D_$^F/[2
MTW_GYB_[[7_&C^TM-_Y^8O\ OM?\:^9_^&=]0_Z"OZ'_ !H_X9WU#_H*_H?\
M:/\ 6CB[_H1_^5H_Y![2I_)^)],?VEIO_/S%_P!]K_C1_:6F_P#/S%_WVO\
MC7S/_P ,[ZA_T%?T/^-'_#.^H?\ 05_0_P"-'^M'%W_0C_\ *T?\@]I4_D_$
M^F/[2TW_ )^8O^^U_P :/[2TW_GYB_[[7_&OF?\ X9WU#_H*_H?\:/\ AG?4
M/^@K^A_QH_UHXN_Z$?\ Y6C_ )![2I_)^)],?VEIO_/S%_WVO^-']I:;_P _
M,7_?:_XU\S_\,[ZA_P!!7]#_ (T?\,[ZA_T%?T/^-'^M'%W_ $(__*T?\@]I
M4_D_$^F/[2TW_GYB_P"^U_QH_M+3?^?F+_OM?\:^9_\ AG?4/^@K^A_QH_X9
MWU#_ *"OZ'_&C_6CB[_H1_\ E:/^0>TJ?R?B?3']I:;_ ,_,7_?:_P"-']I:
M;_S\Q?\ ?:_XU\S_ /#.^H?]!7]#_C1_PSOJ'_05_0_XT?ZT<7?]"/\ \K1_
MR#VE3^3\3Z8_M+3?^?F+_OM?\:/[2TW_ )^8O^^U_P :^9_^&=]0_P"@K^A_
MQH_X9WU#_H*_H?\ &C_6CB[_ *$?_E:/^0>TJ?R?B?3']I:;_P _,7_?:_XT
M?VEIO_/S%_WVO^-?,_\ PSOJ'_05_0_XT?\ #.^H?]!7]#_C1_K1Q=_T(_\
MRM'_ "#VE3^3\3Z8_M+3?^?F+_OM?\:/[2TW_GYB_P"^U_QKYG_X9WU#_H*_
MH?\ &C_AG?4/^@K^A_QH_P!:.+O^A'_Y6C_D'M*G\GXGTQ_:6F_\_,7_ 'VO
M^-']I:;_ ,_,7_?:_P"-?,__  SOJ'_05_0_XT?\,[ZA_P!!7]#_ (T?ZT<7
M?]"/_P K1_R#VE3^3\3Z8_M+3?\ GYB_[[7_ !H_M+3?^?F+_OM?\:^9_P#A
MG?4/^@K^A_QH_P"&=]0_Z"OZ'_&C_6CB[_H1_P#E:/\ D'M*G\GXGTQ_:6F_
M\_,7_?:_XT?VEIO_ #\Q?]]K_C7S/_PSOJ'_ $%?T/\ C1_PSOJ'_05_0_XT
M?ZT<7?\ 0C_\K1_R#VE3^3\3Z8_M+3?^?F+_ +[7_&C^TM-_Y^8O^^U_QKYG
M_P"&=]0_Z"OZ'_&C_AG?4/\ H*_H?\:/]:.+O^A'_P"5H_Y![2I_)^)],?VE
MIO\ S\Q?]]K_ (T?VEIO>YB_[['^-?,__#.^H?\ 05_0_P"-'_#.]_WU7CZ'
M_&C_ %HXN_Z$?_E:/^0>TJ?R?B>V>(OB/X0\-V[2W=Y'*X'$<3!F/Y9Q7SA:
M0^(OCCXM2\NU,.F6Q_X"B^@]6/>O2-&_9\\.6<PGU>XDN\?P_=!_K7N>GZ=8
M:5:+8Z;"L$*=%08%<]7(,^XCJTUGZC0PD6I.C"7-*HUMSRVY5V7W7LU/).?Q
MZ+L2VEK!8VT=G:J$CB4*JCH .E6***_58Q44HQ5DCI"OQ8_X*M_L.^*_BS:6
M/[3/P%C<>-/#6UKB"#Y9;F"/D.A'62,C@=P37[3TH)'(KZ#AKB+%Y'F%/,<&
MUS1T:>THO1QDNS7^9YN;971S##2PM?9]5NFMFO-'XA?L._\ !73X?>/O#T'P
MV_:ANE\.^+--Q;/?7 \N"Z*?*2^<".0$?,IQSVK]@M-^*7PNUJU6]TCQ-I5U
M$X!#17D3#!^C5\:?M,_\$S_V7_VG+Z3Q)KNE_P!B:[(#NO\ 3L1,Y/.YUP5)
M]\5^<6L?\$'!#<D>$_B->Q6^>%FW;L?\ 91^E??XG"\"YQ4>+IXJI@9RUE3=
M/VD$^O(XVT[)_<EH?-4JO$.!@J,J,<0EM)2Y9-?WD^O]79^_'_"=^ _^@[IW
M_@5'_P#%4?\ "=^ _P#H.Z=_X%1__%5_/A_PXB\4_P#12Y_RE_\ CE'_  XB
M\4_]%+G_ "E_^.5A_JGP;_T/W_X(G_F:?VUGW_0M_P#*D3^@_P#X3OP'_P!!
MW3O_  *C_P#BJ/\ A._ ?_0=T[_P*C_^*K^?#_AQ%XI_Z*7/^4O_ ,<H_P"'
M$7BG_HI<_P"4O_QRC_5/@W_H?O\ \$3_ ,P_MK/O^A;_ .5(G]!__"=^ _\
MH.Z=_P"!4?\ \51_PG?@/_H.Z=_X%1__ !5?SX?\.(O%/_12Y_RE_P#CE'_#
MB+Q3_P!%+G_*7_XY1_JGP;_T/W_X(G_F']M9]_T+?_*D3^@__A._ ?\ T'=.
M_P# J/\ ^*H_X3OP'_T'=._\"H__ (JOY\/^'$7BG_HI<_Y2_P#QRC_AQ%XI
M_P"BES_E+_\ '*/]4^#?^A^__!$_\P_MK/O^A;_Y4B?T'_\ "=^ _P#H.Z=_
MX%1__%4?\)WX#_Z#NG?^!4?_ ,57\^'_  XB\4_]%+G_ "E_^.4?\.(O%/\
MT4N?\I?_ (Y1_JGP;_T/W_X(G_F']M9]_P!"W_RI$_H/_P"$[\!_]!W3O_ J
M/_XJC_A._ ?_ $'=._\  J/_ .*K^?#_ (<1>*?^BES_ )2__'*/^'$7BG_H
MI<_Y2_\ QRC_ %3X-_Z'[_\ !$_\P_MK/O\ H6_^5(G]!_\ PG?@/_H.Z=_X
M%1__ !5'_"=^ _\ H.Z=_P"!4?\ \57\^'_#B+Q3_P!%+G_*7_XY1_PXB\4_
M]%+G_*7_ ..4?ZI\&_\ 0_?_ ((G_F']M9]_T+?_ "I$_H/_ .$[\!_]!W3O
M_ J/_P"*H_X3OP'_ -!W3O\ P*C_ /BJ_GP_X<1>*?\ HI<_Y2__ !RC_AQ%
MXI_Z*7/^4O\ \<H_U3X-_P"A^_\ P1/_ ##^VL^_Z%O_ )4B?T'_ /"=^ _^
M@[IW_@5'_P#%4?\ "=^ _P#H.Z=_X%1__%5_/A_PXB\4_P#12Y_RE_\ CE'_
M  XB\4_]%+G_ "E_^.4?ZI\&_P#0_?\ X(G_ )A_;6??]"W_ ,J1/Z#_ /A.
M_ ?_ $'=._\  J/_ .*H_P"$[\!_]!W3O_ J/_XJOY\/^'$7BG_HI<_Y2_\
MQRC_ (<1>*?^BES_ )2__'*/]4^#?^A^_P#P1/\ S#^VL^_Z%O\ Y4B?T'_\
M)WX#_P"@[IW_ (%1_P#Q5'_"=^ _^@[IW_@5'_\ %5_/A_PXB\4_]%+G_*7_
M ..4?\.(O%/_ $4N?\I?_CE'^J?!O_0_?_@B?^8?VUGW_0M_\J1/Z#_^$[\!
M_P#0=T[_ ,"H_P#XJC_A._ ?_0=T[_P*C_\ BJ_GP_X<1>*?^BES_E+_ /'*
M/^'$7BG_ **7/^4O_P <H_U3X-_Z'[_\$3_S#^VL^_Z%O_E2)_0?_P )WX#_
M .@[IW_@5'_\51_PG?@/_H.Z=_X%1_\ Q5?SX?\ #B+Q3_T4N?\ *7_XY1_P
MXB\4_P#12Y_RE_\ CE'^J?!O_0_?_@B?^8?VUGW_ $+?_*D3^@__ (3OP'_T
M'=._\"H__BJ/^$[\!_\ 0=T[_P "H_\ XJOY\/\ AQ%XI_Z*7/\ E+_\<H_X
M<1>*?^BES_E+_P#'*/\ 5/@W_H?O_P $3_S#^VL^_P"A;_Y4B?T'_P#"=^ _
M^@[IW_@5'_\ %4?\)WX#_P"@[IW_ (%1_P#Q5?SX?\.(O%/_ $4N?\I?_CE'
M_#B+Q3_T4N?\I?\ XY1_JGP;_P!#]_\ @B?^8?VUGW_0M_\ *D3^@_\ X3OP
M'_T'=._\"H__ (JC_A._ ?\ T'=._P# J/\ ^*K^?#_AQ%XI_P"BES_E+_\
M'*/^'$7BG_HI<_Y2_P#QRC_5/@W_ *'[_P#!$_\ ,/[:S[_H6_\ E2)_0?\
M\)WX#_Z#NG?^!4?_ ,51_P )WX#_ .@[IW_@5'_\57\^'_#B+Q3_ -%+G_*7
M_P".4?\ #B+Q3_T4N?\ *7_XY1_JGP;_ -#]_P#@B?\ F']M9]_T+?\ RI$_
MH/\ ^$[\!_\ 0=T[_P "H_\ XJC_ (3OP'_T'=._\"H__BJ_GP_X<1>*?^BE
MS_E+_P#'*/\ AQ%XI_Z*7/\ E+_\<H_U3X-_Z'[_ /!$_P#,/[:S[_H6_P#E
M2)_0?_PG?@/_ *#NG?\ @5'_ /%4?\)WX#_Z#NG?^!4?_P 57\^'_#B+Q3_T
M4N?\I?\ XY1_PXB\4_\ 12Y_RE_^.4?ZI\&_]#]_^")_YA_;6??]"W_RI$_H
M//CSP$!DZ[IP _Z>H_\ XJOG3XW?MR?LO_ +19=5\9^++&YG1"R6=A,ES/(?
M0+&6(_&OQ\7_ ((0^)BP$GQ+GV]\"3I_W\KWOX6?\$-?@#X:U./6/BAKFH^)
MRAR;=W"1''OC=^M5'A[@;#-5<1G%2M%?8A1<9/RO)M(/[3XAJIPIX*,'WE--
M+Y+5GP/:_P#"^O\ @LI^TI!J-[%+HOPR\/7(P /W4,"GE=W1YY ,-UVY/2OZ
MF/"_AC0?!/ANP\'^%X%M=.TN".VMHEX"QQ*%7\<#GU-9O@3P!X)^&'ABV\&?
M#W2[?1]+M%"Q6]L@11CN3U)]R2:Z^OGN,N+UG#HX7!T?8X.@K4J:Z7WE)]9R
MZO\ X+?IY%D?U%3K5Y^TKU-9R[]DNR73^D%%%%?$'T 4444 %>>_%S_DE'B7
M_L&W'_H->A5Y[\7/^24>)?\ L&W'_H-14^"7HSJP7^\TO\4?S1_!Q_S$H_\
MKZB_]&+7^A=X#_Y$?1O^O&W_ /1:U_GH_P#,2C_Z^HO_ $8M?Z%W@/\ Y$?1
MO^O&W_\ 1:U\)P-\>(_[=_\ ;C^G?I+_ ,'*_6K^5,ZNBBBOT(_E __3_OXH
MHHH **** /YI_P#@OI_R-WPT_P"N%]_2N!_X(=_\E/\ &?\ UX1?S>N^_P""
M^G_(W?#3_KA??TK@?^"'?_)3_&?_ %X1?S>OSE_\E*_5?^D(_KNC_P F=_[<
M?_I]G](U%%%?H1_)@4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %>>_%S
M_DE'B7_L&W'_ *#7H5>>_%S_ ))1XE_[!MQ_Z#45/@EZ,ZL%_O-+_%'\T?P<
M?\Q*/_KZB_\ 1BU_H7> _P#D1]&_Z\;?_P!%K7^>C_S$H_\ KZB_]&+7^A=X
M#_Y$?1O^O&W_ /1:U\)P-\>(_P"W?_;C^G?I+_P<K]:OY4SJZ***_0C^4#__
MU/[^**** "BBB@#^:?\ X+Z?\C=\-/\ KA??TK@?^"'?_)3_ !G_ ->$7\WK
MOO\ @OI_R-WPT_ZX7W]*X'_@AW_R4_QG_P!>$7\WK\Y?_)2OU7_I"/Z[H_\
M)G?^W'_Z?9_2-1117Z$?R8%%%% !1110 45SWBKQ7X=\#Z!<>*/%=W'96-JN
MZ260@#V SU)Z =S7YA>,_P!O?XB^,]=D\._L\^'9;T [5D,+SRO[A$P0*=A.
M21^KU%?D''XU_P""C5\OVI-)N(@_.UH-I'X$9%/_ .$K_P""CG_0-G_[\C_X
MFBPN==C]>:*_(;_A*_\ @HY_T#9_^_(_^)H_X2O_ (*.?] V?_OR/_B:+!SK
ML?KS17Y#?\)7_P %'/\ H&S_ /?D?_$T?\)7_P %'/\ H&S_ /?D?_$T6#G7
M8_7FBOR&_P"$K_X*.?\ 0-G_ ._(_P#B:/\ A*_^"CG_ $#9_P#OR/\ XFBP
M<Z['Z\T5^0W_  E?_!1S_H&S_P#?D?\ Q-'_  E?_!1S_H&S_P#?D?\ Q-%@
MYUV/UYHK\AO^$K_X*.?] V?_ +\C_P")H_X2O_@HY_T#9_\ OR/_ (FBP<Z[
M'Z\T5^0W_"5_\%'/^@;/_P!^1_\ $T?\)7_P4<_Z!L__ 'Y'_P 318.==C]>
M:*_(;_A*_P#@HY_T#9_^_(_^)H_X2O\ X*.?] V?_OR/_B:+!SKL?KS17Y#?
M\)7_ ,%'/^@;/_WY'_Q-'_"5_P#!1S_H&S_]^1_\318.==C]>:*_(;_A*_\
M@HY_T#9_^_(_^)H_X2O_ (*.?] V?_OR/_B:+!SKL?KS17Y#?\)7_P %'/\
MH&S_ /?D?_$T?\)7_P %'/\ H&S_ /?D?_$T6#G78_7FBOR&_P"$K_X*.?\
M0-G_ ._(_P#B:/\ A*_^"CG_ $#9_P#OR/\ XFBP<Z['Z\T5^0W_  E?_!1S
M_H&S_P#?D?\ Q-'_  E?_!1S_H&S_P#?D?\ Q-%@YUV/UYHK\AO^$K_X*.?]
M V?_ +\C_P")H_X2O_@HY_T#9_\ OR/_ (FBP<Z['Z\T5^0W_"5_\%'/^@;/
M_P!^1_\ $T?\)7_P4<_Z!L__ 'Y'_P 318.==C]>:*_(;_A*_P#@HY_T#9_^
M_(_^)H_X2O\ X*.?] V?_OR/_B:+!SKL?KS17Y#?\)7_ ,%'/^@;/_WY'_Q-
M'_"5_P#!1S_H&S_]^1_\318.==C]>:*_(;_A*_\ @HY_T#9_^_(_^)H_X2O_
M (*.?] V?_OR/_B:+!SKL?KS17Y#?\)7_P %'/\ H&S_ /?D?_$T?\)7_P %
M'/\ H&S_ /?D?_$T6#G78_7FBOR&_P"$K_X*.?\ 0-G_ ._(_P#B:/\ A*_^
M"CG_ $#9_P#OR/\ XFBP<Z['Z\T5^0W_  E?_!1S_H&S_P#?D?\ Q-'_  E?
M_!1S_H&S_P#?D?\ Q-%@YUV/UYHK\AO^$K_X*.?] V?_ +\C_P")H_X2O_@H
MY_T#9_\ OR/_ (FBP<Z['Z\T5^0W_"5_\%'/^@;/_P!^1_\ $T?\)7_P4<_Z
M!L__ 'Y'_P 318.==C]>:*_(;_A*_P#@HY_T#9_^_(_^)H_X2O\ X*.?] V?
M_OR/_B:+!SKL?KS17Y#?\)7_ ,%'/^@;/_WY'_Q-'_"5_P#!1S_H&S_]^1_\
M318.==C]>:*_(;_A*_\ @HY_T#9_^_(_^)H_X2O_ (*.?] V?_OR/_B:+!SK
ML?KS17Y#?\)7_P %'/\ H&S_ /?D?_$T?\)7_P %'/\ H&S_ /?D?_$T6#G7
M8_7FBOR&_P"$K_X*.?\ 0-G_ ._(_P#B:/\ A*_^"CG_ $#9_P#OR/\ XFBP
M<Z['Z\T5^0W_  E?_!1S_H&S_P#?D?\ Q-'_  E?_!1S_H&S_P#?D?\ Q-%@
MYUV/UYHK\AO^$K_X*.?] V?_ +\C_P")H_X2O_@HY_T#9_\ OR/_ (FBP<Z[
M'Z\T5^0W_"5_\%'/^@;/_P!^1_\ $T?\)7_P4<_Z!L__ 'Y'_P 318.==C]>
M:*_(;_A*_P#@HY_T#9_^_(_^)H_X2O\ X*.?] V?_OR/_B:+!SKL?KS17Y#?
M\)7_ ,%'/^@;/_WY'_Q-'_"5_P#!1S_H&S_]^1_\318.==C]>:*_(;_A*_\
M@HY_T#9_^_(_^)H_X2O_ (*.?] V?_OR/_B:+!SKL?KS17Y#?\)7_P %'/\
MH&S_ /?D?_$T?\)7_P %'/\ H&S_ /?D?_$T6#G78_7FBOR&_P"$K_X*.?\
M0-G_ ._(_P#B:/\ A*_^"CG_ $#9_P#OR/\ XFBP<Z['Z\T5^0W_  E?_!1S
M_H&S_P#?D?\ Q-'_  E?_!1S_H&S_P#?D?\ Q-%@YUV/UYHK\AO^$K_X*.?]
M V?_ +\C_P")H_X2O_@HY_T#9_\ OR/_ (FBP<Z['Z\T5^0W_"5_\%'/^@;/
M_P!^1_\ $T?\)7_P4<_Z!L__ 'Y'_P 318.==C]>:*_(;_A*_P#@HY_T#9_^
M_(_^)H_X2O\ X*.?] V?_OR/_B:+!SKL?KS17Y#?\)7_ ,%'/^@;/_WY'_Q-
M'_"5_P#!1S_H&S_]^1_\318.==C]>:*_(;_A*_\ @HY_T#9_^_(_^)H_X2O_
M (*.?] V?_OR/_B:+!SKL?KS17Y#?\)7_P %'/\ H&S_ /?D?_$T?\)7_P %
M'/\ H&S_ /?D?_$T6#G78_7FBOR&_P"$K_X*.?\ 0-G_ ._(_P#B:/\ A*_^
M"CG_ $#9_P#OR/\ XFBP<Z['Z\T5^0W_  E?_!1S_H&S_P#?D?\ Q-'_  E?
M_!1S_H&S_P#?D?\ Q-%@YUV/UYHK\AO^$K_X*.?] V?_ +\C_P")H_X2O_@H
MY_T#9_\ OR/_ (FBP<Z['Z\T5^0W_"5_\%'/^@;/_P!^1_\ $T?\)7_P4<_Z
M!L__ 'Y'_P 318.==C]>:*_(;_A*_P#@HY_T#9_^_(_^)H_X2O\ X*.?] V?
M_OR/_B:+!SKL?KS17Y#?\)7_ ,%'/^@;/_WY'_Q-'_"5_P#!1S_H&S_]^1_\
M318.==C]>:*_(;_A*_\ @HY_T#9_^_(_^)H_X2O_ (*.?] V?_OR/_B:+!SK
ML?KS17Y#?\)7_P %'/\ H&S_ /?D?_$T?\)7_P %'/\ H&S_ /?D?_$T6#G7
M8_7FBOR&_P"$K_X*.?\ 0-G_ ._(_P#B:/\ A*_^"CG_ $#9_P#OR/\ XFBP
M<Z['Z\T5^0W_  E?_!1S_H&S_P#?D?\ Q-'_  E?_!1S_H&S_P#?D?\ Q-%@
MYUV/UYHK\AO^$K_X*.?] V?_ +\C_P")H_X2O_@HY_T#9_\ OR/_ (FBP<Z[
M'Z\T5^0W_"5_\%'/^@;/_P!^1_\ $T?\)7_P4<_Z!L__ 'Y'_P 318.==C]>
M:*_(;_A*_P#@HY_T#9_^_(_^)H_X2O\ X*.?] V?_OR/_B:+!SKL?KS17Y#?
M\)7_ ,%'/^@;/_WY'_Q-'_"5_P#!1S_H&S_]^1_\318.==C]>:*_(;_A*_\
M@HY_T#9_^_(_^)H_X2O_ (*.?] V?_OR/_B:+!SKL?KS17Y#?\)7_P %'/\
MH&S_ /?D?_$T?\)7_P %'/\ H&S_ /?D?_$T6#G78_7FBOR&_P"$K_X*.?\
M0-G_ ._(_P#B:/\ A*_^"CG_ $#9_P#OR/\ XFBP<Z['Z\T5^0W_  E?_!1S
M_H&S_P#?D?\ Q-'_  E?_!1S_H&S_P#?D?\ Q-%@YUV/UYHK\AO^$K_X*.?]
M V?_ +\C_P")H_X2O_@HY_T#9_\ OR/_ (FBP<Z['Z\T5^0W_"5_\%'/^@;/
M_P!^1_\ $T?\)7_P4<_Z!L__ 'Y'_P 318.==C]>:*_(;_A*_P#@HY_T#9_^
M_(_^)H_X2O\ X*.?] V?_OR/_B:+!SKL?KS17Y#?\)7_ ,%'/^@;/_WY'_Q-
M'_"5_P#!1S_H&S_]^1_\318.==C]>:*_(;_A*_\ @HY_T#9_^_(_^)H_X2O_
M (*.?] V?_OR/_B:+!SKL?KS17Y#?\)7_P %'/\ H&S_ /?D?_$T?\)7_P %
M'/\ H&S_ /?D?_$T6#G78_7FBOR&_P"$K_X*.?\ 0-G_ ._(_P#B:/\ A*_^
M"CG_ $#9_P#OR/\ XFBP<Z['Z\T5^0W_  E?_!1S_H&S_P#?D?\ Q-'_  E?
M_!1S_H&S_P#?D?\ Q-%@YUV/UYHK\AO^$K_X*.?] V?_ +\C_P")H_X2O_@H
MY_T#9_\ OR/_ (FBP<Z['Z\T5^0W_"5_\%'/^@;/_P!^1_\ $T?\)7_P4<_Z
M!L__ 'Y'_P 318.==C]>:*_(;_A*_P#@HY_T#9_^_(_^)H_X2O\ X*.?] V?
M_OR/_B:+!SKL?KS17Y#?\)7_ ,%'/^@;/_WY'_Q-'_"5_P#!1S_H&S_]^1_\
M318.==C]>:*_(;_A*_\ @HY_T#9_^_(_^)H_X2O_ (*.?] V?_OR/_B:+!SK
ML?KS17Y#?\)7_P %'/\ H&S_ /?D?_$T?\)7_P %'/\ H&S_ /?D?_$T6#G7
M8_7FBOR&_P"$K_X*.?\ 0-G_ ._(_P#B:/\ A*_^"CG_ $#9_P#OR/\ XFBP
M<Z['Z\T5^0W_  E?_!1S_H&S_P#?D?\ Q-'_  E?_!1S_H&S_P#?D?\ Q-%@
MYUV/UYHK\AO^$K_X*.?] V?_ +\C_P")H_X2O_@HY_T#9_\ OR/_ (FBP<Z[
M'Z\T5^0W_"5_\%'/^@;/_P!^1_\ $T?\)7_P4<_Z!L__ 'Y'_P 318.==C]>
M:*_(;_A*_P#@HY_T#9_^_(_^)H_X2O\ X*.?] V?_OR/_B:+!SKL?KS17Y#?
M\)7_ ,%'/^@;/_WY'_Q-'_"5_P#!1S_H&S_]^1_\318.==C]>:*_(;_A*_\
M@HY_T#9_^_(_^)H_X2O_ (*.?] V?_OR/_B:+!SKL?KS17Y#?\)7_P %'/\
MH&S_ /?D?_$T?\)7_P %'/\ H&S_ /?D?_$T6#G78_7FBOR&_P"$K_X*.?\
M0-G_ ._(_P#B:/\ A*_^"CG_ $#9_P#OR/\ XFBP<Z['Z\T5^0W_  E?_!1S
M_H&S_P#?D?\ Q-'_  E?_!1S_H&S_P#?D?\ Q-%@YUV/UYHK\AO^$K_X*.?]
M V?_ +\C_P")H_X2O_@HY_T#9_\ OR/_ (FBP<Z['Z\T5^0W_"5_\%'/^@;/
M_P!^1_\ $T?\)7_P4<_Z!L__ 'Y'_P 318.==C]>:*_(;_A*_P#@HY_T#9_^
M_(_^)H_X2O\ X*.?] V?_OR/_B:+!SKL?KS17Y#?\)7_ ,%'/^@;/_WY'_Q-
M'_"5_P#!1S_H&S_]^1_\318.==C]>:*_(;_A*_\ @HY_T#9_^_(_^)H_X2O_
M (*.?] V?_OR/_B:+!SKL?KS17Y#?\);_P %'$^?^S)SCG'DC_"D@_;'_:C^
M%-XJ?&?PI(;4D?/);O!D=\.3M/Y46#G1^O5%>'_!3]H+X=_'71_MWA*YV7D0
M!N+*4XFC/KCC(]\5[A2*N%%%% !1110 5Y[\7/\ DE'B7_L&W'_H->A5Y[\7
M/^24>)?^P;<?^@U%3X)>C.K!?[S2_P 4?S1_!Q_S$H_^OJ+_ -&+7^A=X#_Y
M$?1O^O&W_P#1:U_GH_\ ,2C_ .OJ+_T8M?Z%W@/_ )$?1O\ KQM__1:U\)P-
M\>(_[=_]N/Z=^DO_  <K]:OY4SJZ***_0C^4#__5_OXHHHH **** /YI_P#@
MOI_R-WPT_P"N%]_2N!_X(=_\E/\ &?\ UX1?S>N^_P""^G_(W?#3_KA??TK@
M?^"'?_)3_&?_ %X1?S>OSE_\E*_5?^D(_KNC_P F=_[<?_I]G](U%%%?H1_)
M@4444 %*!DXI*S-;NVL-%O+Y>L,$CC_@*DT ?DC^T=XD\2?M1_M"V/P#\'S%
M-)TN7]\1]W>!F20^NT9 ]Q7Z;_"SX2^"O@]X:A\->#K1(0BCS9L#S)7[L37Y
MQ?\ !/&PCUSXK>.?'5[^\N,-&C-R5WS%B1^!Q]*_6>F^Q$==1V]_4T;V]33:
M*18[>WJ:-[>IIM% #M[>IHWMZFFT4 .WMZFC>WJ:;10 [>WJ:-[>IIM% #M[
M>IHWMZFFT4 .WMZFC>WJ:;10 [>WJ:-[>IIM% #M[>IHWMZFFT4 .WMZFC>W
MJ:;10 [>WJ:-[>IIM% #M[>IHWMZFFT4 .WMZFC>WJ:;10 [>WJ:-[>IIM%
M#M[>IHWMZFFT4 .WMZFC>WJ:;10 [>WJ:-[>IIM% #M[>IHWMZFFT4 .WMZF
MC>WJ:;10 [>WJ:-[>IIM% #M[>IHWMZFFT4 .WMZFC>WJ:;10 [>WJ:-[>II
MM% #M[>IHWMZFFT4 .WMZFC>WJ:;10 [>WJ:-[>IIM% #M[>IHWMZFFT4 .W
MMZFC>WJ:;10 [>WJ:-[>IIM% #M[>IHWMZFFT4 .WMZFC>WJ:;10 [>WJ:-[
M>IIM% #M[>IHWMZFFT4 .WMZFC>WJ:;10 [>WJ:-[>IIM% #M[>IHWMZFFT4
M .WMZFC>WJ:;10 [>WJ:-[>IIM% #M[>IHWMZFFT4 .WMZFC>WJ:;10 [>WJ
M:-[>IIM% #M[>IHWMZFFT4 .WMZFC>WJ:;10 [>WJ:-[>IIM% #M[>IHWMZF
MFT4 .WMZFC>WJ:;10 [>WJ:-[>IIM% #M[>IHWMZFFT4 .WMZFC>WJ:;10 [
M>WJ:-[>IIM% #M[>IHWMZFFT4 .WMZFC>WJ:;10 [>WJ:-[>IIM% #M[>IHW
MMZFFT4 .WMZFC>WJ:;10 [>WJ:-[>IIM% #M[>IHWMZFFT4 .WMZFC>WJ:;1
M0 [>WJ:-[>IIM% #M[>IHWMZFFT4 .WMZFC>WJ:;10 [>WJ:-[>IIM% #M[>
MIHWMZFFT4 .WMZFC>WJ:;10 [>WJ:-[>IIM% #M[>IHWMZFFT4 .WMZFC>WJ
M:;10 [>WJ:-[>IIM% #M[>IHWMZFFT4 .WMZFC>WJ:;10 [>WJ:-[>IIM% #
MM[>IHWMZFFT4 .WMZFC>WJ:;10 [>WJ:-[>IIM% #M[>IHWMZFFT4 .WMZFC
M>WJ:;10 [>WJ:-[>IIM% #M[>IHWMZFFT4 .WMZFC>WJ:;10 [>WJ:-[>IIM
M% #M[>IHWMZFFT4 .WMZFC>WJ:;10 [>WJ:-[>IIM% #M[>IHWMZFFT4 .WM
MZFC>WJ:;10 [>WJ:-[>IIM% #M[>IHWMZFFT4 .WMZFC>WJ:;10 [>WJ:-[>
MIIM% #M[>IHWMZFFT4 .WMZFL[5M*TO7K"32]<MX[NWE!5XY5W @_6K]% 'X
MS?M%_!W6?V3?B)I_QM^$4CP:3+./,A!XC8G+1GU1AG'IQ7ZR?#GQUI?Q+\$:
M=XYTCB'4(1(5_N/_ !+^!R*\T_:G\-VGBGX >);"[4,8K;SXS_=:-@<C\,UX
M)_P3GUZYU7X&2:=<$L+.Z8*3Z/\ -_6GT(6CL??=%%%(L**** "O/?BY_P D
MH\2_]@VX_P#0:]"KSWXN?\DH\2_]@VX_]!J*GP2]&=6"_P!YI?XH_FC^#C_F
M)1_]?47_ *,6O]"[P'_R(^C?]>-O_P"BUK_/1_YB4?\ U]1?^C%K_0N\!_\
M(CZ-_P!>-O\ ^BUKX3@;X\1_V[_[<?T[])?^#E?K5_*F=71117Z$?R@?_];^
M_BBBB@ HHHH _FG_ ."^G_(W?#3_ *X7W]*X'_@AW_R4_P 9_P#7A%_-Z[[_
M (+Z?\C=\-/^N%]_2N!_X(=_\E/\9_\ 7A%_-Z_.7_R4K]5_Z0C^NZ/_ "9W
M_MQ_^GV?TC4445^A'\F!1110 5SWB[_D5-3_ .O2;_T UT-<]XN_Y%34_P#K
MTF_] - 'YE?\$UO^0OXW_P"NH_\ 0Q7ZK5^5/_!-;_D+^-_^NH_]#%?JM3>Y
M,-@HHHI%!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% 'D?Q]_Y(IXG_ .O"7^5?('_!-+_DCVH_]?0_]!%?7_Q]_P"2*>)_
M^O"7^5?('_!-+_DCVH_]?0_]!%,E[GZ-T444B@HHHH *\]^+G_)*/$O_ &#;
MC_T&O0J\]^+G_)*/$O\ V#;C_P!!J*GP2]&=6"_WFE_BC^:/X./^8E'_ -?4
M7_HQ:_T+O ?_ "(^C?\ 7C;_ /HM:_ST?^8E'_U]1?\ HQ:_T+O ?_(CZ-_U
MXV__ *+6OA.!OCQ'_;O_ +<?T[])?^#E?K5_*F=71117Z$?R@?_7_OXHHHH
M**** /YI_P#@OI_R-WPT_P"N%]_2N!_X(=_\E/\ &?\ UX1?S>N^_P""^G_(
MW?#3_KA??TK@?^"'?_)3_&?_ %X1?S>OSE_\E*_5?^D(_KNC_P F=_[<?_I]
MG](U%%%?H1_)@4444 %<]XN_Y%34_P#KTF_] -=#7/>+O^14U/\ Z])O_0#0
M!^97_!-;_D+^-_\ KJ/_ $,5^JU?E3_P36_Y"_C?_KJ/_0Q7ZK4WN3#8****
M104444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
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
M\ :7XWG.I)I-YJUU=M&D=Q$N^[("Q/\ +;HKALD LN*]6_X+J_\ !<'XS?\
M!(OQU\/?!O@?P7I7BX>+M*:[NI+RY:W$5Q'(T;!,1OE#MR.E.P<R/Z4Z*_B0
M_:4_X.H_VE3I*?$;]BWX(MXB^'FD10QZKXGOQ+Y$M[M#3QQJ(B%CC)P),G/.
M0,5^Y?\ P1H_X+.?"G_@KE\+-2U/3='_ .$2\=>&RBZSH7G?:$59,[)H92J%
MT?:W&T%<8HL"DC]I**_F+_X*Y_\ !QWX/_8)^,EM^R5^S'X-'Q1^*$SQQ7L/
MGF*VT^289CCPB2--,V1^[PH4$DMD 'X2\"_\'2?[57[.OQO\/_##_@J-\ W\
M":)XB*/_ &K;2/%-:P2$J)A 8]LR*?O@2!E7D \ E@YD?VPT5^0/_!6+_@IU
MJ/[!7[ %O^V]\#=)L?&]M?WFG1VD=Q.88);:_P"D@94<Y QQBOYT];_X.[OB
M]XH^!WA.;X'?">TU[XB:M<7/]MVT#S3VVE01M&(/E6 ^8TNYSD[=NSWHL#DD
M?MK_ ,%CO^"XVG?\$HO'W@'X=0?#^\\8WGC"199YED,,$-KN"L$?8^^;+#:G
M&?6OVY^%OC_3OBO\-=!^)VDVT]E:Z_8P7T4%TNR:-9T#A77L1G!K^4[_ (+
M_P#!9_Q+^RC#^S\/%?P>\-^.IOB#H%CK\KZNYC?3[ZX$9*Q(8G^4;SU(QCI7
M[W?&C_@H+\%OV3?V%K']M3]H^9-%TDZ5;7(L;7#23W,\:E+:V4[=S,Q"KT '
M)P*!)ZGW_17\+.B?\'0G_!33XZ:;K'QN_9G_ &88[_X;Z#*ZW,WGR73*D?S$
MO-Y(PQ4@L$5@IX!.*_H._P""//\ P6?^"W_!6WP!J,FB:0_@WQ[X;V#6_#LL
MOGB$29"R0RE4,D;%6'**01@BBPU),_9BBOXPO&G_  =;:U\&O^"DGBW]D[XU
M^ =/T_X?^#O$NM:)=ZS;7$DMZ\>F>>D++$(OOSRQHF W&_O7RQXV_P"#OG]K
MGX9_%73]5^)'[/D.B>!=49)K6TN[B6&^EL7/$B3- %,FWYMG3/!..:+!SH_O
MDHKY4^ '[9GP)_:*_9+TC]M/P?JL=MX&U73'U-[NY.P6R0%EF63/0Q.CJ<]U
MK^2GXK?\'7W[0WQF^/FJ?!K_ ()J_ W_ (3'3]-EE\C4+R5I;J]@AZRFW6-D
MA7T_>MD46!R1_<#17\L'_!)G_@Y6T']M[]HE?V,_VL/ @^%_Q#NW-OI4B3M+
M;7UU&&,D$B/'&UO+@90896 /S @ _<G_  67_P""W'P>_P""2'@C2["71?\
MA-_B/XC(.E^'%N/LR" -AY[B4*[(@&0H5&+/@8 )8%A\RM<_;NBOX:#_ ,'/
MW_!2KX+Z=HWQK_:B_9A^P_#/798S#>1RR6SB!R/F20PG<P4Y <(&/!(S7]?G
M['?[6_P>_;D_9W\/?M,? RZ>XT'Q##O6.8!9[>5?OPRJ"=KJ>HST-%@4KGTW
M1112&%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M >1_'W_DBGB?_KPE_E7R!_P32_Y(]J/_ %]#_P!!%?7_ ,??^2*>)_\ KPE_
ME7R!_P $TO\ DCVH_P#7T/\ T$4R7N?HW1112*"BBB@ KSWXN?\ )*/$O_8-
MN/\ T&O0J\]^+G_)*/$O_8-N/_0:BI\$O1G5@O\ >:7^*/YH_@X_YB4?_7U%
M_P"C%K_0N\!_\B/HW_7C;_\ HM:_ST?^8E'_ -?47_HQ:_T+O ?_ "(^C?\
M7C;_ /HM:^$X&^/$?]N_^W']._27_@Y7ZU?RIG5T445^A'\H'__0_OXHHHH
M**** /YI_P#@OI_R-WPT_P"N%]_2N!_X(=_\E/\ &?\ UX1?S>N^_P""^G_(
MW?#3_KA??TK@?^"'?_)3_&?_ %X1?S>OSE_\E*_5?^D(_KNC_P F=_[<?_I]
MG](U%%%?H1_)@4444 %<]XN_Y%34_P#KTF_] -=#7/>+O^14U/\ Z])O_0#0
M!^97_!-;_D+^-_\ KJ/_ $,5^JU?E3_P36_Y"_C?_KJ/_0Q7ZK4WN3#8****
M104444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !7'_ !$_
MY)YKW_8/N/\ T UV%<UXTL+O5?!FKZ5IZ>9<75G-%$F<;G92 ,G@9/K0#/\
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
MV_?^".6HO=+J]_<W\NEPS013V4=VQEFMS'<$1W%N6PH3#/T(Y (+A9I'B?\
MP4D_8X_X.'?^"I?A'1/"_P"T7\*/#WF:!</<6=SI_P!GAN264@IO&"0<],U[
MQ_P<*>"?B[\-/^"$?P'^'7QVM/L'BG0M0AL+RW)!\LP1HH&1D= *X;Q1^R[_
M ,'+_P#P5@^-7@^#]HNZO_@UX$TJ<_:KO3M072Q;QX)D?RH)1=322#Y$R&12
M<G %?K[_ ,%\?^"97[4'[5?_  3P^&_[*_[(VEW'CO6O"FH1FZGU+4HH[B2*
M*-%,TDUY(OF,S Y^8FBX6.L_X-;/@E\,? ?_  28\->+M TF :IXKU.\O]3N
MI$#RS2 1HJEB,[$"_*N< DD<DU_1Z % 51@#H*_)3_@AU^S#\;_V.?\ @F[X
M+_9^_:)T==!\5Z--<FZLUN(KH(LA7:?,A9T.<'HQQ7ZV4F:1V/\ .0_X.\/#
M$?C;_@IM\)O!LLIA75]#M+(R 9*"XNMF['MG-?<?AO\ X,RO@[K?AO3=;E^+
M.HJU[:07!7[,O!E16Q^&:[K_ (..?^"2O_!1G]NG]M?P-\<_V,O!T6N:?X:T
M6&+[:^HV5H8KR&;S5'EW4J%L<'.TJ>]>#Z?X)_X/5-*T^WTJPU-8X+6)(8E\
M[PP=J1@*HY7/ %,AK5Z']2'_  23_P"";.C?\$J?V6]0_9D\/^))?%-M>^);
MWQ"MW-$(6C^UPV\/E8'7:( =QY.:_BW_ .#J[P_\*_V7_P#@I+X,_:#_ &6=
M8_L'XKZK82:CKT6FG9-!<!0L-U\GW9)4:0LW5NO:OZH/^"24W_!:_P '?!WX
MG:Q_P5)M#XD\6P""3PC8K/I2>?A7\Q-]B%C3+;<F4].G>OQY_P"";?\ P1$_
M;5^+?_!4OQ5_P4._X*U>$[>VB:[N=5T[2[G4+;58;F[NV8+&8X9)4$$$;,JQ
MN G(PORBD#VLD>2_\&=/PS_9\\;^)_BC^TQXCU@ZW\:%9HI8;ER9K:QNY \M
MPH;.]II,!IAR-Q3/)SY7_P 'K7_)8O@M_P!@&Y_]*):^D;[_ ((O?\%!O^"?
M7_!:.S_;3_X)Q>#8->^%M]J+7=YIMOJMOIT<=IJ *WEK)#-+'OCC9VEA159
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
M_*OD#_@FE_R1[4?^OH?^@BOK_P"/O_)%/$__ %X2_P J^0/^":7_ "1[4?\
MKZ'_ *"*9+W/T;HHHI%!1110 5Y[\7/^24>)?^P;<?\ H->A5Y[\7/\ DE'B
M7_L&W'_H-14^"7HSJP7^\TO\4?S1_!Q_S$H_^OJ+_P!&+7^A=X#_ .1'T;_K
MQM__ $6M?YZ/_,2C_P"OJ+_T8M?Z%W@/_D1]&_Z\;?\ ]%K7PG WQXC_ +=_
M]N/Z=^DO_!ROUJ_E3.KHHHK]"/Y0/__1_OXHHHH **** /YI_P#@OI_R-WPT
M_P"N%]_2N!_X(=_\E/\ &?\ UX1?S>N^_P""^G_(W?#3_KA??TK@?^"'?_)3
M_&?_ %X1?S>OSE_\E*_5?^D(_KNC_P F=_[<?_I]G](U%%%?H1_)@4444 %<
M]XN_Y%34_P#KTF_] -=#7/>+O^14U/\ Z])O_0#0!^97_!-;_D+^-_\ KJ/_
M $,5^JU?E3_P36_Y"_C?_KJ/_0Q7ZK4WN3#8****104444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 N6HR:2B@ I59E.5.#[4E%
M$CRRR?ZQBWU.:CHHH 7)I*** '*[(=R$@^U*\DDAS(Q;ZG-,HH 7)'2DHHH
MD2:6/_5L5^AQ3"2QRW)I** /Y'/^"V__  17_;3_ &^/^"BOPV_:E^ ,6BR^
M&O"L&F1W@O\ 4$M9]UI=B9]J,"3\G3U/%?UJZ)%=:=H5CITK;9+>U@AD"GC=
M'&JGZC(J]10)+6X4Y69#E"0?:FT4#)'EED_UC%OJ<TS)'2DHH ,D]:*** %R
M:,M244 +DT9)ZTE% "Y-?RA?\''G_!&[]L?_ (*E?$;X<^)?V7XM&>S\+Z5-
M:7IU2_2S;SGED<!58$D88<_X5_5Y10)JYYS\%_#.L^ /@[X4\#:T56^T;1[.
MQN/*;<GFP1*C8(ZC(X->C$YY-%% Q02IRIP:>\TLG^L8M]3FHZ* #)'2C)/6
MBB@!<D=*2BB@"59YT7:CL!Z U$3GDT44 +D]*3)'2BB@ R3UJ1)98_\ 5L5^
MAQ4=% "LS,<L<GWI <<BBB@"5IYV7:SL1Z$U%110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 >1_'W_ )(IXG_Z\)?Y
M5\@?\$TO^2/:C_U]#_T$5]?_ !]_Y(IXG_Z\)?Y5\@?\$TO^2/:C_P!?0_\
M013)>Y^C=%%%(H**** "O/?BY_R2CQ+_ -@VX_\ 0:]"KSWXN?\ )*/$O_8-
MN/\ T&HJ?!+T9U8+_>:7^*/YH_@X_P"8E'_U]1?^C%K_ $+O ?\ R(^C?]>-
MO_Z+6O\ /1_YB4?_ %]1?^C%K_0N\!_\B/HW_7C;_P#HM:^$X&^/$?\ ;O\
M[<?T[])?^#E?K5_*F=71117Z$?R@?__2_OXHHHH **** /YI_P#@OI_R-WPT
M_P"N%]_2N!_X(=_\E/\ &?\ UX1?S>N^_P""^G_(W?#3_KA??TK@?^"'?_)3
M_&?_ %X1?S>OSE_\E*_5?^D(_KNC_P F=_[<?_I]G](U%%%?H1_)@4444 %<
M_P"+%+>%=35>IM)O_0#704R2*.XB>WE&5D4J<^C#% 'Y4_\ !-B15U_QQ:L?
MG#AB/;S /YU^K-?C9\&M87]F3]L36O"7B=C;:=KS-"'?A,2N9(VYXQN(&:_9
M,%6 92"",@CH0>]-D0V"BBBD6%%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 >/_ +04L<'P0\42RG"BPD&?K@#]37R5_P $
MUH)(O@W?2N/E>ZX/T J_^W_\9;#PO\.C\*])F#ZMKA021(<ND(((R!TW,!@=
M\U[K^R;\-9_A=\#])T2_C\J[NE^U3*>JF7Y@#^!'TI]"/M'TC1112+"BBB@
MKSWXN?\ )*/$O_8-N/\ T&O0J\]^+G_)*/$O_8-N/_0:BI\$O1G5@O\ >:7^
M*/YH_@X_YB4?_7U%_P"C%K_0N\!_\B/HW_7C;_\ HM:_ST?^8E'_ -?47_HQ
M:_T+O ?_ "(^C?\ 7C;_ /HM:^$X&^/$?]N_^W']._27_@Y7ZU?RIG5T445^
MA'\H'__3_OXHHHH **** /YI_P#@OI_R-WPT_P"N%]_2N!_X(=_\E/\ &?\
MUX1?S>N^_P""^G_(W?#3_KA??TK@?^"'?_)3_&?_ %X1?S>OSE_\E*_5?^D(
M_KNC_P F=_[<?_I]G](U%%%?H1_)@4444 %%%% 'R'^UC^S%;?'SP_%JN@LM
MMXCTT$V\C':LR_\ /-CV]CV-?&7P^_:\^+W[.^WX=_'?0[B[ALOD25_DF5!T
MPY^5AZ'%?L36#KWA;PUXI@^S>([""^3H!,@;'X]:=R7'JCX9A_X*1? N2(/-
M::C$QZKY9;'XA<5+_P /'_@-_P ^^H?]^C_\37T9)^S1\"I9#*_AJT);K\II
MG_#,OP(_Z%JT_P"^3_C1H+WCYV_X>/\ P&_Y]]0_[]'_ .)H_P"'C_P&_P"?
M?4/^_1_^)KZ)_P"&9?@1_P!"U:?]\G_&C_AF7X$?]"U:?]\G_&GH/WCYV_X>
M/_ ;_GWU#_OT?_B:/^'C_P !O^??4/\ OT?_ (FOHG_AF7X$?]"U:?\ ?)_Q
MH_X9E^!'_0M6G_?)_P :- ]X^=O^'C_P&_Y]]0_[]'_XFC_AX_\  ;_GWU#_
M +]'_P")KZ)_X9E^!'_0M6G_ 'R?\:/^&9?@1_T+5I_WR?\ &C0/>/G;_AX_
M\!O^??4/^_1_^)H_X>/_  &_Y]]0_P"_1_\ B:^B?^&9?@1_T+5I_P!\G_&C
M_AF7X$?]"U:?]\G_ !HT#WCYV_X>/_ ;_GWU#_OT?_B:/^'C_P !O^??4/\
MOT?_ (FOHG_AF7X$?]"U:?\ ?)_QH_X9E^!'_0M6G_?)_P :- ]X^=O^'C_P
M&_Y]]0_[]'_XFC_AX_\  ;_GWU#_ +]'_P")KZ)_X9E^!'_0M6G_ 'R?\:/^
M&9?@1_T+5I_WR?\ &C0/>/G;_AX_\!O^??4/^_1_^)H_X>/_  &_Y]]0_P"_
M1_\ B:^B?^&9?@1_T+5I_P!\G_&C_AF7X$?]"U:?]\G_ !HT#WCYV_X>/_ ;
M_GWU#_OT?_B:/^'C_P !O^??4/\ OT?_ (FOHG_AF7X$?]"U:?\ ?)_QH_X9
ME^!'_0M6G_?)_P :- ]X^=O^'C_P&_Y]]0_[]'_XFC_AX_\  ;_GWU#_ +]'
M_P")KZ)_X9E^!'_0M6G_ 'R?\:/^&9?@1_T+5I_WR?\ &C0/>/G;_AX_\!O^
M??4/^_1_^)H_X>/_  &_Y]]0_P"_1_\ B:^B?^&9?@1_T+5I_P!\G_&C_AF7
MX$?]"U:?]\G_ !HT#WCYV_X>/_ ;_GWU#_OT?_B:/^'C_P !O^??4/\ OT?_
M (FOHG_AF7X$?]"U:?\ ?)_QH_X9E^!'_0M6G_?)_P :- ]X^=O^'C_P&_Y]
M]0_[]'_XFC_AX_\  ;_GWU#_ +]'_P")KZ)_X9E^!'_0M6G_ 'R?\:/^&9?@
M1_T+5I_WR?\ &C0/>/G;_AX_\!O^??4/^_1_^)H_X>/_  &_Y]]0_P"_1_\
MB:^B?^&9?@1_T+5I_P!\G_&C_AF7X$?]"U:?]\G_ !HT#WCYV_X>/_ ;_GWU
M#_OT?_B:/^'C_P !O^??4/\ OT?_ (FOHG_AF7X$?]"U:?\ ?)_QH_X9E^!'
M_0M6G_?)_P :- ]X^=O^'C_P&_Y]]0_[]'_XFC_AX_\  ;_GWU#_ +]'_P")
MKZ)_X9E^!'_0M6G_ 'R?\:/^&9?@1_T+5I_WR?\ &C0/>/G;_AX_\!O^??4/
M^_1_^)H_X>/_  &_Y]]0_P"_1_\ B:^B?^&9?@1_T+5I_P!\G_&C_AF7X$?]
M"U:?]\G_ !HT#WCYV_X>/_ ;_GWU#_OT?_B:/^'C_P !O^??4/\ OT?_ (FO
MHG_AF7X$?]"U:?\ ?)_QH_X9E^!'_0M6G_?)_P :- ]X^=O^'C_P&_Y]]0_[
M]'_XFC_AX_\  ;_GWU#_ +]'_P")KZ)_X9E^!'_0M6G_ 'R?\:/^&9?@1_T+
M5I_WR?\ &C0/>/G;_AX_\!O^??4/^_1_^)H_X>/_  &_Y]]0_P"_1_\ B:^B
M?^&9?@1_T+5I_P!\G_&C_AF7X$?]"U:?]\G_ !HT#WCYV_X>/_ ;_GWU#_OT
M?_B:/^'C_P !O^??4/\ OT?_ (FOHG_AF7X$?]"U:?\ ?)_QH_X9E^!'_0M6
MG_?)_P :- ]X^=O^'C_P&_Y]]0_[]'_XFC_AX_\  ;_GWU#_ +]'_P")KZ)_
MX9E^!'_0M6G_ 'R?\:/^&9?@1_T+5I_WR?\ &C0/>/G;_AX_\!O^??4/^_1_
M^)H_X>/_  &_Y]]0_P"_1_\ B:^B?^&9?@1_T+5I_P!\G_&C_AF7X$?]"U:?
M]\G_ !HT#WCYV_X>/_ ;_GWU#_OT?_B:/^'C_P !O^??4/\ OT?_ (FOHG_A
MF7X$?]"U:?\ ?)_QH_X9E^!'_0M6G_?)_P :- ]X^=O^'C_P&_Y]]0_[]'_X
MFC_AX_\  ;_GWU#_ +]'_P")KZ)_X9E^!'_0M6G_ 'R?\:/^&9?@1_T+5I_W
MR?\ &C0/>/G;_AX_\!O^??4/^_1_^)H_X>/_  &_Y]]0_P"_1_\ B:^B?^&9
M?@1_T+5I_P!\G_&C_AF7X$?]"U:?]\G_ !HT#WCYV_X>/_ ;_GWU#_OT?_B:
M/^'C_P !O^??4/\ OT?_ (FOHG_AF7X$?]"U:?\ ?)_QH_X9E^!'_0M6G_?)
M_P :- ]X^=O^'C_P&_Y]]0_[]'_XFC_AX_\  ;_GWU#_ +]'_P")KZ)_X9E^
M!'_0M6G_ 'R?\:/^&9?@1_T+5I_WR?\ &C0/>/G;_AX_\!O^??4/^_1_^)H_
MX>/_  &_Y]]0_P"_1_\ B:^B?^&9?@1_T+5I_P!\G_&C_AF7X$?]"U:?]\G_
M !HT#WCYV_X>/_ ;_GWU#_OT?_B:/^'C_P !O^??4/\ OT?_ (FOHG_AF7X$
M?]"U:?\ ?)_QH_X9E^!'_0M6G_?)_P :- ]X^=O^'C_P&_Y]]0_[]'_XFC_A
MX_\  ;_GWU#_ +]'_P")KZ)_X9E^!'_0M6G_ 'R?\:/^&9?@1_T+5I_WR?\
M&C0/>/G;_AX_\!O^??4/^_1_^)H_X>/_  &_Y]]0_P"_1_\ B:^B?^&9?@1_
MT+5I_P!\G_&C_AF7X$?]"U:?]\G_ !HT#WCYV_X>/_ ;_GWU#_OT?_B:/^'C
M_P !O^??4/\ OT?_ (FOHG_AF7X$?]"U:?\ ?)_QH_X9E^!'_0M6G_?)_P :
M- ]X^=O^'C_P&_Y]]0_[]'_XFC_AX_\  ;_GWU#_ +]'_P")KZ)_X9E^!'_0
MM6G_ 'R?\:/^&9?@1_T+5I_WR?\ &C0/>/G;_AX_\!O^??4/^_1_^)H_X>/_
M  &_Y]]0_P"_1_\ B:^B?^&9?@1_T+5I_P!\G_&C_AF7X$?]"U:?]\G_ !HT
M#WCYV_X>/_ ;_GWU#_OT?_B:/^'C_P !O^??4/\ OT?_ (FOHG_AF7X$?]"U
M:?\ ?)_QH_X9E^!'_0M6G_?)_P :- ]X^=O^'C_P&_Y]]0_[]'_XFC_AX_\
M ;_GWU#_ +]'_P")KZ)_X9E^!'_0M6G_ 'R?\:/^&9?@1_T+5I_WR?\ &C0/
M>/G;_AX_\!O^??4/^_1_^)H_X>/_  &_Y]]0_P"_1_\ B:^B?^&9?@1_T+5I
M_P!\G_&C_AF7X$?]"U:?]\G_ !HT#WCYV_X>/_ ;_GWU#_OT?_B:/^'C_P !
MO^??4/\ OT?_ (FOHG_AF7X$?]"U:?\ ?)_QH_X9E^!'_0M6G_?)_P :- ]X
M^=O^'C_P&_Y]]0_[]'_XFC_AX_\  ;_GWU#_ +]'_P")KZ)_X9E^!'_0M6G_
M 'R?\:/^&9?@1_T+5I_WR?\ &C0/>/G;_AX_\!O^??4/^_1_^)H_X>/_  &_
MY]]0_P"_1_\ B:^B?^&9?@1_T+5I_P!\G_&C_AF7X$?]"U:?]\G_ !HT#WCY
MV_X>/_ ;_GWU#_OT?_B:/^'C_P !O^??4/\ OT?_ (FOHG_AF7X$?]"U:?\
M?)_QH_X9E^!'_0M6G_?)_P :- ]X^=O^'C_P&_Y]]0_[]'_XFC_AX_\  ;_G
MWU#_ +]'_P")KZ)_X9E^!'_0M6G_ 'R?\:/^&9?@1_T+5I_WR?\ &C0/>/G;
M_AX_\!O^??4/^_1_^)H_X>/_  &_Y]]0_P"_1_\ B:^B?^&9?@1_T+5I_P!\
MG_&C_AF7X$?]"U:?]\G_ !HT#WCYV_X>/_ ;_GWU#_OT?_B:/^'C_P !O^??
M4/\ OT?_ (FOHG_AF7X$?]"U:?\ ?)_QH_X9E^!'_0M6G_?)_P :- ]X^=O^
M'C_P&_Y]]0_[]'_XFC_AX_\  ;_GWU#_ +]'_P")KZ)_X9E^!'_0M6G_ 'R?
M\:/^&9?@1_T+5I_WR?\ &C0/>/G;_AX_\!O^??4/^_1_^)H_X>/_  &_Y]]0
M_P"_1_\ B:^B?^&9?@1_T+5I_P!\G_&C_AF7X$?]"U:?]\G_ !HT#WCYV_X>
M/_ ;_GWU#_OT?_B:/^'C_P !O^??4/\ OT?_ (FOHG_AF7X$?]"U:?\ ?)_Q
MH_X9E^!'_0M6G_?)_P :- ]X^=O^'C_P&_Y]]0_[]'_XFC_AX_\  ;_GWU#_
M +]'_P")KZ)_X9E^!'_0M6G_ 'R?\:/^&9?@1_T+5I_WR?\ &C0/>/G;_AX_
M\!O^??4/^_1_^)H_X>/_  &_Y]]0_P"_1_\ B:^B?^&9?@1_T+5I_P!\G_&C
M_AF7X$?]"U:?]\G_ !HT#WCYV_X>/_ ;_GWU#_OT?_B:/^'C_P !O^??4/\
MOT?_ (FOHG_AF7X$?]"U:?\ ?)_QH_X9E^!'_0M6G_?)_P :- ]X^=O^'C_P
M&_Y]]0_[]'_XFC_AX_\  ;_GWU#_ +]'_P")KZ)_X9E^!'_0M6G_ 'R?\:/^
M&9?@1_T+5I_WR?\ &C0/>/G;_AX_\!O^??4/^_1_^)H_X>/_  &_Y]]0_P"_
M1_\ B:^B?^&9?@1_T+5I_P!\G_&C_AF7X$?]"U:?]\G_ !HT#WCYV_X>/_ ;
M_GWU#_OT?_B:/^'C_P !O^??4/\ OT?_ (FOHG_AF7X$?]"U:?\ ?)_QH_X9
ME^!'_0M6G_?)_P :- ]X^=O^'C_P&_Y]]0_[]'_XFC_AX_\  ;_GWU#_ +]'
M_P")KZ)_X9E^!'_0M6G_ 'R?\:/^&9?@1_T+5I_WR?\ &C0/>/G;_AX_\!O^
M??4/^_1_^)H_X>/_  &_Y]]0_P"_1_\ B:^B?^&9?@1_T+5I_P!\G_&C_AF7
MX$?]"U:?]\G_ !HT#WCYV_X>/_ ;_GWU#_OT?_B:/^'C_P !O^??4/\ OT?_
M (FOHG_AF7X$?]"U:?\ ?)_QH_X9E^!'_0M6G_?)_P :- ]X^=O^'C_P&_Y]
M]0_[]'_XFC_AX_\  ;_GWU#_ +]'_P")KZ)_X9E^!'_0M6G_ 'R?\:/^&9?@
M1_T+5I_WR?\ &C0/>/G;_AX_\!O^??4/^_1_^)H_X>/_  &_Y]]0_P"_1_\
MB:^B?^&9?@1_T+5I_P!\G_&C_AF7X$?]"U:?]\G_ !HT#WCYV_X>/_ ;_GWU
M#_OT?_B:/^'C_P !O^??4/\ OT?_ (FOHG_AF7X$?]"U:?\ ?)_QH_X9E^!'
M_0M6G_?)_P :- ]X^=O^'C_P&_Y]]0_[]'_XFC_AX_\  ;_GWU#_ +]'_P")
MKZ)_X9E^!'_0M6G_ 'R?\:/^&9?@1_T+5I_WR?\ &C0/>/G;_AX_\!O^??4/
M^_1_^)H_X>/_  &_Y]]0_P"_1_\ B:^B?^&9?@1_T+5I_P!\G_&C_AF7X$?]
M"U:?]\G_ !HT#WCYV_X>/_ ;_GWU#_OT?_B:/^'C_P !O^??4/\ OT?_ (FO
MHG_AF7X$?]"U:?\ ?)_QH_X9E^!'_0M6G_?)_P :- ]X^=O^'C_P&_Y]]0_[
M]'_XFC_AX_\  ;_GWU#_ +]'_P")KZ)_X9E^!'_0M6G_ 'R?\:/^&9?@1_T+
M5I_WR?\ &C0/>/G;_AX_\!O^??4/^_1_^)H_X>/_  &_Y]]0_P"_1_\ B:^B
M?^&9?@1_T+5I_P!\G_&C_AF7X$?]"U:?]\G_ !HT#WCYV_X>/_ ;_GWU#_OT
M?_B:/^'C_P !O^??4/\ OT?_ (FOHG_AF7X$?]"U:?\ ?)_QH_X9E^!'_0M6
MG_?)_P :- ]X^=O^'C_P&_Y]]0_[]'_XFC_AX_\  ;_GWU#_ +]'_P")KZ)_
MX9E^!'_0M6G_ 'R?\:/^&9?@1_T+5I_WR?\ &C0/>/G;_AX_\!O^??4/^_1_
M^)H_X>/_  &_Y]]0_P"_1_\ B:^B?^&9?@1_T+5I_P!\G_&C_AF7X$?]"U:?
M]\G_ !HT#WCYV_X>/_ ;_GWU#_OT?_B:/^'C_P !O^??4/\ OT?_ (FOHG_A
MF7X$?]"U:?\ ?)_QH_X9E^!'_0M6G_?)_P :- ]X^=O^'C_P&_Y]]0_[]'_X
MFC_AX_\  ;_GWU#_ +]'_P")KZ)_X9E^!'_0M6G_ 'R?\:/^&9?@1_T+5I_W
MR?\ &C0/>/G;_AX_\!O^??4/^_1_^)H_X>/_  &_Y]]0_P"_1_\ B:^B?^&9
M?@1_T+5I_P!\G_&C_AF7X$?]"U:?]\G_ !HT#WCYV_X>/_ ;_GWU#_OT?_B:
M/^'C_P !O^??4/\ OT?_ (FOHG_AF7X$?]"U:?\ ?)_QH_X9E^!'_0M6G_?)
M_P :- ]X^=O^'C_P&_Y]]0_[]'_XFC_AX_\  ;_GWU#_ +]'_P")KZ)_X9E^
M!'_0M6G_ 'R?\:/^&9?@1_T+5I_WR?\ &C0/>/G;_AX_\!O^??4/^_1_^)H_
MX>/_  &_Y]]0_P"_1_\ B:^B?^&9?@1_T+5I_P!\G_&C_AF7X$?]"U:?]\G_
M !HT#WCYV_X>/_ ;_GWU#_OT?_B:/^'C_P !O^??4/\ OT?_ (FOHG_AF7X$
M?]"U:?\ ?)_QH_X9E^!'_0M6G_?)_P :- ]X^=O^'C_P&_Y]]0_[]'_XFC_A
MX_\  ;_GWU#_ +]'_P")KZ)_X9E^!'_0M6G_ 'R?\:/^&9?@1_T+5I_WR?\
M&C0/>/G;_AX_\!O^??4/^_1_^)H_X>/_  &_Y]]0_P"_1_\ B:^B?^&9?@1_
MT+5I_P!\G_&C_AF7X$?]"U:?]\G_ !HT#WCYV_X>/_ ;_GWU#_OT?_B:/^'C
M_P !O^??4/\ OT?_ (FOHG_AF7X$?]"U:?\ ?)_QH_X9E^!'_0M6G_?)_P :
M- ]X^=O^'C_P&_Y]]0_[]'_XFC_AX_\  ;_GWU#_ +]'_P")KZ)_X9E^!'_0
MM6G_ 'R?\:/^&9?@1_T+5I_WR?\ &C0/>/G;_AX_\!O^??4/^_1_^)H_X>/_
M  &_Y]]0_P"_1_\ B:^B?^&9?@1_T+5I_P!\G_&C_AF7X$?]"U:?]\G_ !HT
M#WCYV_X>/_ ;_GWU#_OT?_B:/^'C_P !O^??4/\ OT?_ (FOHG_AF7X$?]"U
M:?\ ?)_QH_X9E^!'_0M6G_?)_P :- ]X^=O^'C_P&_Y]]0_[]'_XFC_AX_\
M ;_GWU#_ +]'_P")KZ)_X9E^!'_0M6G_ 'R?\:/^&9?@1_T+5I_WR?\ &C0/
M>/G;_AX_\!O^??4/^_1_^)H_X>/_  &_Y]]0_P"_1_\ B:^B?^&9?@1_T+5I
M_P!\G_&C_AF7X$?]"U:?]\G_ !HT#WCYV_X>/_ ;_GWU#_OT?_B:/^'C_P !
MO^??4/\ OT?_ (FOHG_AF7X$?]"U:?\ ?)_QH_X9E^!'_0M6G_?)_P :- ]X
M^=O^'C_P&_Y]]0_[]'_XFC_AX_\  ;_GWU#_ +]'_P")KZ)_X9E^!'_0M6G_
M 'R?\:/^&9?@1_T+5I_WR?\ &C0/>/G;_AX_\!O^??4/^_1_^)H_X>/_  &_
MY]]0_P"_1_\ B:^B?^&9?@1_T+5I_P!\G_&C_AF7X$?]"U:?]\G_ !HT#WCY
MV_X>/_ ;_GWU#_OT?_B:/^'C_P !O^??4/\ OT?_ (FOHG_AF7X$?]"U:?\
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
ME_\ #8W_  5C_P"A/?\ \ 9/_BJ/^&QO^"L?_0GO_P" ,G_Q5'^L5#_GW/\
M\!8?\0>S3_H,PW_@Z/\ D?T:45_.7_PV-_P5C_Z$]_\ P!D_^*H_X;&_X*Q_
M]">__@#)_P#%4?ZQ4/\ GW/_ ,!8?\0>S3_H,PW_ (.C_D?T:45_.7_PV-_P
M5C_Z$]__  !D_P#BJ/\ AL;_ (*Q_P#0GO\ ^ ,G_P 51_K%0_Y]S_\  6'_
M !![-/\ H,PW_@Z/^1_1I17\Y?\ PV-_P5C_ .A/?_P!D_\ BJ/^&QO^"L?_
M $)[_P#@#)_\51_K%0_Y]S_\!8?\0>S3_H,PW_@Z/^1_1I17\Y?_  V-_P %
M8_\ H3W_ / &3_XJC_AL;_@K'_T)[_\ @#)_\51_K%0_Y]S_ / 6'_$'LT_Z
M#,-_X.C_ )']&E%?SE_\-C?\%8_^A/?_ , 9/_BJ/^&QO^"L?_0GO_X R?\
MQ5'^L5#_ )]S_P# 6'_$'LT_Z#,-_P"#H_Y']&E%?SE_\-C?\%8_^A/?_P
M9/\ XJC_ (;&_P""L?\ T)[_ /@#)_\ %4?ZQ4/^?<__  %A_P 0>S3_ *#,
M-_X.C_D?T:45_.7_ ,-C?\%8_P#H3W_\ 9/_ (JC_AL;_@K'_P!">_\ X R?
M_%4?ZQ4/^?<__ 6'_$'LT_Z#,-_X.C_D?T:45_.7_P -C?\ !6/_ *$]_P#P
M!D_^*H_X;&_X*Q_]">__ ( R?_%4?ZQ4/^?<_P#P%A_Q![-/^@S#?^#H_P"1
M_1I17\Y?_#8W_!6/_H3W_P# &3_XJC_AL;_@K'_T)[_^ ,G_ ,51_K%0_P"?
M<_\ P%A_Q![-/^@S#?\ @Z/^1_1I17\Y?_#8W_!6/_H3W_\  &3_ .*H_P"&
MQO\ @K'_ -">_P#X R?_ !5'^L5#_GW/_P !8?\ $'LT_P"@S#?^#H_Y']&E
M%?SE_P##8W_!6/\ Z$]__ &3_P"*H_X;&_X*Q_\ 0GO_ . ,G_Q5'^L5#_GW
M/_P%A_Q![-/^@S#?^#H_Y']&E%?SE_\ #8W_  5C_P"A/?\ \ 9/_BJ/^&QO
M^"L?_0GO_P" ,G_Q5'^L5#_GW/\ \!8?\0>S3_H,PW_@Z/\ D?T:45_.7_PV
M-_P5C_Z$]_\ P!D_^*H_X;&_X*Q_]">__@#)_P#%4?ZQ4/\ GW/_ ,!8?\0>
MS3_H,PW_ (.C_D?T:45_.7_PV-_P5C_Z$]__  !D_P#BJ/\ AL;_ (*Q_P#0
MGO\ ^ ,G_P 51_K%0_Y]S_\  6'_ !![-/\ H,PW_@Z/^1_1I17\Y?\ PV-_
MP5C_ .A/?_P!D_\ BJ/^&QO^"L?_ $)[_P#@#)_\51_K%0_Y]S_\!8?\0>S3
M_H,PW_@Z/^1_1I17\Y?_  V-_P %8_\ H3W_ / &3_XJC_AL;_@K'_T)[_\
M@#)_\51_K%0_Y]S_ / 6'_$'LT_Z#,-_X.C_ )']&E%?SE_\-C?\%8_^A/?_
M , 9/_BJ/^&QO^"L?_0GO_X R?\ Q5'^L5#_ )]S_P# 6'_$'LT_Z#,-_P"#
MH_Y']&E%?SE_\-C?\%8_^A/?_P  9/\ XJC_ (;&_P""L?\ T)[_ /@#)_\
M%4?ZQ4/^?<__  %A_P 0>S3_ *#,-_X.C_D?T:45_.7_ ,-C?\%8_P#H3W_\
M 9/_ (JC_AL;_@K'_P!">_\ X R?_%4?ZQ4/^?<__ 6'_$'LT_Z#,-_X.C_D
M?T:45_.7_P -C?\ !6/_ *$]_P#P!D_^*H_X;&_X*Q_]">__ ( R?_%4?ZQ4
M/^?<_P#P%A_Q![-/^@S#?^#H_P"1_1I17\Y?_#8W_!6/_H3W_P# &3_XJC_A
ML;_@K'_T)[_^ ,G_ ,51_K%0_P"?<_\ P%A_Q![-/^@S#?\ @Z/^1_1I17\Y
M?_#8W_!6/_H3W_\  &3_ .*H_P"&QO\ @K'_ -">_P#X R?_ !5'^L5#_GW/
M_P !8?\ $'LT_P"@S#?^#H_Y']&E%?SE_P##8W_!6/\ Z$]__ &3_P"*H_X;
M&_X*Q_\ 0GO_ . ,G_Q5'^L5#_GW/_P%A_Q![-/^@S#?^#H_Y']&E%?SE_\
M#8W_  5C_P"A/?\ \ 9/_BJ/^&QO^"L?_0GO_P" ,G_Q5'^L5#_GW/\ \!8?
M\0>S3_H,PW_@Z/\ D?T:45_.7_PV-_P5C_Z$]_\ P!D_^*H_X;&_X*Q_]">_
M_@#)_P#%4?ZQ4/\ GW/_ ,!8?\0>S3_H,PW_ (.C_D?T:45_.7_PV-_P5C_Z
M$]__  !D_P#BJ/\ AL;_ (*Q_P#0GO\ ^ ,G_P 51_K%0_Y]S_\  6'_ !![
M-/\ H,PW_@Z/^1_1I17\Y?\ PV-_P5C_ .A/?_P!D_\ BJ/^&QO^"L?_ $)[
M_P#@#)_\51_K%0_Y]S_\!8?\0>S3_H,PW_@Z/^1_1I17\Y?_  V-_P %8_\
MH3W_ / &3_XJC_AL;_@K'_T)[_\ @#)_\51_K%0_Y]S_ / 6'_$'LT_Z#,-_
MX.C_ )']&E%?SE_\-C?\%8_^A/?_ , 9/_BJ/^&QO^"L?_0GO_X R?\ Q5'^
ML5#_ )]S_P# 6'_$'LT_Z#,-_P"#H_Y']&E%?SE_\-C?\%8_^A/?_P  9/\
MXJC_ (;&_P""L?\ T)[_ /@#)_\ %4?ZQ4/^?<__  %A_P 0>S3_ *#,-_X.
MC_D?T:45_.7_ ,-C?\%8_P#H3W_\ 9/_ (JC_AL;_@K'_P!">_\ X R?_%4?
MZQ4/^?<__ 6'_$'LT_Z#,-_X.C_D?T:45_.7_P -C?\ !6/_ *$]_P#P!D_^
M*H_X;&_X*Q_]">__ ( R?_%4?ZQ4/^?<_P#P%A_Q![-/^@S#?^#H_P"1_1I1
M7\Y?_#8W_!6/_H3W_P# &3_XJC_AL;_@K'_T)[_^ ,G_ ,51_K%0_P"?<_\
MP%A_Q![-/^@S#?\ @Z/^1_1I17\Y?_#8W_!6/_H3W_\  &3_ .*H_P"&QO\
M@K'_ -">_P#X R?_ !5'^L5#_GW/_P !8?\ $'LT_P"@S#?^#H_Y']&E%?SE
M_P##8W_!6/\ Z$]__ &3_P"*H_X;&_X*Q_\ 0GO_ . ,G_Q5'^L5#_GW/_P%
MA_Q![-/^@S#?^#H_Y']&E%?SE_\ #8W_  5C_P"A/?\ \ 9/_BJ/^&QO^"L?
M_0GO_P" ,G_Q5'^L5#_GW/\ \!8?\0>S3_H,PW_@Z/\ D?T:45_.7_PV-_P5
MC_Z$]_\ P!D_^*H_X;&_X*Q_]">__@#)_P#%4?ZQ4/\ GW/_ ,!8?\0>S3_H
M,PW_ (.C_D?T:45_.7_PV-_P5C_Z$]__  !D_P#BJ/\ AL;_ (*Q_P#0GO\
M^ ,G_P 51_K%0_Y]S_\  6'_ !![-/\ H,PW_@Z/^1_1I17\Y?\ PV-_P5C_
M .A/?_P!D_\ BJ/^&QO^"L?_ $)[_P#@#)_\51_K%0_Y]S_\!8?\0>S3_H,P
MW_@Z/^1_1I17\Y?_  V-_P %8_\ H3W_ / &3_XJC_AL;_@K'_T)[_\ @#)_
M\51_K%0_Y]S_ / 6'_$'LT_Z#,-_X.C_ )']&E%?SE_\-C?\%8_^A/?_ , 9
M/_BJ/^&QO^"L?_0GO_X R?\ Q5'^L5#_ )]S_P# 6'_$'LT_Z#,-_P"#H_Y'
M]&E%?SE_\-C?\%8_^A/?_P  9/\ XJC_ (;&_P""L?\ T)[_ /@#)_\ %4?Z
MQ4/^?<__  %A_P 0>S3_ *#,-_X.C_D?T:45_.7_ ,-C?\%8_P#H3W_\ 9/_
M (JC_AL;_@K'_P!">_\ X R?_%4?ZQ4/^?<__ 6'_$'LT_Z#,-_X.C_D?T:4
M5_.7_P -C?\ !6/_ *$]_P#P!D_^*H_X;&_X*Q_]">__ ( R?_%4?ZQ4/^?<
M_P#P%A_Q![-/^@S#?^#H_P"1_1I17\Y?_#8W_!6/_H3W_P# &3_XJC_AL;_@
MK'_T)[_^ ,G_ ,51_K%0_P"?<_\ P%A_Q![-/^@S#?\ @Z/^1_1I17\Y?_#8
MW_!6/_H3W_\  &3_ .*H_P"&QO\ @K'_ -">_P#X R?_ !5'^L5#_GW/_P !
M8?\ $'LT_P"@S#?^#H_Y']&E%?SE_P##8W_!6/\ Z$]__ &3_P"*H_X;&_X*
MQ_\ 0GO_ . ,G_Q5'^L5#_GW/_P%A_Q![-/^@S#?^#H_Y']&E%?SE_\ #8W_
M  5C_P"A/?\ \ 9/_BJ/^&QO^"L?_0GO_P" ,G_Q5'^L5#_GW/\ \!8?\0>S
M3_H,PW_@Z/\ D?T:45_.7_PV-_P5C_Z$]_\ P!D_^*H_X;&_X*Q_]">__@#)
M_P#%4?ZQ4/\ GW/_ ,!8?\0>S3_H,PW_ (.C_D?T:45_.7_PV-_P5C_Z$]__
M  !D_P#BJ/\ AL;_ (*Q_P#0GO\ ^ ,G_P 51_K%0_Y]S_\  6'_ !![-/\
MH,PW_@Z/^1_1I17\Y?\ PV-_P5C_ .A/?_P!D_\ BJ/^&QO^"L?_ $)[_P#@
M#)_\51_K%0_Y]S_\!8?\0>S3_H,PW_@Z/^1_1I17\Y?_  V-_P %8_\ H3W_
M / &3_XJC_AL;_@K'_T)[_\ @#)_\51_K%0_Y]S_ / 6'_$'LT_Z#,-_X.C_
M )']&E%?SE_\-C?\%8_^A/?_ , 9/_BJ/^&QO^"L?_0GO_X R?\ Q5'^L5#_
M )]S_P# 6'_$'LT_Z#,-_P"#H_Y']&E%?SE_\-C?\%8_^A/?_P  9/\ XJC_
M (;&_P""L?\ T)[_ /@#)_\ %4?ZQ4/^?<__  %A_P 0>S3_ *#,-_X.C_D?
MT:45_.7_ ,-C?\%8_P#H3W_\ 9/_ (JC_AL;_@K'_P!">_\ X R?_%4?ZQ4/
M^?<__ 6'_$'LT_Z#,-_X.C_D?T:45_.7_P -C?\ !6/_ *$]_P#P!D_^*H_X
M;&_X*Q_]">__ ( R?_%4?ZQ4/^?<_P#P%A_Q![-/^@S#?^#H_P"1_1I17\Y?
M_#8W_!6/_H3W_P# &3_XJC_AL;_@K'_T)[_^ ,G_ ,51_K%0_P"?<_\ P%A_
MQ![-/^@S#?\ @Z/^1_1I17\Y?_#8W_!6/_H3W_\  &3_ .*H_P"&QO\ @K'_
M -">_P#X R?_ !5'^L5#_GW/_P !8?\ $'LT_P"@S#?^#H_Y']&E%?SE_P##
M8W_!6/\ Z$]__ &3_P"*H_X;&_X*Q_\ 0GO_ . ,G_Q5'^L5#_GW/_P%A_Q!
M[-/^@S#?^#H_Y']&E%?SE_\ #8W_  5C_P"A/?\ \ 9/_BJ/^&QO^"L?_0GO
M_P" ,G_Q5'^L5#_GW/\ \!8?\0>S3_H,PW_@Z/\ D?T:45_.7_PV-_P5C_Z$
M]_\ P!D_^*H_X;&_X*Q_]">__@#)_P#%4?ZQ4/\ GW/_ ,!8?\0>S3_H,PW_
M (.C_D?T:45_.7_PV-_P5C_Z$]__  !D_P#BJ/\ AL;_ (*Q_P#0GO\ ^ ,G
M_P 51_K%0_Y]S_\  6'_ !![-/\ H,PW_@Z/^1_1I17\Y?\ PV-_P5C_ .A/
M?_P!D_\ BJ/^&QO^"L?_ $)[_P#@#)_\51_K%0_Y]S_\!8?\0>S3_H,PW_@Z
M/^1_1I17\Y?_  V-_P %8_\ H3W_ / &3_XJC_AL;_@K'_T)[_\ @#)_\51_
MK%0_Y]S_ / 6'_$'LT_Z#,-_X.C_ )']&E%?SE_\-C?\%8_^A/?_ , 9/_BJ
M/^&QO^"L?_0GO_X R?\ Q5'^L5#_ )]S_P# 6'_$'LT_Z#,-_P"#H_Y']&E%
M?SE_\-C?\%8_^A/?_P  9/\ XJC_ (;&_P""L?\ T)[_ /@#)_\ %4?ZQ4/^
M?<__  %A_P 0>S3_ *#,-_X.C_D?T:45_.7_ ,-C?\%8_P#H3W_\ 9/_ (JC
M_AL;_@K'_P!">_\ X R?_%4?ZQ4/^?<__ 6'_$'LT_Z#,-_X.C_D?T:45_.7
M_P -C?\ !6/_ *$]_P#P!D_^*H_X;&_X*Q_]">__ ( R?_%4?ZQ4/^?<_P#P
M%A_Q![-/^@S#?^#H_P"1_1I17\Y?_#8W_!6/_H3W_P# &3_XJC_AL;_@K'_T
M)[_^ ,G_ ,51_K%0_P"?<_\ P%A_Q![-/^@S#?\ @Z/^1_1I17\Y?_#8W_!6
M/_H3W_\  &3_ .*H_P"&QO\ @K'_ -">_P#X R?_ !5'^L5#_GW/_P !8?\
M$'LT_P"@S#?^#H_Y']&E%?SE_P##8W_!6/\ Z$]__ &3_P"*H_X;&_X*Q_\
M0GO_ . ,G_Q5'^L5#_GW/_P%A_Q![-/^@S#?^#H_Y']&E%?SE_\ #8W_  5C
M_P"A/?\ \ 9/_BJ/^&QO^"L?_0GO_P" ,G_Q5'^L5#_GW/\ \!8?\0>S3_H,
MPW_@Z/\ D?T:45_.7_PV-_P5C_Z$]_\ P!D_^*H_X;&_X*Q_]">__@#)_P#%
M4?ZQ4/\ GW/_ ,!8?\0>S3_H,PW_ (.C_D?T:45_.7_PV-_P5C_Z$]__  !D
M_P#BJ/\ AL;_ (*Q_P#0GO\ ^ ,G_P 51_K%0_Y]S_\  6'_ !![-/\ H,PW
M_@Z/^1_1I17\Y?\ PV-_P5C_ .A/?_P!D_\ BJ/^&QO^"L?_ $)[_P#@#)_\
M51_K%0_Y]S_\!8?\0>S3_H,PW_@Z/^1_1I17\Y?_  V-_P %8_\ H3W_ / &
M3_XJC_AL;_@K'_T)[_\ @#)_\51_K%0_Y]S_ / 6'_$'LT_Z#,-_X.C_ )']
M&E%?SE_\-C?\%8_^A/?_ , 9/_BJ/^&QO^"L?_0GO_X R?\ Q5'^L5#_ )]S
M_P# 6'_$'LT_Z#,-_P"#H_Y']&E%?SE_\-C?\%8_^A/?_P  9/\ XJC_ (;&
M_P""L?\ T)[_ /@#)_\ %4?ZQ4/^?<__  %A_P 0>S3_ *#,-_X.C_D?T:45
M_.7_ ,-C?\%8_P#H3W_\ 9/_ (JC_AL;_@K'_P!">_\ X R?_%4?ZQ4/^?<_
M_ 6'_$'LT_Z#,-_X.C_D?T:45_.0_P"W)_P5/\.%=2UCP-)=0KUC73Y7SCV5
MLUZ[\%_^"U&F3>)O^$*_:=\(2^&9PX1[ZT8E82>GFV[J'0>K;SCTIPXDP?,H
MU&X7_FBTOOV,,5X/<10HRK86-/$**NU2J1G)+_#HWZ)-G[M45S?A#QCX5\?^
M&[/QAX)OX=3TO4(EFM[FW;<DB,,@@_2NDKW4TU=;'YA4IRA)PFFI+1IZ-/LT
M%%%%,@**** "O/?BY_R2CQ+_ -@VX_\ 0:]"KSWXN?\ )*/$O_8-N/\ T&HJ
M?!+T9U8+_>:7^*/YH_@X_P"8E'_U]1?^C%K_ $+O ?\ R(^C?]>-O_Z+6O\
M/1_YB4?_ %]1?^C%K_0N\!_\B/HW_7C;_P#HM:^$X&^/$?\ ;O\ [<?T[])?
M^#E?K5_*F=71117Z$?R@?__6_OXHHHH **** /YI_P#@OI_R-WPT_P"N%]_2
MN!_X(=_\E/\ &?\ UX1?S>N^_P""^G_(W?#3_KA??TK@?^"'?_)3_&?_ %X1
M?S>OSE_\E*_5?^D(_KNC_P F=_[<?_I]G](U%%%?H1_)@4444 %%%075W#I]
MI+?W#;4@1I&;T" G/Z4 DWHC\7?^"J'[9/C7P5-IW[+/P'F9?$WB$ :A-!S-
M'#*=J11D<J\A^\>RFNR_8>_X)=?#GX-Z99_$_P"-]NOB/QE<JLZQ7'S6UB6Y
M^53]Z7^\Y/T'K\._\$_=.7]J'_@H[XS^,_C1!=)X?6YOX ^2JR"7[+#M[#"X
M;'M7]+1))R>IKY;*Z$<PK3S'$*Z3:@GLDM+V[MG[?QKF=;A7+Z'">5R]G-PC
M/$SCI*<YJ_)S;\L5I9/5:=[U[6UM+&!;6QACAB7HB*% ^@Q5G<?;\O\ ZU-H
MKZD_$'KJQVX^WY?_ %J-Q]OR_P#K4VB@+(=N/M^7_P!:C<?;\O\ ZU-HH"R'
M;C[?E_\ 6HW'V_+_ .M3:* LAVX^WY?_ %J-Q]OR_P#K4VB@+(=N/M^7_P!:
MC<?;\O\ ZU-HH"R';C[?E_\ 6HW'V_+_ .M3:* LAVX^WY?_ %J-Q]OR_P#K
M4VB@+(=N/M^7_P!:C<?;\O\ ZU-HH"R';C[?E_\ 6HW'V_+_ .M3:* LAVX^
MWY?_ %J-Q]OR_P#K4VB@+(=N/M^7_P!:C<?;\O\ ZU-HH"R';C[?E_\ 6HW'
MV_+_ .M3:* LAVX^WY?_ %J-Q]OR_P#K4VB@+(=N/M^7_P!:C<?;\O\ ZU-H
MH"R';C[?E_\ 6HW'V_+_ .M3:* LAVX^WY?_ %J-Q]OR_P#K4VB@+(=N/M^7
M_P!:C<?;\O\ ZU-HH"R';C[?E_\ 6HW'V_+_ .M3:* LAVX^WY?_ %J-Q]OR
M_P#K4VB@+(=N/M^7_P!:C<?;\O\ ZU-HH"R';C[?E_\ 6HW'V_+_ .M3:* L
MAVX^WY?_ %J-Q]OR_P#K4VB@+(=N/M^7_P!:C<?;\O\ ZU-HH"R';C[?E_\
M6HW'V_+_ .M3:* LAVX^WY?_ %J-Q]OR_P#K4VB@+(=N/M^7_P!:C<?;\O\
MZU-HH"R';C[?E_\ 6HW'V_+_ .M3:* LAVX^WY?_ %J-Q]OR_P#K4VB@+(=N
M/M^7_P!:C<?;\O\ ZU-HH"R';C[?E_\ 6HW'V_+_ .M3:* LAVX^WY?_ %J-
MQ]OR_P#K4VB@+(=N/M^7_P!:C<?;\O\ ZU-HH"R';C[?E_\ 6HW'V_+_ .M3
M:* LAVX^WY?_ %J-Q]OR_P#K4VB@+(=N/M^7_P!:C<?;\O\ ZU-HH"R';C[?
ME_\ 6HW'V_+_ .M3:* LAVX^WY?_ %J-Q]OR_P#K4VB@+(=N/M^7_P!:C<?;
M\O\ ZU-HH"R';C[?E_\ 6HW'V_+_ .M3:* LAVX^WY?_ %J-Q]OR_P#K4VB@
M+(=N/M^7_P!:C<?;\O\ ZU-HH"R';C[?E_\ 6HW'V_+_ .M3:* LAVX^WY?_
M %J-Q]OR_P#K4VB@+(=N/M^7_P!:C<?;\O\ ZU-HH"R';C[?E_\ 6HW'V_+_
M .M3:* LAVX^WY?_ %J-Q]OR_P#K4VB@+(=N/M^7_P!:C<?;\O\ ZU-HH"R'
M;C[?E_\ 6HW'V_+_ .M3:* LAVX^WY?_ %J-Q]OR_P#K4VB@+(=N/M^7_P!:
MC<?;\O\ ZU-HH"R';C[?E_\ 6HW'V_+_ .M3:* LAVX^WY?_ %J-Q]OR_P#K
M4VB@+(=N/M^7_P!:C<?;\O\ ZU-HH"R';C[?E_\ 6HW'V_+_ .M3:* LAVX^
MWY?_ %J-Q]OR_P#K4VB@+(=N/M^7_P!:C<?;\O\ ZU-HH"R';C[?E_\ 6HW'
MV_+_ .M3:* LAVX^WY?_ %J-Q]OR_P#K4VB@+(=N/M^7_P!:C<?;\O\ ZU-H
MH"R';C[?E_\ 6HW'V_+_ .M3:* LAVX^WY?_ %J-Q]OR_P#K4VB@+(=N/M^7
M_P!:C<?;\O\ ZU-HH"R';C[?E_\ 6HW'V_+_ .M3:* LAVX^WY?_ %J-Q]OR
M_P#K4VB@+(=N/M^7_P!:C<?;\O\ ZU-HH"R';C[?E_\ 6HW'V_+_ .M3:* L
MAVX^WY?_ %J-Q]OR_P#K4VB@+(=N/M^7_P!:C<?;\O\ ZU-HH"R';C[?E_\
M6HW'V_+_ .M3:* LAVX^WY?_ %J-Q]OR_P#K4VB@+(=N/M^7_P!:C<?;\O\
MZU-HH"R';C[?E_\ 6HW'V_+_ .M3:* LAVX^WY?_ %J-Q]OR_P#K4VB@+(=N
M/M^7_P!:C<?;\O\ ZU-HH"R';C[?E_\ 6HW'V_+_ .M3:* LAVX^WY?_ %J-
MQ]OR_P#K4VB@+(=N/M^7_P!:C<?;\O\ ZU-HH"R';C[?E_\ 6HW'V_+_ .M3
M:* LAVX^WY?_ %J-Q]OR_P#K4VB@+(=N/M^7_P!:C<?;\O\ ZU-HH"R';C[?
ME_\ 6HW'V_+_ .M3:* LAVX^WY?_ %J-Q]OR_P#K4VB@+(=N/M^7_P!:C<?;
M\O\ ZU-HH"R';C[?E_\ 6HW'V_+_ .M3:* LAVX^WY?_ %J-Q]OR_P#K4VB@
M+(=N/M^7_P!:C<?;\O\ ZU-HH"R';C[?E_\ 6HW'V_+_ .M3:* LAVX^WY?_
M %J-Q]OR_P#K4VB@+(=N/M^7_P!:C<?;\O\ ZU-HH"R';OI^7_UJ^4?VD_V,
M?@-^U)X:?1OB#I*6^H(I%KJEH!'=6[GG(;&",CD$<BOJRBLJU"G6@Z=6*<7T
M9VY=F6*P&(ABL%5E3J1=U*+LU_7;9]3^7SX5?%#XS?\ !*7]I7_A2_Q2DEU/
MP'J\P*E1E&AD8!;F#)P&4D>8F?7K@9_I[M+RRU&TBU'395GMKA%EBE0Y5T<9
M5A[$'-?F=_P5B^"&E_%3]E34O%HA3^T_";)?03G[R1E@C@?@QK?_ ."5OQ8O
MOBK^QYH3ZM(9+K1FDT\Y.6\N%B$+$]3M KY_+%+!XR>7MW@US0OT5[-?Y'ZK
MQI.CQ#P_A^+84U'$QG['$<JLIRY;PJ6Z-K?S?DC]&J***^E/QT**** "O/?B
MY_R2CQ+_ -@VX_\ 0:]"KSWXN?\ )*/$O_8-N/\ T&HJ?!+T9U8+_>:7^*/Y
MH_@X_P"8E'_U]1?^C%K_ $+O ?\ R(^C?]>-O_Z+6O\ /1_YB4?_ %]1?^C%
MK_0N\!_\B/HW_7C;_P#HM:^$X&^/$?\ ;O\ [<?T[])?^#E?K5_*F=71117Z
M$?R@?__7_OXHHHH **** /YI_P#@OI_R-WPT_P"N%]_2N!_X(=_\E/\ &?\
MUX1?S>N^_P""^G_(W?#3_KA??TK@?^"'?_)3_&?_ %X1?S>OSE_\E*_5?^D(
M_KNC_P F=_[<?_I]G](U%%%?H1_)@4444 %<;\1B5^'NO,O!&G77_HIJ[*N,
M^(__ "3S7_\ L&W?_HIJF?PLWPO\:GZK\S\'/^"'L4;>,_BA=,,R?NUW=\&7
M/\Z_H6K^>W_@AW_R-GQ1_P!Z+_T:*_H2KPN&?^1=3_[>_P#2F?IOC3_R5^,]
M*?\ Z;@%%%%>^?E84444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !167?Z[H.E
M2B'5;ZWM789"RR!"1ZX)JO!XH\+7<JV]IJ=I+(QPJI*I)/L,T!<W**<RLC;7
M&#3: "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MJC?ZKI6E(LNJW45JK' ,KA 3[9J>VN[2^@6ZL94FB?[KQG<I^A% $]%%9-QK
M^@6=W_9]Y?V\-QD#RGD ?)Z<$YH UJ*** "BBD)55+,< <DGM0 M%<\WB_P@
MI*MJUF".H,R_XTG_  F/@[_H+V7_ '^7_&@+G144R.2.:-9H6#HX#*RG((/0
M@^E/H **R4\0>'Y+S^SHK^W:YSCRA(I?/ICK6M0 4444 %%%% !115&_U72]
M)C6;5KJ*U1SM5IG" GK@9[T 7J*YX>,/![':NK69)Z 3+_C70C#(LJG*N,J1
MT(]J "BLJ\U[0=.G%KJ-];V\K=$DD"L<^Q-:@(8!E.0>AH 6BBB@ HHHH **
M\#\0?M4_LU>%/%R^ ?$7CK1K367( M)+N,29)P!C.>M>\QR1RQK-$P9' 96'
M((/0B@!]%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% 'S'^VG&DO[)/Q$209']B7!Q[@9%?GI_P0_=C^SEK2$\#41C_ +Y%
M?H=^VA_R:7\1/^P'<_RK\[_^"'W_ ";IK?\ V$1_Z"*^=Q/_ ".J'^"7YGZW
MD_\ R;O,_P#L)I?^DG[4T445]$?D@4444 %>>_%S_DE'B7_L&W'_ *#7H5>>
M_%S_ ))1XE_[!MQ_Z#45/@EZ,ZL%_O-+_%'\T?P<?\Q*/_KZB_\ 1BU_H7>
M_P#D1]&_Z\;?_P!%K7^>C_S$H_\ KZB_]&+7^A=X#_Y$?1O^O&W_ /1:U\)P
M-\>(_P"W?_;C^G?I+_P<K]:OY4SJZ***_0C^4#__T/[^**** "BBB@#^:?\
MX+Z?\C=\-/\ KA??TK@?^"'?_)3_ !G_ ->$7\WKOO\ @OI_R-WPT_ZX7W]*
MX'_@AW_R4_QG_P!>$7\WK\Y?_)2OU7_I"/Z[H_\ )G?^W'_Z?9_2-1117Z$?
MR8%%%% !7&?$?_DGFO\ _8-N_P#T4U=G7&?$?_DGFO\ _8-N_P#T4U3/X6;X
M7^-3]5^9^$'_  0[_P"1L^*/^]%_Z-%?T)5_/;_P0[_Y&SXH_P"]%_Z-%?T)
M5X?#/_(NI_\ ;W_I3/TWQI_Y*_&>E/\ ]-P"BBBO>/RL**** "BBB@ HHHH
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
M V[Z']C/[/G[3OP _:L\#Q_$;]GGQ78>*M'D"GSK*0.5W#(W+U&1TS7\)O\
MP6Q^*OQ-\,_\'&OPT\&^'=?O['2;S4O"XGLX9V2&0/=A6W(#@[AP:^+_ /@D
MEJ_Q@_X)1?\ !?W_ (9"@U:63PYJ.N7GAS4[))"8;ZSN(W:QDD4X'F(3#(>N
M"".1S7TI_P %S1C_ (.7?A6/^HIX5_\ 2RA+43E<_P!$KQ%XE\-^#?#TOB?Q
M=?V^EZ;9P+)/=73B.*-0HY9CP*_,?3O^"W7_  2MU7XB?\*IL?C+HC:Y]I-I
MY)DPOFJ<$;^G!%?RG_\ !X1^WC\3+7XQ^"?^"??AB_NM&\+_ -AVOB'76A?:
ME_\ ;7:*%' .2L(A<E2,-O'I7RQX@^'?_!KC%^QC-\+=$\;:K-\3;;1V>/Q+
M]EN%>?5(XRP'E[=HC=QMQG S22'S=C_2:TC5](\0:7!KF@7<-]972"2&XMW$
MD4B'D,K#@@UB^/"R^ ===3@C3[D@CJ#L-?QB?\&>/[;?Q&^)OP^\=_L;?$C4
M[G4X_!\,.JZ*MQEC:V3LL3Q!CR5WL-H_A' XK^SKQ]_R3_7O^P=<_P#H!H:*
M3NC_ "??^"<'[-7[9_\ P5+_ &JO%OP+^'WQ>O\ PO-I;W-X;B\GEE0KYKC:
M%#KZ>M?OK#_P:R?\%*XIXY9/VFHW5'5BN)N0I!Q_KZ_F>_X)I?&__@HS\"_V
MMO&'B7_@FOHG]N>+YGN8[J'[%#?8M_-?G9,0HYSS7]%GA+_@HU_P=E7GBS2K
M/Q+\._*TZ:]MX[IQX<L1B%I%#G(?(^4GD=*;,T?W,_"_06^$'P,\->%?&^HQ
M%O"VA6=G?W\C[8BUG J22EF/"DJ3DFOC;P=_P5__ .":OC'XX0_L_>'?BWHE
MSXK>Y6V6S$N TO&%#GY23D5^'_\ P=S?M9_$3X*_L$^%/@CX/N9]./Q+U!(-
M6E@<QL]M;J96A;'56=!D5\L?\$??^#:7]DGXX?L"Z#\:OVDCJ#>/?&MLUY97
MEA<M$NF*SDV[Q8P=X7:Q/&#TS2L7S=$?$?[(WQ=^)^K?\'/>O^!;WQ'?W.AP
M^(K_ ,JS:X9K<+LC(PN=N/2O] OXT_'3X0?L\>";GXD?&WQ#9>&]%M5+/<WL
M@C4X&2%SU..PK_,\_P""3GPH\3_ G_@XHM_@QXOUNX\1WWAC5+[3VU&Z8M-.
ML:KM9B23G:0#S7JO_!SM\?\ XL?M9?\ !6;2_P!BG0]0N9_"_AF33],LM*B^
M5?[0NF"W$I&0';^Z6^Z,XQDY;1*E9']W7P3_ ."K?_!//]HOP[X@\4_!OXHZ
M1K-GX7M7O=3V2;7@MXEW.Y4\D*O)QVKU']E_]N_]DK]M!]2C_9B\:V/BYM(A
MBGNQ9MN\J.;&QC_O9&*_EX_X*%?\&V'[-O[*/_!/CQ3\7/V-]3UC1OBEX"T<
MW$FJ+>O"-2@RL=ZD@7HKP-+A>0> >*^(/^#-CQ+:^"I/VB/&-W@1Z9H5K<MN
M&1^ZDW8/MQ18KF9_;O\ M,_MN?LH?L<Z2NL_M+>.=,\*1NHD6.ZE F*,2 P0
M<X)!%<E^S!_P47_8D_;,GDL_V:_B+I/B:YB)!MX90LQ*]<(W)QD5_F<_!7X]
M_L6_MO\ _!37Q[^T3_P6-\6ZG%X<6YD>QM(6EN!-Y,CK';!E!*1* #@ #+'B
MK?\ P4S\6?\ !+CX0?&3P-^T7_P1=\::QH.M:9<JU]96XGMVMGC(*30S':RY
MP5=>AS187.?ZQ]?Q]_\ !X]\0/''PY_9"^#>N> M6N]'NSXTNU,MI*T3%38.
M,$J1D<]#7]/7[(GQMD_:1_9<\ _'>Z"BY\4:)9WUR%7:OGRQJTFT=AN)P*_E
M6_X/4?\ DRWX-?\ 8[7?_I"]);CEL?E]^P7_ ,$'_P#@H=^W1^R!X+_:_P#!
M?[1,FB6_C"VGNK?3[@S-)%Y$\L&"XF ))C)^[T-9O_!,+_@JE^WU_P $U?\
M@I\?^">7[:WB63Q3X;F\0+X;UE-0N&E&GS$X2ZMI2.5Y!*D ,#U&.??/^"6O
M_!S[^RG^PM_P3]^'/[*GCGP!XGUK6_!]E<V]Q<V"0FWE::ZFG!0O,AP!( <C
MJ*_.#]C_ .$'[0?_  74_P""V,_[5%WX6NM)\&S>(HM>UB:8.L%AIT+ QP)+
MMP\IV\#//))'%,GM8^[_ /@YY^+/Q3^'W_!5?X;Z%X,\0ZAI5K<Q6 FAM9VC
M1_W\/4 X-?WZZ?XL\,^"OA-IGBWQMJ5OI>FVFEVLEQ=W<@CB0>4O+,?6O\\C
M_@ZID,O_  5J^%\I_BCL#_Y,0U_3S_P6U_8I\/\ [;'[%_@GPA\4_CI;?!3P
M/I$5K=Z@UV 8-2G\E1&DB^8C2JF0P0!L$;L<9I%+2Y]4P_\ !</_ ()3S^/A
M\,8OC+HIUHS_ &;R=Y"^9Z;NE?H+XB^.?P@\)_"2?X]ZSX@L_P#A#;:U^VR:
MM%()+;[/_?##C%?YU?[8WPE_X-M?@C^PGX@^$/P3\3S>,_C1I>D2'3M=M!,_
MVO4@&*L_RA4C+8&TG@5^FW_!J=I\7[6__!.[XK?L@_'BYO-:\$RW_D):/<-^
MX@G0;XX3SL5B,X%%@YG>Q\F_!O\ X.)/VA-4_P""VG_"O_B!\6X4_9Q3QMJ\
M0ED4+:G18TN!:[GY.S(C.>N?RK^DO_@J_P#\%7_V?_@K_P $Y?$'Q0^$?CRS
MBU[QUH4__"(3QMA[KS3Y+2P'^\F2RGU&:_@\_9__ &&OV<_&_P#P<7R?L%>(
MM)DG^&B_$+7="&G^:0_V*R2Z,2>8.<@QKS[5_83_ ,%S/^"67['7A3_@D[J&
MH:/HMTDGP:T?RO"^ZZ8BV6:==V[^_P#>(Y[4V2F[,_DV_P""%G[+_P"PW^UC
M\4!\3?VW_B_=^'_&-EXMT\:%HKREGUFX>2.7$C,=S":5BA P3SSS7^G]\6_C
M;\%?V;/ @\7_ !B\0V/A?1+.)426]E$8*QJ,!03EB!7\$G_!J%_P31_9,_:_
M\"^*/VB/C=HD^H>+/A[XPLI=#NHIVB$#VT<%Q'E0/FQ(<\]:^5?^"AWBCXM_
M\%FO^"_R?L=>(]>NH? 6D^(X_#VFVL3%8;'38=OGSB+=M,SY.Y_O, H)XH>K
M!.R/[L_@?_P6._X)E_M&^-$^'WPA^+VBZEJTF-D+R>5N).  6X.3TK[]^(OQ
M#\&?";P-J?Q*^(=_'IFAZ-;M=7EW(?W<4*#+.3Z <U_#A_P7W_X-_/V,_P!D
MG]A4_M3_ +(=A>>&M;\#7%LM^#.TBW<$AVF0YQMD5]I!'2OIC_@GG^VY\0?V
MS?\ @V_^+$/Q>U677/$_@31]1T6YO9^9)+<1N;;>W5V$0 +'DGDTK%*3V9_0
MUX>_X*R_\$Z_%7PFUWXY:'\5=&F\*^&G2/4;_P W"0O(JNJ^I)5E.!V-=%JO
M_!37]AG0_P!G[0/VI]8^(-A:^ /$]P;73-7E)6&XF#;=@SSG=Q@U_GE?\&ZW
M_!(WP'_P5-/CBS^/OB75++P'X0FAG_L?3YFC6YOY@JB1N0!A-HSUP,5^S_\
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
M\3VSQR0ZK=6J274;0G*%9""RE3R,$8HN'(?Q'_\ !WK_ ,$_/C%K/QI\"_\
M!07X=Z/>^)/#ZZ-:^']=CM8A*NGM8NTT#NJYD*3B:4,V"J;!DC<,]1H__!;[
M_@W^3]F2V\::O\#; _$E-+3S?#ZZ.GDG4 @# 3[-GE[^<[LXK^[/6=&T?Q'I
M%QX?\0VD-]87<9BFM[A!)%(AXVLK @C%?#0_X);?\$\1XI'C ?"'PT+P<X%C
M'Y>?]S&W]*+AR]C\VO\ @@;\9--_:C^'NN_M#Z-^SYI7P8LYXX[&"_M+<6\V
MJ@$,Y0  ^2K#@D#) (XK]\?'YQ\/]?)_Z!US_P"@&M70= T+PKHUOX<\,64&
MG:?:((X+:V01Q1HHP JJ !@5H7%O!>6TEG=()(IE*.IZ,K<$'ZTBDM#_ "9?
M^")W_!3'X,?\$P_VW_&OQF^--CJ&H:9J2W-I&NF@,X;S7.3DCCFOZV4_X/%_
M^">LLBQ)X;\4Y=@HRJ <G')W=*_?Z7_@G;^P5-,\\WP>\*,\C%V8Z;#DLQR2
M?EZDTT?\$Z?V!P01\'?"8(Y'_$LAZC_@-.Y*BT?SL_\ !T3^SOXQ_;D_X)C_
M  ]_:Y^"VEWVI1>&GL]<ET^VC\^X73]5C"ARB99MC3+NV X +'Y037Q'_P $
MAO\ @YS^ ?[.?[$F@_LT?M%>'M=U+X@>$@^G:3'IMOYPU(;C]GCVCE7&1&1@
M9Q7]VFG^'=!TGP]#X2TVSABTNWMUM([0(/)6!5VB,*>-H7C'I7RQHO\ P3\_
M8B\.>/8_B=H7PL\-VNN12^?'=1V$2LDH;=O7C ;=SGUHN#CU/\Z;_@E#\1?'
M'Q6_X.*[?XG_ !.TH^']<\0:K?7EQISL"]NTJJ51N3A@N"0>17U#_P '/_[%
M?Q^^ '_!2+3/^"@_PQT.[OO">N-8WIO+!'D:VU*Q.^43;1\BR?PMG& 0<<9_
MOSTK]DG]E[0OB*WQ?T7P!H=IXJ>0S-JT-HB79D; +&0#<20!GGM7X/\ _!>O
M]NC_ (*4_L6W&F7WP$^%NC?$/X3ZM%&NH2S:?-J$]O)'S.ES&K%5CD7(20*H
M3!W$Y%.XG&RU/S*_;&_X..[C_@HM^P)XJ_9]_8O^&OB-?B-XJT=EUR]\E#I^
MD6D $]Z_G.3'AH4D0;CGYN.<5\_?\&:GAFV\:3?M#>#[S'E:IH=I:MNZ#S9-
MO/MS7%?&O_@Y&_9V^*G[+7C']EW]A']F*;P;X[^(.G-I9ELU@FB3S2!/LAMH
MEFD)CWA1D8)&<X-?L+_P:F?\$UOC9^QC\ ?&/QT_:$TN;P_K7Q$>".QTNX&V
M>.P@VL'F0_,CLX/RGG&*-D+=G\S_ .S OP;_ ."+O_!3OQ[\./\ @J3\,/\
MA)/">N-/%9W<UF+F)(VD=TN8 X(<8<!PN2".G2OT\^.W_!9;_@DWK7Q3\/?"
M[]@']E^P^*$^IDK<[M&$<A=F4(L46P.>IW,5P/6O[>?C9^S!^SM^T?:PVOQV
M\%Z1XJ^S*R02:A:I-+$'Z['8;AGZUP_P4_86_8^_9TU:/Q#\%_AUH>@ZG"&5
M+VWM(Q<*&QD"0C< <#H:5RN5GK7P-T";PO\ !OPSH=SX?M_"<T.G0>;HMH5,
M-A(4!:!2I*D1GY<J2#C@U_(__P 'J1'_  Q=\&AW_P"$UN__ $A>O[-223DU
MY/\ %OX$?!7X^:59:%\;O"NF>*[+3IVN;6#4[=+A(9F4H74." Q4D9]*$-JZ
ML?S\_P#!!/\ 80_8Q^+'_!([X+?$7XC_  UT'6]=U'3KU[J^NK..6:5TO[E
M68J22 H'X5_1=X#^'GP_^%VA)X5^&>AV'A[35(/V;3K=+:(D=V6,*"?<C-'@
M'X?>!?A7X0LOA_\ #32+70M#TU2EI8648B@A5F+$(BX !8D\=S77TAI'^;Y_
MP=22QC_@K-\+P6 V0Z>6YZ#[1#UKW+_@[JL?BJVN?L_ZQXKMKZY^%MMI-L7%
ML3Y(N2 )0?X5F:/(5FP<8'2O[DOB/^RC^S+\8O%$/C?XK^ ]%\1:Q;!1%>7]
MHD\T>P@KM9@2,$ C'<5V?Q*^#'PD^,O@T?#WXL>&]/\ $6AKMVV5_ L\2E
MI 8'!  P13N2X[G\$/QE_;6_X(6#_@G+K?P?_8 ^&(UOXO:_X6-A(8]!D-SI
MTPBVO<7%S-$(R$8EB5<U]@_\&7LJ-\$_BG'N4NFJ0[@".,I[5_5C\,OV"?V,
M?@Y::A9_#;X:Z#I:ZJCQ7;16:!Y8WX*%L9VG)XS7K'PG_9]^!GP'AN[?X*^$
MM,\*QW[!KE--MUMUE8=V"@ GGK1<%'6Y_F/?%OXLR?\ !-+_ (.8-?\ VIOV
MD-"U"TT#2/B#K7B%4BCS+=:=?BY6&6'G#!A*IQGV.#7]H/\ P57_ &E/A?\
MM9_\$%?B#^T;\)KAI/#OB;0K>[M3,5$B*\T9VO@X##H1G@U^NWQG_9%_9@_:
M*OH=5^./@/1?$]Y;KY<5S?VB2S*G]T.1G'MFNIM?V>_@;9?"L_ VV\*::O@Y
ME"-HWD#[&5!W8,?W<9&:+ARG\C/_  952&/]E/XP.O5?%4)_\E;>OQW_ ."F
M_P +/C]_P1K_ ."Z(_;R@\.W.H_#_4_$2>)-/N+12\-Q9.5$]I+(0!'+P>"1
MD$$'J!_HZ?"3X!_!'X!Z==Z1\$?"FF>%+6_D$MS#IENMNDL@  9@H )P ,^U
M;OQ(^%7PR^,?AQO"'Q9\/V'B32W.3:ZA D\>?7# T7#ET/X.O^"W?_!Q#^S1
M_P % /V-E_8]_8QTC6]5USQI>VWV[[3;,C1Q1Y;R40#,CL^/N@CBOOC]AG]A
M3QM^PK_P;C_%2Q^+=C_97BGQKH>H:W?V[G#11O&_V=7!Z.(V 8=C7]&7PR_X
M)O?L)_![Q+'XQ^'OPL\/6&JP2B>&Z%E&TD,@SAD+ [3R>E?7?BKPMX:\<>'K
MKPEXQL8=2TN^C,-Q:SJ&BEC/567H1[=*+C4>I_#_ /\ !E*R_P#" _&U,\_:
M[(X_X"E?7?\ P>*N@_X)\>%U8@$^)(,#U^4U_3]\(OV=?@+\ (KR'X'^#]*\
M)IJ&W[2NEVR6XEV=-P0 '&*T_BK\#_@Y\==&A\._&CPSIWBG3[>3SHK;4H%G
MB60?Q!6!&?>B^H<NEC\9/^"([J?^""?@Y@1@>$-5R?I;-7\KG_!EDR_\/!/B
MHN>3\-[DX_[B5A7^BSX.^&GP\^'?@F/X;>!-%M-(\/PQO#'IUK&([=8Y!AE"
M#@*1P1TKSGX2?LJ?LS_ /7+GQ-\$? >B>%-1O+;['/<Z9:1V\DEON#^6S( 2
MNY0<>HHN+EV/\^W_ (.0)8Q_P7_^'0+#*W'A<GGIFYCZU_HZ^&?^18TO_KS@
M_P#0!7C/C[]E']F7XJ^-HOB3\2_ >BZ[XA@,9BU&]M$EN4,6"FUV!(VD C'2
MO?(HHX(D@A4*D:A54= !P!0-+6Y)1112*"BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH ^9OVT/\ DTOXB?\ 8#N?Y5^=_P#P0^_Y-TUO_L(C_P!!%?HA^VA_
MR:7\1/\ L!W/\J_._P#X(??\FZ:W_P!A$?\ H(KYW$_\CJA_@E^:/UO)_P#D
MW>9_]A%+_P!)/VIHHHKZ(_) HHHH *\]^+G_ "2CQ+_V#;C_ -!KT*O/?BY_
MR2CQ+_V#;C_T&HJ?!+T9U8+_ 'FE_BC^:/X./^8E'_U]1?\ HQ:_T+O ?_(C
MZ-_UXV__ *+6O\]'_F)1_P#7U%_Z,6O]"[P'_P B/HW_ %XV_P#Z+6OA.!OC
MQ'_;O_MQ_3OTE_X.5^M7\J9U=%%%?H1_*!__TO[^**** "BBB@#^:?\ X+Z?
M\C=\-/\ KA??TK@?^"'?_)3_ !G_ ->$7\WKOO\ @OI_R-WPT_ZX7W]*X'_@
MAW_R4_QG_P!>$7\WK\Y?_)2OU7_I"/Z[H_\ )G?^W'_Z?9_2-1117Z$?R8%%
M%% !7&?$?_DGFO\ _8-N_P#T4U=G7&?$?_DGFO\ _8-N_P#T4U3/X6;X7^-3
M]5^9^$'_  0[_P"1L^*/^]%_Z-%?T)5_/;_P0[_Y&SXH_P"]%_Z-%?T)5X?#
M/_(NI_\ ;W_I3/TWQI_Y*_&>E/\ ]-P"BBBO>/RL**** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ J.:&"YA:VND66*089' 92/<'BI**
M/*H_@1\"X;\:I#X+T-+H/Y@F6PA$F[UW;<Y]Z]4541%CC4(JC"JHP !Z 4M%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 56OK&QU2SDT[5(([FWF&UXI5#HP/8@@BK-% 'E^F? [X(Z+J"
M:MHW@W1+2[C.Y)H;"%)%/J&"YKU#Z<>PX%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 ?,W[:'_)I?Q$_P"P'<_RK\[_ /@A]_R;IK?_ &$1_P"@
MBOT0_;0_Y-+^(G_8#N?Y5^=__!#[_DW36_\ L(C_ -!%?.XG_D=4/\$OS1^M
MY/\ \F[S/_L(I?\ I)^U-%%%?1'Y(%%%% !7GOQ<_P"24>)?^P;<?^@UZ%7G
MOQ<_Y)1XE_[!MQ_Z#45/@EZ,ZL%_O-+_ !1_-'\''_,2C_Z^HO\ T8M?Z%W@
M/_D1]&_Z\;?_ -%K7^>C_P Q*/\ Z^HO_1BU_H7> _\ D1]&_P"O&W_]%K7P
MG WQXC_MW_VX_IWZ2_\ !ROUJ_E3.KHHHK]"/Y0/_]/^_BBBB@ HHHH _FG_
M ."^G_(W?#3_ *X7W]*X'_@AW_R4_P 9_P#7A%_-Z[[_ (+Z?\C=\-/^N%]_
M2N!_X(=_\E/\9_\ 7A%_-Z_.7_R4K]5_Z0C^NZ/_ "9W_MQ_^GV?TC4445^A
M'\F!1110 5QGQ'_Y)YK_ /V#;O\ ]%-79UQGQ'_Y)YK_ /V#;O\ ]%-4S^%F
M^%_C4_5?F?A!_P $._\ D;/BC_O1?^C17]"5?SV_\$._^1L^*/\ O1?^C17]
M"5>'PS_R+J?_ &]_Z4S]-\:?^2OQGI3_ /3< HHHKWC\K"BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** /F;]M#_ )-+^(G_
M & [G^5?G?\ \$/O^3=-;_["(_\ 017Z(?MH?\FE_$3_ + =S_*OSO\ ^"'W
M_)NFM_\ 81'_ *"*^=Q/_(ZH?X)?FC];R?\ Y-WF?_812_\ 23]J:***^B/R
M0**** "O/?BY_P DH\2_]@VX_P#0:]"KSWXN?\DH\2_]@VX_]!J*GP2]&=6"
M_P!YI?XH_FC^#C_F)1_]?47_ *,6O]"[P'_R(^C?]>-O_P"BUK_/1_YB4?\
MU]1?^C%K_0N\!_\ (CZ-_P!>-O\ ^BUKX3@;X\1_V[_[<?T[])?^#E?K5_*F
M=71117Z$?R@?_]3^_BBBB@ HHHH _FG_ ."^G_(W?#3_ *X7W]*X'_@AW_R4
M_P 9_P#7A%_-Z[[_ (+Z?\C=\-/^N%]_2N!_X(=_\E/\9_\ 7A%_-Z_.7_R4
MK]5_Z0C^NZ/_ "9W_MQ_^GV?TC4445^A'\F!1110 5QGQ'_Y)YK_ /V#;O\
M]%-79UQGQ'_Y)YK_ /V#;O\ ]%-4S^%F^%_C4_5?F?A!_P $._\ D;/BC_O1
M?^C17]"5?SV_\$._^1L^*/\ O1?^C17]"5>'PS_R+J?_ &]_Z4S]-\:?^2OQ
MGI3_ /3< HHHKWC\K"BBB@ HHKEO&7CCP;\/- F\4^.]4MM(T^ 9>>YD"*/8
M=R?8 TFTE=O0NG3G4DJ=.+<GHDE=M]DEN=317B7P._:)^$7[1VGZEJWP@U0Z
MI:Z3="SN93$T:B4C(QN W CG(KYZ^)'[?/A#X:^-]0\#7O@_Q#?RZ?)Y;3VM
MKOA?@'*G<,CFN>>-H1@JKFN5[/=?@>QA^',SKXFI@J>'E[6"O*+7+);;J5NZ
M/O*BO+O@W\4[#XS_  ]M/B)IFGW>EPWF_;;7R>7.NS^\O.,]J^-M7_X*1>"=
M'U>[TB7P/XFD:TF:%G2TRK%#C(.[H>U*IC:-.,9SE9/8,'PYF6+K5</AZ#E.
MF[25UH[M=7W3V/T:HK@=)\?VFK?#>+XDQV=Q'!+9F\%LZXG"[=VTK_>[8]:^
M'(?^"E/@B>^2P'@;Q."\OE!C:#&<XS][I3JXRC2M[25K["R_AW,L<ZBPM%RY
M':6JT?S:['Z0T5YW\0/B+9?#WX=77Q'O;*YO(;2!9S;6R;IV##. O'/M7QUX
M0_X*(>#?&/BK3?"=KX*\26TFI3K;K--:!8T+9Y8[N!Q15QE&G)0G*S>PL!P]
MF.-HSQ&%HN4(7N[K2RN]WV/T)HKQWX[_ !ETSX"^"#XYU?2[[6(1.L'D:?'Y
MLN6[XR.!7@?PB_;C\*_&#QY:^ M,\)Z]ILUT&(N+VV\N%=HSRVXXISQ=&%14
MI2]Y]!87(,PQ.$ECJ%%RI1O>5U96WZWT]#[>HKYW_:"_:,T7]GG3K'4=9T34
MM:6_D:-5TV+S60KCEN1@<UQ_P$_:]\.?'_Q3<^%='\-:SH\EM 9S+J,'E1L
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
M_P""B?@SQCXDT[PS;>"_$EK)J,R0K+-:;8T+D#+'<< 9YHJXRC3DHSE9O8G
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
MM.SY>VZT3\F>UT445T'DA1110 4444 ?,W[:'_)I?Q$_[ =S_*OSO_X(??\
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
M7=INS[KI?SZ?*YZN<U,#4JPK8"/*I1BY0UM&>TE%O5Q=N9=E+EUL%%%%=!Y
M4444 ?,W[:'_ ":7\1/^P'<_RK\[_P#@A]_R;IK?_81'_H(K]$/VT/\ DTOX
MB?\ 8#N?Y5^=_P#P0^_Y-TUO_L(C_P!!%?.XG_D=4/\ !+\T?K>3_P#)N\S_
M .PBE_Z2?M31117T1^2!1110 5Y[\7/^24>)?^P;<?\ H->A5Y[\7/\ DE'B
M7_L&W'_H-14^"7HSJP7^\TO\4?S1_!Q_S$H_^OJ+_P!&+7^A=X#_ .1'T;_K
MQM__ $6M?YZ/_,2C_P"OJ+_T8M?Z%W@/_D1]&_Z\;?\ ]%K7PG WQXC_ +=_
M]N/Z=^DO_!ROUJ_E3.KHHHK]"/Y0/__6_OXHHHH **** /YI_P#@OI_R-WPT
M_P"N%]_2N!_X(=_\E/\ &?\ UX1?S>N^_P""^G_(W?#3_KA??TK@?^"'?_)3
M_&?_ %X1?S>OSE_\E*_5?^D(_KNC_P F=_[<?_I]G](U%%%?H1_)@4444 %<
M9\1_^2>:_P#]@V[_ /135V=<9\1_^2>:_P#]@V[_ /135,_A9OA?XU/U7YGX
M0?\ !#O_ )&SXH_[T7_HT5_0E7\]O_!#O_D;/BC_ +T7_HT5_0E7A\,_\BZG
M_P!O?^E,_3?&G_DK\9Z4_P#TW ****]X_*PHHHH ^6/C+\!]>^)/QO\ A]\4
M-,NXH+7PA<2S7$3CYY ^W 7G_9KZGKY0^-7QU\3_  X^.GP[^&.CV\,MEXNN
M)8;J20?.@3;C;_WU7U?7-1]G[2IR;W5_6R_2Q[.9?7/JN"^LV]GR2]G;?E]I
M*]_/FYM^@4445TGC!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !7%?$O4[W1/AIXCUO3)#%=66EWD\+CJLD<3,
MI_ C-=K69K>CV/B'1+WP[JBE[74()+:90<$QRJ589[<&IFFXM(UH3C&K"4U=
M)IOTOJ?,7[$7C[Q;\3OV:O#_ (U\<WC7VIW?G>;,P +;9&4<# Z"OK"O/?A9
M\+_!_P &O!%G\._ <+P:78;O)1WWL-Y+'Y@!GDUZ%66&A.%*$*CO))7]3MSG
M$T,1C\17PL>6E*<G%62M%MM*RT5ET04445N>:%>,_M"_#74OC!\&-?\ AIH\
MZ6USJ]OY,<LG*J<@Y/3TKV:O%/VC/B/K'PB^"7B'XD:!%'->:3;>=$DO*,<@
M<_G65?E]E/G^&SOZ6U/0RGV_UZA]5M[7GCRWVYKJU_G8ZOX4>$;SP!\,?#_@
M?4)%FGTBP@M))$^ZS1* 2/8UZ!7G?PC\6W_CWX6^'O&^JHL=SJVGP7<JI]U7
ME4$@>U>B4Z7+R1Y=K*QCCO:_6:OMOCYI<WK=W_$****T.4**** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *^'/A'
M\3_'?B#]M7XF?#36+]IM$T2WMGLK8@;8BX;=@XSSCN:^XZ\K\._!CP#X5^)^
MN?&'1H'37?$:)'?2%\HZQYVX7''7UKGKTYRE3<'9)W?FK-?G8]?+,7AJ-#%P
MQ$+RG3Y8:)VESP=]=O=4E=:ZVV9ZI11170>0%%%% "@XYKY!_9>^"/C+X0^*
M/B%J_BIH3%XFUIK^T\ILD1$O][G@_,*^O@,U\S_L_?M 7?QLU_QKHESIBZ>/
M">JMIJLLF_SPI8;R,#;]WIS7-55/VM/F?O:V^[7\#V<!+&+ XQ4$O9-0]H]+
MI<ZY;=?BWL?2]%%%=)XP4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 ?!W[:/Q#\:>!?&OPEL/"6H26,.L
M^(3;7JQXQ-%^[^5L]N37WD:\P^(GP?\ A[\5-0T+5/'-F+J?PW=_;=/8OM\J
M?CYO?[HXKTZN>E2G&K4G)Z.UO*RL>QCL;AZN!PE"E"U2FIJ;LM7*;<==W9::
M[;!11170>.%%%% 'S-^VA_R:7\1/^P'<_P J_.__ ((??\FZ:W_V$1_Z"*_1
M#]M#_DTOXB?]@.Y_E7YW_P#!#[_DW36_^PB/_017SN)_Y'5#_!+\T?K>3_\
M)N\S_P"PBE_Z2?M31117T1^2!1110 5Y[\7/^24>)?\ L&W'_H->A5Y[\7/^
M24>)?^P;<?\ H-14^"7HSJP7^\TO\4?S1_!Q_P Q*/\ Z^HO_1BU_H7> _\
MD1]&_P"O&W_]%K7^>C_S$H_^OJ+_ -&+7^A=X#_Y$?1O^O&W_P#1:U\)P-\>
M(_[=_P#;C^G?I+_P<K]:OY4SJZ***_0C^4#_U_[^**** "BBB@#^:?\ X+Z?
M\C=\-/\ KA??TK@?^"'?_)3_ !G_ ->$7\WKOO\ @OI_R-WPT_ZX7W]*X'_@
MAW_R4_QG_P!>$7\WK\Y?_)2OU7_I"/Z[H_\ )G?^W'_Z?9_2-1117Z$?R8%%
M%% !7&?$?_DGFO\ _8-N_P#T4U=G7&?$?_DGFO\ _8-N_P#T4U3/X6;X7^-3
M]5^9^$'_  0[_P"1L^*/^]%_Z-%?T)5_/;_P0[_Y&SXH_P"]%_Z-%?T)5X?#
M/_(NI_\ ;W_I3/TWQI_Y*_&>E/\ ]-P"BBBO>/RL**** /GWXG_ 2Q^)?Q6\
M&?%*YOGMY?!\TDT<*KE9?,V\$]ON^]?05?%G[0/Q9\<>"?VC/A9X#\.W0ATW
MQ'=31W\94'S%79CG''4U]IUS494W4J*"UNK^;LOTL>SF5+%QPN"EB)IPE"3I
MK^6/M))I_P#;UWUW"BBBND\8**** % ).!3_ "IO[A_*O%_VBO%&M>"/@%XT
M\8^&Y?L^H:7HU[=6TN,[)8HF93CV(K^%K_@G3\??^#CW_@J)X1\8_$7]G'XQ
MZ/9Z7X3UR31IUU.UACD,H591MVP-E0C@<G/'XT[$N5C_ $"V1T^^"/K3:_%/
M]AG6_P!N+]B;X.>*_&__  6>^)VAWR27L0TO4H=L,$$)7E'(2,9+ G)'3Z5^
MH5Y^T;\#=/\ @9+^TS>^)K*/P%!9C4'UMI!]E%JQ"B3?TVDL!GWI#3/:U5F.
M%&3[4X(Y. IR*_G:_P""W/\ P4E\1?#/_@E3=?M=?\$_O'=JUP^NV^GV^MV
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
MDEC4]VC!WJ#V)% [GTH4<+N(./6FU_*]_P $[?\ @H/^UM\:_P#@NO\ &O\
M9(^)7BEM0^'WA6TGDTO2C!&@MV0(0?,50[=3]YB*_JAH$G<*4#-?A#_P7._X
M+#VW_!*OX,:5JWPX&E:YX_U2_MT70KZ4K)]@E60M<!5R=H9 ,^].G_;>\/\
M_!0C_@CW>?$_X7?%O0_AIXZUCPAIUQKFL12L]IX>U2]1&FAE*AI(PK%DR 7'
MUIV#F1^[A&*2OR-_8B^./P[_ &1_^"=7@?Q'^U9\<M(\<6]LOV"7QF9F^QW4
MRYPB2RJKO@<;G&XXR>:^E]>_X*1_L(^%_&>B?#W7_BEH%MK'B**.;3[=[M 9
M4F^X2<X7=VW$9I!<^VZ*^,/B?_P44_8<^#'Q(M?A%\4/BAH&C^(;O;LM)[R,
M,N_[N\YPF>VXC-?5NN>,/"7ACPO-XX\1ZG:V.BV\/VB2^GE5+=8CR',A(7:?
M7- 7.BHKX5^%O_!3C]@#XU?$%OA7\,/BQX=U;7Q(8DM(KR,-*X.,1DD"0_[I
M/%?=HC<OY8')XQ0,917SA\-_VO/V:OB]\3M7^#'PV\8Z?JWBK02PU'3(90;B
MV*=0Z=0?K1XE_;"_9C\#_';3/V:/%?C+3;3Q[JYB^QZ$\P^V3><K.FV/[QW*
MK$<= : N?2!4@9I*_ 7_ ()N:)\3-/\ ^"D?Q]U3Q7^TUI'Q6TK49KEK'P-9
M.[W6@"*Z"?OE9%6/R /L^(R0Q^9OFK]#/BW_ ,%//^"?WP)\<#X;?%;XL>'M
M)USS!$]H]XC/%(?X9-I.P^S8XH$F?=X&:4(Y.%&?IS7Y^?MI^.]&^,'_  3Z
M\;>-/@'\5=(\'VVKZ3*--\;B?SM.LF((\UI80_RJ>I4$BOP@_:H_:;_:D_83
M_P""!7ACXC_";XV6OQ$\;:5>)9OXST\&\@N%R 8T:X0/($'&^1=QSS0)R/ZX
M2"#@T 9K\>/V5_\ @J;^S'HW[-/PHA_:M^*FAZ;\0?%6B6ES=PW=S'%*T\T:
MDLZ@XC#$\;L"NO\ ^"O[>+/&W_!//7Y/@K\8-'^$-WJ=QI_V;QAJ-Q)'8)!+
M,FY?/MTE=3,AVHR*>2.>] [GZM"-R<*"<>E-"DU_&A_P6"_;O_;(_P""?/\
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
M]4)D+%\O@\=*$P:9_8S:[Y;>$GEG1"?<D"O\Z?\ X+T_M\?!GXC?\%R_AO\
M#'XQZI-;_"[X':OIA\0&.W>X<RB5+F[$*Q@L^^#RT&,@-G/2O]$Z8ZE;:4_]
MD^7]NB@(@\SF/SE7Y-V,';NQGGI7\ZG_  2O_P""%NM?L7_M-_%3]J3]J/7]
M'^)FM_$.:22W2:R$J6?FS/*Q'G-+EL.$ST"J  *2*EKH?S/VW_!3K]D"T_X.
M)?!G[:G[%=Y/+X1\9^3HVO)<6LFGOFZ(29W$JC<' 3/^[7V%_P 'CFIZI:?M
M)?LI:UX.CCO[V.WU:>QC8YCFE%[9-&IP1\K-@'!'!K]^?^"S7_!%[P__ ,%*
M?@QX6\)? ^?1/AWXI\*ZN+^#4$T]$1X''SHPA\IB050K\W'/K7S'_P %(/\
M@AM^TQ_P4+M?V:=>\4_$71K+Q)\%].:VUZY^QOY.I7#3VTI>!?.S&I$!&&+=
M1S3N2T]C\V?VT+7_ (.,?^"M/P4MOV.OBE\$?"OP]\):M=6LU]J-A)(A*0,K
MQF0SW4QVAE4G8H/X5@_\'!7[,%G^QA_P30_9G_9EM;P:C)X4U&VMKF[ VB:X
M:17E8#^Z'8A?8"O[N;7S8;.&W<\QQJAQZ@8K\0O^"V?_  2J^)G_  5,^'?@
MWP7\-O%5AX5F\+ZD+^2:_@:X63:054*KQGJ.>:5RG'0_)C_@NO\ \$__ -L+
M]J/X:_LX_'CX ^%E^(OA?P%I,#ZOX5EF9(KIML;;FC#KOR%*\?, 3@]0?C/]
MF_XW_P#!,;Q7_P %,/A;XH^-GP/\;_LF?%33E2UTZ"S7[+HFL7! 53-$\0<1
MJ 0'#;'W#<6.,?T,?\%$/^"2WQY_:F\%?#7Q%^S+\8M1^%OQ$^'EK;V@NK9F
M;3KQ8@ 7DA##+J1E"6(Y.0:^+/AS_P $"/VN_C;^U[X._:E_X*D_'=?BL/
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
M2G_9SU^'0O+N["]?5]0B,PEG@NENIW=59"2[;@.>,T7"Q_+O_P %?XHX?^"
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
M**** "BBB@#^:?\ X+Z?\C=\-/\ KA??TK@?^"'?_)3_ !G_ ->$7\WKOO\
M@OI_R-WPT_ZX7W]*X'_@AW_R4_QG_P!>$7\WK\Y?_)2OU7_I"/Z[H_\ )G?^
MW'_Z?9_2-1117Z$?R8%%%% !7&?$?_DGFO\ _8-N_P#T4U=G7&?$?_DGFO\
M_8-N_P#T4U3/X6;X7^-3]5^9^$'_  0[_P"1L^*/^]%_Z-%?T)5_/;_P0[_Y
M&SXH_P"]%_Z-%?T)5X?#/_(NI_\ ;W_I3/TWQI_Y*_&>E/\ ]-P"BBBO>/RL
M**** //?%'P^^'OBCQ7HOBOQ1:PS:MHSL^G2R, \;-C)4'D]!TKT*OSL_:GN
M;Z+]K;X*0V\DB127MP)%0D*W^K^]C@_C7Z)US4:JE4J14;6:^>B?_ /9S+!5
M*.%P=6=1R52$I)?RI5)1LM>K3?35A11172>,%%%% !1110 4444 %%%% 'Q'
M^UK_ ,$Y?V-/VZ=1T;5?VJO!EOXMF\/B1;#[2WRQ"7&\ 8/WMHS]*^K_  )X
M"\%?"_PA8> /ASI5MHFB:7$(;2RM(Q'#$BC "J*ZVB@+!1110 4444 %%%%
M!1110 H)!R*_+C]H3_@BW_P3+_:C^)5W\7OC-\+-.O\ Q%J&/M5W!^X:9A_$
MX4<MZFOU&HH$U<^:OV7?V//V:/V+? )^&?[,?A&Q\)Z3(YDE2U0"29R<YD?
M+'/K7TK110,**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "N!^+%O<7GPG\4V=HADEFT>^1$499F:%@ /<FN^K
M,UO6;'PYHE[XCU1BEKIT$EU,P&2(XE+,0!Z 5,TG%IFV'G*-6$HJ[332[Z['
MR'_P3[T75_#W[*'AK2->M9;*ZB\_?#,NUUS*Q&1]*^SZ\]^%GQ5\(?&OP/9_
M$CP).]SI=_N\F212C'82IR& /4&O0JRPL(PHPA!W22L^^FYW9YB*V(S'$U\1
M3Y*DIR<H_P K;;<==='H%%%%;GEA7+^-?#'A?QIX7O/"_C6&.XTN\39<1RD!
M&7T)-=17RO\ MMRW$'[*OC26T9TE%C\K1DA@=PZ8YK+$34:4Y-723T^1Z&4X
M>6(QU"A"?*Y3BE);IMI7Z;;GT=X<T;1?#N@6>@^'(UBT^SA2&W1#E5C084 ^
M@%;5>*_LWO-+^S]X+EN&9I&T:T+%OO$E!USWKVJJI24H1:5KI&..I.EB:M*4
MN9QE)7[V;5_F%%%%6<H4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !7R;^UQ^PW^
MRW^W9X3TCP/^U5X5A\5Z7H5X]_8P3MM6*X=#&S]#G*'%?65% 6/'?@1^S[\%
M?V8OAS:_"3X ^&[+PMX=LV+I96,8C0N0 7;'5B  2>PKV*BB@+!1110 4444
M %%%% !1110 4444 %?GK\%/#NO6/[?7Q9\07MC-#8W=M:""X=<1RD!LA3WQ
M7Z%5Y7X=^-O@/Q9\4-<^#&C74DFN>&DCDOH2C!$67.W#$8/3M7-B*<)2IN4K
M-2NO-V>GW:GM95BZ]&AC(4:7-&=/ED]?<CSP?-]Z2U[GJE%%%=)XH4444 %>
M7?#KX/>!?A9J.N:IX.MS!-XBNS>WI+;M\QSS[=37J:C)_ U^>W[#_BC7_$/C
M?XMVVM:E/?I8^)7B@6:4R"%,R?(@).T<=!7-5J1C5IQ:NW>S[:'LX#"5ZF!Q
ME>G4Y804.:.OO7FDON>NI^@]%%%=)XP4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% '&?$/X=>!/BUX+U#X=?$W2;;7-"U6)H
M+NRNT$D4J-U!4U^2^F?\&]__  2 TG7XO$5M\&]->6"83K%*V^#<IR 8]N-N
M>WI7[-T4":1F:+HNC^&]'M/#OAVTBL=/L8D@MK:!0D4448PJJHX  &!6G110
M,**** "BBB@ HHHH 4$J0PZBOSONO^"3_P#P3VU']I*Z_:YUKX::;J/Q O+O
M[?-J=VOG%KG 7S"A&-P"C'-?H?10%@]AP!P ., 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% 'Y]_MQ>$O%7B?QS\'KKPWIT]_%IWB/SKIX5W""/
M]W\S\\#@\U^@IKQWXJ?'7P3\&M4\-Z-XO,XF\5WO]GV7DKN'F\??]!\PKV'I
M7-2A!5:DHRNW:Z[::?@>WF&*Q%3 8*C5I<M."GR2_GO-N7W/30****Z3Q HH
MHH ^9OVT/^32_B)_V [G^5?G?_P0^_Y-TUO_ +"(_P#017Z(?MH?\FE_$3_L
M!W/\J_.__@A]_P FZ:W_ -A$?^@BOG<3_P CJA_@E^:/UO)_^3=YG_V$4O\
MTD_:FBBBOHC\D"BBB@ KSWXN?\DH\2_]@VX_]!KT*O/?BY_R2CQ+_P!@VX_]
M!J*GP2]&=6"_WFE_BC^:/X./^8E'_P!?47_HQ:_T+O ?_(CZ-_UXV_\ Z+6O
M\]'_ )B4?_7U%_Z,6O\ 0N\!_P#(CZ-_UXV__HM:^$X&^/$?]N_^W']._27_
M (.5^M7\J9U=%%%?H1_*!__2_OXHHHH **** /YI_P#@OI_R-WPT_P"N%]_2
MN!_X(=_\E/\ &?\ UX1?S>N^_P""^G_(W?#3_KA??TK@?^"'?_)3_&?_ %X1
M?S>OSE_\E*_5?^D(_KNC_P F=_[<?_I]G](U%%%?H1_)@4444 %<9\1_^2>:
M_P#]@V[_ /135V=<9\1_^2>:_P#]@V[_ /135,_A9OA?XU/U7YGX0?\ !#O_
M )&SXH_[T7_HT5_0E7\]O_!#O_D;/BC_ +T7_HT5_0E7A\,_\BZG_P!O?^E,
M_3?&G_DK\9Z4_P#TW ****]X_*PHHHH X3Q)??#JV\3:1;^*GLUU:5V&FB<+
MYI?C/EYYSTZ5W=?G9^W_ .'O%>F-\.OCGX*TZZU6Y\%>);6ZNK2R0RSSV;Y$
MD:(H)8G _ 5^BAVYRO(/(SQ7-2K.56I3<;6M\TU_FFCV,=@(T\#A,7"IS>T4
MTU_+*$MO1IQE\V)11172>.%%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %<5\2],O=;^&OB/1-,3S;F]TN[@A0?
MQ221,JC\2:[6O#_VB/CKX9_9T^&-Q\2?$ZF=5GAMK>V0XDN)YF"JB>IR:RK3
MA&G*4W:*6K.W+J%>MBJ5+"PYJCDE%=W?1' ?L1> ?%WPP_9J\/\ @GQU:&QU
M2T\[SH&(8KND9AR,CH17U?6;HNH3:OHUGJUQ"UL]U!',8G^\GF*&VGW&:TJ*
M%)4Z<:<=DDAYIC:F,QE?%UDE.<I2:6R;;;MOH%%%%:G"%<WXON/"MKX;N[CQ
ML8%TI$S<&Y ,03_:SQCZUTE>8_&KP0/B1\(_$?@<+N?4;":*,9Q^\VY7]:BH
MVH-I7=CHPD82KTXU)<L7)7:W2OJUZ;G;>'YM$N="M+CPT8FT]XE-L8<>68B/
MEVXXQCIBMBOD/]@_6/$VH_LI^%-)\::==:;JN@P-H]PEW&8WE:QQ'YRYQN23
MJK="*^O*C#U?:4H5+6NDSHS;!/!XVOA'+FY)RC?>]FU?Y[A1116QYX4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 5\/?"3X7>.O#W[:GQ,^)>L6)AT/6[>V2RN<@B5D#;@!U&,]Z^WI9H+:%[F
MZ<111*7D=N JKR2?8"O ?V<?V@M$_:2\&WWCKPM:2P:7;:A/8V\[G*W(AP#(
MG'W<G'U%<M>-.52G&3]Y-M+O96?YGMY;5Q='!XRK1IWI2C&G.3^SS24HV\VX
M>>ESZ!HHHKJ/$"BBB@ KA_!_AGX>^'KS4[CP/;V<$]]<&:_-J5W/.<Y,FW^+
MD]>:[D=:_-']G&\NOAI^WA\6_@OK!F\OQ-:VGB?2=Y+1B&'$4X!/0M),#CT%
M<N(KJG.FFOB=K]M&U]]K?,]O*\NGBL-C)4ZC3I04^7^=*<4^OV5+GZZ)GZ6T
M445U'B!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110!\2?M??"7QS\3O&'PMU3P;:_:8?#NO&\OCN \N']W
MSSUZ'I7VX:^;+S]HJQ/[3]M^S/H%@;^[736U+4KI),+9)SL5UQR7P<<BOI*N
M6@J;G4G3=VW9^J5CV\TJ8R.%P>%Q4%&,8.4.[C4DY7>O5WMHM+/9IA11174>
M(%%%% 'S-^VA_P FE_$3_L!W/\J_._\ X(??\FZ:W_V$1_Z"*_1#]M#_ )-+
M^(G_ & [G^5?G?\ \$/O^3=-;_["(_\ 017SN)_Y'5#_  2_-'ZWD_\ R;O,
M_P#L(I?^DG[4T445]$?D@4444 %>>_%S_DE'B7_L&W'_ *#7H5>>_%S_ ))1
MXE_[!MQ_Z#45/@EZ,ZL%_O-+_%'\T?P<?\Q*/_KZB_\ 1BU_H7> _P#D1]&_
MZ\;?_P!%K7^>C_S$H_\ KZB_]&+7^A=X#_Y$?1O^O&W_ /1:U\)P-\>(_P"W
M?_;C^G?I+_P<K]:OY4SJZ***_0C^4#__T_[^**** "BBB@#^:?\ X+Z?\C=\
M-/\ KA??TK@?^"'?_)3_ !G_ ->$7\WKOO\ @OI_R-WPT_ZX7W]*X'_@AW_R
M4_QG_P!>$7\WK\Y?_)2OU7_I"/Z[H_\ )G?^W'_Z?9_2-1117Z$?R8%%%% !
M7&?$?_DGFO\ _8-N_P#T4U=G7&?$?_DGFO\ _8-N_P#T4U3/X6;X7^-3]5^9
M^$'_  0[_P"1L^*/^]%_Z-%?T)5_/;_P0[_Y&SXH_P"]%_Z-%?T)5X?#/_(N
MI_\ ;W_I3/TWQI_Y*_&>E/\ ]-P"BBBO>/RL**** #\ ?K7QC\?/VO%_9J^(
MFG6?Q2\-W\7@;4(OG\2VL9GM[6?(&V<  J#[9/M7V=52_L+#5K&73-5@CN;:
M==LD4JAD=?0@\&L:\*DH6I2Y9=[7^]=ON9Z&5XC"T:ZEC:/M:;332DXO7K&5
MG:2W5TUW3.9\!?$+P-\4O"]MXU^'.J0:SI-V,PW5L28V]>H!R.X(R*WGUK1(
MV*27MNK#J#*H(_#-8O@KP%X-^'&C'P[X$TZ'2K RR3^1;J$3S)6+.<#U8DU\
M@>)?^"=G[/7BSQ#>^)M6.J?:K^5II=EXZKN;K@=JB<L1&$>6*<NNK2^6C.K#
M4,JJ8BJJU:I3I?8]Q3DU?[7O12=NJT;/NB.:&:(7$+J\;#(92"I'J#TK.&NZ
M$W2^MN?^FR?XUSG@KX?:!X!^'MA\,M!\W^S=.M39P^:Y>3RSGJQY)Y/-?%]K
M_P $S/V:K,Q&$ZO^Z967-ZYY4Y%%6==*/LX)OK=VM^#N+ X;*YRJK%XF<$G[
MCC34N9:ZM<ZY7MIKN]=-?T#>>".+[1(ZK&!G<2 N/7/2J*:WHDC!([VW9FX
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
M-UP*^QC\/] /PV7X5?O?[*331I0^<^;]G$?E??Z[MO?UYI4IUW?VD$NUG?\
M16'C\-ED%3^J8B<VW[W-34;+NO?E?TT.C77-#8A4OK9B>F)4.?UJ_-<6]M$9
M[F18T'5F(4#\3Q7P-H__  38_9PT*]M+^Q.K>99.DD>Z]<C,9!&>>>G-?7WQ
M+^&OASXK^ [SX=>*O-_LZ^B$,ODN8Y-H&.&'(-%*==QDZD$GTUO?\%8>-PV5
MPJTXX7$3G!OWFZ:BXJZU2YY<VE]+HZ^+6=&GD$4%Y [MP%6523] #5JXN[2S
M3S+R5(5Z9D8*/S)%?%/@;_@G]\ _AYXPT[QQX>.I_;M+F$\/FW;NFX CYE/!
M'->__&KX)>"OCWX67P?X[^T?8TE$P^S2F)]P]QVHA.NX-R@E+HKZ/YVT^X,3
MALKCB:<*&(G*D_BDZ:37I'G=_P#P)'I]OJNE7<HAM+J&5ST5)%8\>P)-2W-_
M866W[;/%!N^[YCA,X],D9KY-^$7[$GP4^"?CVU^(_@HZA_:-G'+'']HNFECQ
M,A1LJ>#P3CT-=K\>/V8OAG^T8VE-\1#>?\2<S&W^RSM#S,%#;L=?NC'I0IU_
M9MN"YNU]/OM^@ZF&RM8R-.&)FZ#6L_9I23UT4.?5;:\RW>FFOO=MJ.G7K%+*
MXBF(Y(C=6(_(FDN-3TRS?R[RYAA8\@2.JG'XD5\[? W]E'X5_L]:Q>:Y\/OM
MIFOXA%+]JG:8;1Z ]*H_&W]D#X1?'_Q-;^+/'WV[[7:PF!/LUPT*["0>0.IX
MZT<]?V=^1<W:^GWV_02PV5_7'3>(G["WQ^S7->VW)S[7Z\WGY'TW;7ME>@M9
M31S <$QN& _(FH)]6TFVD,-S=P1..JO(JD?@2*\;^!?[/'P]_9XTN_TCX>FZ
M,.HRK--]JF,QW* HP6Z# KR[XI?L-?!#XP>-;KQ]XO.H_;[P*)/(NFC3Y>F%
M' HE.O[--07-VOI]]OT"EALK>+G3J8B:HKX9*FG)O3>/.K=?M/;S/KZWNK6\
MC\ZSE29,XW(P89'N,U3?6M%C<QRWMNK*<$&5001V(S7G?P8^#7@[X#^"O^$!
M\"FX-@+F6Z_TF4ROYDVT-\QYQ\HP*^:/%'_!.K]GGQ=XEU/Q7JYU7[7JUU+>
M3[+QU7S)F+-M'89/ [43G74(N$$Y=5>UOG;7[AX7#97+$588C$SC37PR5-2<
MM>L>=<NGFS[JCFAEB$\3JZ$9#*001]1Q6>==T('!OK;/_79/\:YSP;X T'P+
MX#M?ASH?F_V=9P-;Q^8Y>38W7+'DGFOC.X_X)H_LV75Q+=2G5MTTCR-B]?[S
MDL<?B:*LZZ2]G!-];NUOP=Q8'#97.=18O$3A%/W7&FI.2UU:YX\O32[WWT/O
M]IH4B\]W4(!G<3@8^M9ZZYH;,%6^MR3P )4R3^=8>N>!]$\0>!I?A[?>9_9\
MUL+1MK$2>6!C[W7/O7QGIG_!-K]G'2=1MM4M#JWFVDJ3)F]<C=&P89]LBG5G
M637LX)][NWZ,67X?+*D9O&8B<&G[JC34KKS?/&WIJ?>UQ<6]I&9KN18D7JSL
M% _$U5BU?2+B00V]W!(YZ*LBDG\ :X;XQ?"KPK\<_ U[\//&_G#3[]XY)?LT
MABDS$XD7##D?,HS[5\[_  Y_8,^!/PN\:V'C[PN=2^WZ<_F1>==/(F?=3P:*
MDZRFE""<>][/[K/\R<'A\MGAISQ.(G"JKVBJ:E%Z:7ESJUW=/W79:Z['V3<W
MEG9J)+V:.%3P#(P49^I(J&WU32[N3RK2ZAF?KM216./H":\D^./P%\"?M!^'
MK?PS\0#<_9K:<7"?993"V]>F2.H]J\Y^#/[&?P<^!'C$^.? IO\ [<8'M_\
M2;EI4V.03\IXSP.:)3K>T2C!<O>^OW6_4*.'RUX252KB)JOK:"IIQ?;W^=6O
MU]W3S/J2YO["R(%[<10YZ>8X7/YD46NH:?>L5L;B*<J,D1N'P/?!-?/_ ,=/
MV7OAC^T-<6%S\0?MF[3@RP_99VA^]USCK4/P)_96^%O[.VJ:EJ_P\-Z9M5A2
M"?[5<-,NR-MPV@]#GO1SUO:6Y%R=[Z_=;]06'RWZE[3ZQ/V_\GLUR[_S\]]M
M?AWT\SZ#N-4TNTD\F[NH87QG:\BJ<?0D5-;7EG>*7LYHYE'4QL&'Z$U\J_&;
M]C#X-_'CQO\ \)_XZ-_]O^S1VG^C7+11^7$69?E'&<L<FO2/@?\  3P)^SYH
M%UX;\ &Y^S7DWGR?:I3,V\9Z$]!S1&=9U&I07+WOK]UOU'6P^6K"1J4L1-U]
M+P=-**[^_P [O;I[NOD>LRZQH\$AAN+R"-UZJTJJ1]02#5N"XM[J,36LBRH>
MC(P8?F.*^-/B1^P9\"?BIXVO_'_BDZE]OU$JTODW;QQY48&%'3BOHCX3?"KP
MM\%_ UM\/?!OG?V?:,[)]HD,DF9&+'+'D\FBG.LYM3@E'H[W?W67YBQ>'RV&
M&A/#8B<JKM>+IJ*6FMI<[O9Z+W5??38[9];T2-BDE[;J1U!E0$?K5])H9(1<
M1NK1D;@P(*D>N>F*^$M?_P""<_[._B77+SQ#J9U3[1?2M-)LO'5=S=<#L*^N
MO"_@#0/!_P .K+X7Z1YO]F6%E]@B\QRTOE8(Y8\DX/6BE.LV_:0272SO^B'C
M\/EM.G"6$Q$YR?Q*5-125NCYY7U\D=$-=T(XVWUL<],3)_\ %5H23P11>?*Z
MI&!DLQ 7'KGI7Y^V/_!,W]FO3V@:V.KYMV1DS>N>4((SSSTK[0\7> - \;>
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
MBI\TW:[\DDDDEHDDDDEHDK!1116AQA1110!\S?MH?\FE_$3_ + =S_*OSO\
M^"'W_)NFM_\ 81'_ *"*_1#]M#_DTOXB?]@.Y_E7YW_\$/O^3=-;_P"PB/\
MT$5\[B?^1U0_P2_-'ZWD_P#R;O,_^PBE_P"DG[4T445]$?D@4444 %>>_%S_
M ))1XE_[!MQ_Z#7H5>>_%S_DE'B7_L&W'_H-14^"7HSJP7^\TO\ %'\T?P<?
M\Q*/_KZB_P#1BU_H7> _^1'T;_KQM_\ T6M?YZ/_ #$H_P#KZB_]&+7^A=X#
M_P"1'T;_ *\;?_T6M?"<#?'B/^W?_;C^G?I+_P '*_6K^5,ZNBBBOT(_E __
MU/[^**** "BBB@#^:?\ X+Z?\C=\-/\ KA??TK@?^"'?_)3_ !G_ ->$7\WK
MOO\ @OI_R-WPT_ZX7W]*X'_@AW_R4_QG_P!>$7\WK\Y?_)2OU7_I"/Z[H_\
M)G?^W'_Z?9_2-1117Z$?R8%%%% !7&?$?_DGFO\ _8-N_P#T4U=G63K^F+K>
M@WVC.<"[MI82?]]"O]:F:O%HUH24:D)/9-?F?@'_ ,$._P#D;/BC_O1_^C17
M]"5?S>_\$?M7N/ /[7/Q)^#VLDPRW5M<^5&PP6EM;K/_ **!:OZ0J\'A>5\O
M@NJ<D_7F9^I>-=-KBS$5/LSA2E%]TZ<5?\&%%%%?0'Y0%%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 ?,W[9_\ R:7\1/\
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
MH?HK^>#_ (? ?M-_]$R7_OB3_P"(H_X? ?M-_P#1,E_[XD_^(H_UFP'\S_\
M 9?Y!_Q!CBG_ )]4_P#P;3_^2/Z'Z*_G@_X? ?M-_P#1,E_[XD_^(H_X? ?M
M-_\ 1,E_[XD_^(H_UFP'\S_\!E_D'_$&.*?^?5/_ ,&T_P#Y(_H?HK^>#_A\
M!^TW_P!$R7_OB3_XBC_A\!^TW_T3)?\ OB3_ .(H_P!9L!_,_P#P&7^0?\08
MXI_Y]4__  ;3_P#DC^A^BOYX/^'P'[3?_1,E_P"^)/\ XBC_ (? ?M-_]$R7
M_OB3_P"(H_UFP'\S_P# 9?Y!_P 08XI_Y]4__!M/_P"2/Z'Z*_G@_P"'P'[3
M?_1,E_[XD_\ B*/^'P'[3?\ T3)?^^)/_B*/]9L!_,__  &7^0?\08XI_P"?
M5/\ \&T__DC^A^BOYX/^'P'[3?\ T3)?^^)/_B*/^'P'[3?_ $3)?^^)/_B*
M/]9L!_,__ 9?Y!_Q!CBG_GU3_P#!M/\ ^2/Z'Z*_G@_X? ?M-_\ 1,E_[XD_
M^(H_X? ?M-_]$R7_ +XD_P#B*/\ 6; ?S/\ \!E_D'_$&.*?^?5/_P &T_\
MY(_H?HK^>#_A\!^TW_T3)?\ OB3_ .(H_P"'P'[3?_1,E_[XD_\ B*/]9L!_
M,_\ P&7^0?\ $&.*?^?5/_P;3_\ DC^A^BOYX/\ A\!^TW_T3)?^^)/_ (BC
M_A\!^TW_ -$R7_OB3_XBC_6; ?S/_P !E_D'_$&.*?\ GU3_ /!M/_Y(_H?H
MK^>#_A\!^TW_ -$R7_OB3_XBC_A\!^TW_P!$R7_OB3_XBC_6; ?S/_P&7^0?
M\08XI_Y]4_\ P;3_ /DC^A^BOYX/^'P'[3?_ $3)?^^)/_B*/^'P'[3?_1,E
M_P"^)/\ XBC_ %FP'\S_ / 9?Y!_Q!CBG_GU3_\ !M/_ .2/Z'Z*_G@_X? ?
MM-_]$R7_ +XD_P#B*/\ A\!^TW_T3)?^^)/_ (BC_6; ?S/_ ,!E_D'_ !!C
MBG_GU3_\&T__ )(_H?HK^>#_ (? ?M-_]$R7_OB3_P"(H_X? ?M-_P#1,E_[
MXD_^(H_UFP'\S_\  9?Y!_Q!CBG_ )]4_P#P;3_^2/Z'Z*_G@_X? ?M-_P#1
M,E_[XD_^(H_X? ?M-_\ 1,E_[XD_^(H_UFP'\S_\!E_D'_$&.*?^?5/_ ,&T
M_P#Y(_H?HK^>#_A\!^TW_P!$R7_OB3_XBC_A\!^TW_T3)?\ OB3_ .(H_P!9
ML!_,_P#P&7^0?\08XI_Y]4__  ;3_P#DC^A^BOYX/^'P'[3?_1,E_P"^)/\
MXBC_ (? ?M-_]$R7_OB3_P"(H_UFP'\S_P# 9?Y!_P 08XI_Y]4__!M/_P"2
M/Z'Z*_G@_P"'P'[3?_1,E_[XD_\ B*/^'P'[3?\ T3)?^^)/_B*/]9L!_,__
M  &7^0?\08XI_P"?5/\ \&T__DC^A^BOYX/^'P'[3?\ T3)?^^)/_B*/^'P'
M[3?_ $3)?^^)/_B*/]9L!_,__ 9?Y!_Q!CBG_GU3_P#!M/\ ^2/Z'Z*_G@_X
M? ?M-_\ 1,E_[XD_^(H_X? ?M-_]$R7_ +XD_P#B*/\ 6; ?S/\ \!E_D'_$
M&.*?^?5/_P &T_\ Y(_H?HK^>#_A\!^TW_T3)?\ OB3_ .(H_P"'P'[3?_1,
ME_[XD_\ B*/]9L!_,_\ P&7^0?\ $&.*?^?5/_P;3_\ DC^A^BOYX/\ A\!^
MTW_T3)?^^)/_ (BC_A\!^TW_ -$R7_OB3_XBC_6; ?S/_P !E_D'_$&.*?\
MGU3_ /!M/_Y(_H?HK^>#_A\!^TW_ -$R7_OB3_XBC_A\!^TW_P!$R7_OB3_X
MBC_6; ?S/_P&7^0?\08XI_Y]4_\ P;3_ /DC^A^BOYX/^'P'[3?_ $3)?^^)
M/_B*/^'P'[3?_1,E_P"^)/\ XBC_ %FP'\S_ / 9?Y!_Q!CBG_GU3_\ !M/_
M .2/Z'Z*_G@_X? ?M-_]$R7_ +XD_P#B*/\ A\!^TW_T3)?^^)/_ (BC_6;
M?S/_ ,!E_D'_ !!CBG_GU3_\&T__ )(_H?HK^>#_ (? ?M-_]$R7_OB3_P"(
MH_X? ?M-_P#1,E_[XD_^(H_UFP'\S_\  9?Y!_Q!CBG_ )]4_P#P;3_^2/Z'
MZ*_G@_X? ?M-_P#1,E_[XD_^(H_X? ?M-_\ 1,E_[XD_^(H_UFP'\S_\!E_D
M'_$&.*?^?5/_ ,&T_P#Y(_H?HK^>#_A\!^TW_P!$R7_OB3_XBC_A\!^TW_T3
M)?\ OB3_ .(H_P!9L!_,_P#P&7^0?\08XI_Y]4__  ;3_P#DC^A^BOYX/^'P
M'[3?_1,E_P"^)/\ XBC_ (? ?M-_]$R7_OB3_P"(H_UFP'\S_P# 9?Y!_P 0
M8XI_Y]4__!M/_P"2/Z'Z*_G@_P"'P'[3?_1,E_[XD_\ B*/^'P'[3?\ T3)?
M^^)/_B*/]9L!_,__  &7^0?\08XI_P"?5/\ \&T__DC^A^BOYX/^'P'[3?\
MT3)?^^)/_B*/^'P'[3?_ $3)?^^)/_B*/]9L!_,__ 9?Y!_Q!CBG_GU3_P#!
MM/\ ^2/Z'Z*_G@_X? ?M-_\ 1,E_[XD_^(H_X? ?M-_]$R7_ +XD_P#B*/\
M6; ?S/\ \!E_D'_$&.*?^?5/_P &T_\ Y(_H?HK^>#_A\!^TW_T3)?\ OB3_
M .(H_P"'P'[3?_1,E_[XD_\ B*/]9L!_,_\ P&7^0?\ $&.*?^?5/_P;3_\
MDC^A^BOYX/\ A\!^TW_T3)?^^)/_ (BC_A\!^TW_ -$R7_OB3_XBC_6; ?S/
M_P !E_D'_$&.*?\ GU3_ /!M/_Y(_H?HK^>#_A\!^TW_ -$R7_OB3_XBC_A\
M!^TW_P!$R7_OB3_XBC_6; ?S/_P&7^0?\08XI_Y]4_\ P;3_ /DC^A^BOYX/
M^'P'[3?_ $3)?^^)/_B*/^'P'[3?_1,E_P"^)/\ XBC_ %FP'\S_ / 9?Y!_
MQ!CBG_GU3_\ !M/_ .2/Z'Z*_G@_X? ?M-_]$R7_ +XD_P#B*/\ A\!^TW_T
M3)?^^)/_ (BC_6; ?S/_ ,!E_D'_ !!CBG_GU3_\&T__ )(_H?HK^>#_ (?
M?M-_]$R7_OB3_P"(H_X? ?M-_P#1,E_[XD_^(H_UFP'\S_\  9?Y!_Q!CBG_
M )]4_P#P;3_^2/Z'Z*_G@_X? ?M-_P#1,E_[XD_^(H_X? ?M-_\ 1,E_[XD_
M^(H_UFP'\S_\!E_D'_$&.*?^?5/_ ,&T_P#Y(_H?HK^>#_A\!^TW_P!$R7_O
MB3_XBC_A\!^TW_T3)?\ OB3_ .(H_P!9L!_,_P#P&7^0?\08XI_Y]4__  ;3
M_P#DC^A^BOYX/^'P'[3?_1,E_P"^)/\ XBC_ (? ?M-_]$R7_OB3_P"(H_UF
MP'\S_P# 9?Y!_P 08XI_Y]4__!M/_P"2/Z'Z*_G@_P"'P'[3?_1,E_[XD_\
MB*/^'P'[3?\ T3)?^^)/_B*/]9L!_,__  &7^0?\08XI_P"?5/\ \&T__DC^
MA^BOYX/^'P'[3?\ T3)?^^)/_B*/^'P'[3?_ $3)?^^)/_B*/]9L!_,__ 9?
MY!_Q!CBG_GU3_P#!M/\ ^2/Z'Z*_G@_X? ?M-_\ 1,E_[XD_^(H_X? ?M-_]
M$R7_ +XD_P#B*/\ 6; ?S/\ \!E_D'_$&.*?^?5/_P &T_\ Y(_H?HK^>#_A
M\!^TW_T3)?\ OB3_ .(H_P"'P'[3?_1,E_[XD_\ B*/]9L!_,_\ P&7^0?\
M$&.*?^?5/_P;3_\ DC^A^BOYX/\ A\!^TW_T3)?^^)/_ (BC_A\!^TW_ -$R
M7_OB3_XBC_6; ?S/_P !E_D'_$&.*?\ GU3_ /!M/_Y(_H?HK^>#_A\!^TW_
M -$R7_OB3_XBC_A\!^TW_P!$R7_OB3_XBC_6; ?S/_P&7^0?\08XI_Y]4_\
MP;3_ /DC^A^BOYX/^'P'[3?_ $3)?^^)/_B*/^'P'[3?_1,E_P"^)/\ XBC_
M %FP'\S_ / 9?Y!_Q!CBG_GU3_\ !M/_ .2/Z'Z*_G@_X? ?M-_]$R7_ +XD
M_P#B*/\ A\!^TW_T3)?^^)/_ (BC_6; ?S/_ ,!E_D'_ !!CBG_GU3_\&T__
M )(_H?HK^>#_ (? ?M-_]$R7_OB3_P"(H_X? ?M-_P#1,E_[XD_^(H_UFP'\
MS_\  9?Y!_Q!CBG_ )]4_P#P;3_^2/Z'Z*_G@_X? ?M-_P#1,E_[XD_^(H_X
M? ?M-_\ 1,E_[XD_^(H_UFP'\S_\!E_D'_$&.*?^?5/_ ,&T_P#Y(_H?HK^>
M#_A\!^TW_P!$R7_OB3_XBC_A\!^TW_T3)?\ OB3_ .(H_P!9L!_,_P#P&7^0
M?\08XI_Y]4__  ;3_P#DC^A^BOYX/^'P'[3?_1,E_P"^)/\ XBC_ (? ?M-_
M]$R7_OB3_P"(H_UFP'\S_P# 9?Y!_P 08XI_Y]4__!M/_P"2/Z'Z*_G@_P"'
MP'[3?_1,E_[XD_\ B*/^'P'[3?\ T3)?^^)/_B*/]9L!_,__  &7^0?\08XI
M_P"?5/\ \&T__DC^A^BOYX/^'P'[3?\ T3)?^^)/_B*/^'P'[3?_ $3)?^^)
M/_B*/]9L!_,__ 9?Y!_Q!CBG_GU3_P#!M/\ ^2/Z'Z*_G@_X? ?M-_\ 1,E_
M[XD_^(H_X? ?M-_]$R7_ +XD_P#B*/\ 6; ?S/\ \!E_D'_$&.*?^?5/_P &
MT_\ Y(_H?HK^>#_A\!^TW_T3)?\ OB3_ .(H_P"'P'[3?_1,E_[XD_\ B*/]
M9L!_,_\ P&7^0?\ $&.*?^?5/_P;3_\ DC^A^BOYX/\ A\!^TW_T3)?^^)/_
M (BC_A\!^TW_ -$R7_OB3_XBC_6; ?S/_P !E_D'_$&.*?\ GU3_ /!M/_Y(
M_H?HK^>#_A\!^TW_ -$R7_OB3_XBC_A\!^TW_P!$R7_OB3_XBC_6; ?S/_P&
M7^0?\08XI_Y]4_\ P;3_ /DC^A^BOYX/^'P'[3?_ $3)?^^)/_B*/^'P'[3?
M_1,E_P"^)/\ XBC_ %FP'\S_ / 9?Y!_Q!CBG_GU3_\ !M/_ .2/Z'Z*_G@_
MX? ?M-_]$R7_ +XD_P#B*/\ A\!^TW_T3)?^^)/_ (BC_6; ?S/_ ,!E_D'_
M !!CBG_GU3_\&T__ )(_H?HK^>#_ (? ?M-_]$R7_OB3_P"(H_X? ?M-_P#1
M,E_[XD_^(H_UFP'\S_\  9?Y!_Q!CBG_ )]4_P#P;3_^2/Z'Z*_G@_X? ?M-
M_P#1,E_[XD_^(H_X? ?M-_\ 1,E_[XD_^(H_UFP'\S_\!E_D'_$&.*?^?5/_
M ,&T_P#Y(_H?HK^>#_A\!^TW_P!$R7_OB3_XBC_A\!^TW_T3)?\ OB3_ .(H
M_P!9L!_,_P#P&7^0?\08XI_Y]4__  ;3_P#DC^A^BOYX/^'P'[3?_1,E_P"^
M)/\ XBC_ (? ?M-_]$R7_OB3_P"(H_UFP'\S_P# 9?Y!_P 08XI_Y]4__!M/
M_P"2/Z'Z*_G@_P"'P'[3?_1,E_[XD_\ B*/^'P'[3?\ T3)?^^)/_B*/]9L!
M_,__  &7^0?\08XI_P"?5/\ \&T__DC^A^BOYX/^'P'[3?\ T3)?^^)/_B*/
M^'P'[3?_ $3)?^^)/_B*/]9L!_,__ 9?Y!_Q!CBG_GU3_P#!M/\ ^2/Z'Z*_
MG@_X? ?M-_\ 1,E_[XD_^(H_X? ?M-_]$R7_ +XD_P#B*/\ 6; ?S/\ \!E_
MD'_$&.*?^?5/_P &T_\ Y(_H?HK^>#_A\!^TW_T3)?\ OB3_ .(H_P"'P'[3
M?_1,E_[XD_\ B*/]9L!_,_\ P&7^0?\ $&.*?^?5/_P;3_\ DC^A^BOYX/\
MA\!^TW_T3)?^^)/_ (BC_A\!^TW_ -$R7_OB3_XBC_6; ?S/_P !E_D'_$&.
M*?\ GU3_ /!M/_Y(_H?HK^>#_A\!^TW_ -$R7_OB3_XBC_A\!^TW_P!$R7_O
MB3_XBC_6; ?S/_P&7^0?\08XI_Y]4_\ P;3_ /DC^A^BOYX/^'P'[3?_ $3)
M?^^)/_B*/^'P'[3?_1,E_P"^)/\ XBC_ %FP'\S_ / 9?Y!_Q!CBG_GU3_\
M!M/_ .2/Z'Z*_G@_X? ?M-_]$R7_ +XD_P#B*/\ A\!^TW_T3)?^^)/_ (BC
M_6; ?S/_ ,!E_D'_ !!CBG_GU3_\&T__ )(_H?HK^>#_ (? ?M-_]$R7_OB3
M_P"(H_X? ?M-_P#1,E_[XD_^(H_UFP'\S_\  9?Y!_Q!CBG_ )]4_P#P;3_^
M2/Z'ZI:CJ6FZ-83:MK%Q':6ELADEFE8*B(O)))[ 5_/3)_P5P_:WU/%KX>^&
M,;7!Z QN<_ALKSO6OAY_P5#_ ."@DXTOQ<C^%O##2#S(KIC9VRJ>NY4!:7U"
ML /I43XCI25L+3G4EV46E\VS>AX08^A)5,\Q=#"T%O*52,G;^[&+U?;5%/\
M;6_:#U__ (*(_'O1/V8OV<TDU'0;*\P;F/(CN64XDG8]!"BD[2>IQW-?T9_"
MGX;:%\'OAOHOPP\-X-GHEK':HV,;R@PS?\".3^-?.W['O[%'PP_8_P#"!TSP
MU_Q,]=NT47^K3(%DF8=0BY.R//1<G'J:^R:Z,JP%6G*>*Q3O5G:]MHI;17ZG
MD\=<4X'%TL-DF1Q<<!AK\K?Q5)OXJDO7HK:)O:]D4445[1^<A1110 5Y[\7/
M^24>)?\ L&W'_H->A5Y[\7/^24>)?^P;<?\ H-14^"7HSJP7^\TO\4?S1_!Q
M_P Q*/\ Z^HO_1BU_H7> _\ D1]&_P"O&W_]%K7^>C_S$H_^OJ+_ -&+7^A=
MX#_Y$?1O^O&W_P#1:U\)P-\>(_[=_P#;C^G?I+_P<K]:OY4SJZ***_0C^4#_
MUO[^**** "BBB@#^:?\ X+Z?\C=\-/\ KA??TK@?^"'?_)3_ !G_ ->$7\WK
MOO\ @OI_R-WPT_ZX7W]*X'_@AW_R4_QG_P!>$7\WK\Y?_)2OU7_I"/Z[H_\
M)G?^W'_Z?9_2-1117Z$?R8%%%% !1110 4444 075K;7Q!OHDGQP/, ;^>:I
M_P!B:'_SY6__ '[7_"M.BE9#3:T3,S^Q-#_Y\K?_ +]K_A1_8FA_\^5O_P!^
MU_PK3HHLNP^>7=F9_8FA_P#/E;_]^U_PH_L30_\ GRM_^_:_X5IT4678.>7=
MF9_8FA_\^5O_ -^U_P */[$T/_GRM_\ OVO^%:=%%EV#GEW9F?V)H?\ SY6_
M_?M?\*/[$T/_ )\K?_OVO^%:=%%EV#GEW9F?V)H?_/E;_P#?M?\ "C^Q-#_Y
M\K?_ +]K_A6G119=@YY=V9G]B:'_ ,^5O_W[7_"C^Q-#_P"?*W_[]K_A6G11
M9=@YY=V9G]B:'_SY6_\ W[7_  H_L30_^?*W_P"_:_X5IT4678.>7=F9_8FA
M_P#/E;_]^U_PH_L30_\ GRM_^_:_X5IT4678.>7=F9_8FA_\^5O_ -^U_P *
M/[$T/_GRM_\ OVO^%:=%%EV#GEW9F?V)H?\ SY6__?M?\*/[$T/_ )\K?_OV
MO^%:=%%EV#GEW9F?V)H?_/E;_P#?M?\ "C^Q-#_Y\K?_ +]K_A6G119=@YY=
MV9G]B:'_ ,^5O_W[7_"C^Q-#_P"?*W_[]K_A6G119=@YY=V9G]B:'_SY6_\
MW[7_  H_L30_^?*W_P"_:_X5IT4678.>7=F9_8FA_P#/E;_]^U_PH_L30_\
MGRM_^_:_X5IT4678.>7=F9_8FA_\^5O_ -^U_P */[$T/_GRM_\ OVO^%:=%
M%EV#GEW9F?V)H?\ SY6__?M?\*/[$T/_ )\K?_OVO^%:=%%EV#GEW9F?V)H?
M_/E;_P#?M?\ "C^Q-#_Y\K?_ +]K_A6G119=@YY=V9G]B:'_ ,^5O_W[7_"C
M^Q-#_P"?*W_[]K_A6G119=@YY=V9G]B:'_SY6_\ W[7_  H_L30_^?*W_P"_
M:_X5IT4678.>7=F9_8FA_P#/E;_]^U_PH_L30_\ GRM_^_:_X5IT4678.>7=
MF9_8FA_\^5O_ -^U_P */[$T/_GRM_\ OVO^%:=%%EV#GEW9F?V)H?\ SY6_
M_?M?\*/[$T/_ )\K?_OVO^%:=%%EV#GEW9F?V)H?_/E;_P#?M?\ "C^Q-#_Y
M\K?_ +]K_A6G119=@YY=V9G]B:'_ ,^5O_W[7_"C^Q-#_P"?*W_[]K_A6G11
M9=@YY=V9G]B:'_SY6_\ W[7_  H_L30_^?*W_P"_:_X5IT4678.>7=F9_8FA
M_P#/E;_]^U_PH_L30_\ GRM_^_:_X5IT4678.>7=F9_8FA_\^5O_ -^U_P *
M/[$T/_GRM_\ OVO^%:=%%EV#GEW9F?V)H?\ SY6__?M?\*/[$T/_ )\K?_OV
MO^%:=%%EV#GEW9F?V)H?_/E;_P#?M?\ "C^Q-#_Y\K?_ +]K_A6G119=@YY=
MV9G]B:'_ ,^5O_W[7_"C^Q-#_P"?*W_[]K_A6G119=@YY=V9G]B:'_SY6_\
MW[7_  H_L30_^?*W_P"_:_X5IT4678.>7=F9_8FA_P#/E;_]^U_PH_L30_\
MGRM_^_:_X5IT4678.>7=F9_8FA_\^5O_ -^U_P */[$T/_GRM_\ OVO^%:=%
M%EV#GEW9F?V)H?\ SY6__?M?\*/[$T/_ )\K?_OVO^%:=%%EV#GEW9F?V)H?
M_/E;_P#?M?\ "C^Q-#_Y\K?_ +]K_A6G119=@YY=V9G]B:'_ ,^5O_W[7_"C
M^Q-#_P"?*W_[]K_A6G119=@YY=V9G]B:'_SY6_\ W[7_  H_L30_^?*W_P"_
M:_X5IT4678.>7=F9_8FA_P#/E;_]^U_PH_L30_\ GRM_^_:_X5IT4678.>7=
MF9_8FA_\^5O_ -^U_P */[$T/_GRM_\ OVO^%:=%%EV#GEW9F?V)H?\ SY6_
M_?M?\*/[$T/_ )\K?_OVO^%:=%%EV#GEW9F?V)H?_/E;_P#?M?\ "C^Q-#_Y
M\K?_ +]K_A6G119=@YY=V9G]B:'_ ,^5O_W[7_"C^Q-#_P"?*W_[]K_A6G11
M9=@YY=V9G]B:'_SY6_\ W[7_  H_L30_^?*W_P"_:_X5IT4678.>7=F9_8FA
M_P#/E;_]^U_PH_L30_\ GRM_^_:_X5IT4678.>7=F9_8FA_\^5O_ -^U_P *
M/[$T/_GRM_\ OVO^%:=%%EV#GEW9F?V)H?\ SY6__?M?\*/[$T/_ )\K?_OV
MO^%:=%%EV#GEW9F?V)H?_/E;_P#?M?\ "C^Q-#_Y\K?_ +]K_A6G119=@YY=
MV9G]B:'_ ,^5O_W[7_"C^Q-#_P"?*W_[]K_A6G119=@YY=V9G]B:'_SY6_\
MW[7_  H_L30_^?*W_P"_:_X5IT4678.>7=F9_8FA_P#/E;_]^U_PH_L30_\
MGRM_^_:_X5IT4678.>7=F9_8FA_\^5O_ -^U_P */[$T/_GRM_\ OVO^%:=%
M%EV#GEW9F?V)H?\ SY6__?M?\*/[$T/_ )\K?_OVO^%:=%%EV#GEW9F?V)H?
M_/E;_P#?M?\ "C^Q-#_Y\K?_ +]K_A6G119=@YY=V9G]B:'_ ,^5O_W[7_"C
M^Q-#_P"?*W_[]K_A6G119=@YY=V9G]B:'_SY6_\ W[7_  H_L30_^?*W_P"_
M:_X5IT4678.>7=F9_8FA_P#/E;_]^U_PH_L30_\ GRM_^_:_X5IT4678.>7=
MF9_8FA_\^5O_ -^U_P */[$T/_GRM_\ OVO^%:=%%EV#GEW9F?V)H?\ SY6_
M_?M?\*/[$T/_ )\K?_OVO^%:=%%EV#GEW9F?V)H?_/E;_P#?M?\ "C^Q-#_Y
M\K?_ +]K_A6G119=@YY=V9G]B:'_ ,^5O_W[7_"C^Q-#_P"?*W_[]K_A6G11
M9=@YY=V9G]B:'_SY6_\ W[7_  H_L30_^?*W_P"_:_X5IT4678.>7=F9_8FA
M_P#/E;_]^U_PH_L30_\ GRM_^_:_X5IT4678.>7=F9_8FA_\^5O_ -^U_P *
M/[$T/_GRM_\ OVO^%:=%%EV#GEW9F?V)H?\ SY6__?M?\*/[$T/_ )\K?_OV
MO^%:=%%EV#GEW9F?V)H?_/E;_P#?M?\ "C^Q-#_Y\K?_ +]K_A6G119=@YY=
MV9G]B:'_ ,^5O_W[7_"C^Q-#_P"?*W_[]K_A6G119=@YY=V9G]B:'_SY6_\
MW[7_  H_L30_^?*W_P"_:_X5IT4678.>7=F9_8FA_P#/E;_]^U_PH_L30_\
MGRM_^_:_X5IT4678.>7=F9_8FA_\^5O_ -^U_P */[$T/_GRM_\ OVO^%:=%
M%EV#GEW9F?V)H?\ SY6__?M?\*/[$T/_ )\K?_OVO^%:=%%EV#GEW9F?V)H?
M_/E;_P#?M?\ "C^Q-#_Y\K?_ +]K_A6G119=@YY=V9G]B:'_ ,^5O_W[7_"C
M^Q-#_P"?*W_[]K_A6G119=@YY=V9G]B:'_SY6_\ W[7_  H_L30_^?*W_P"_
M:_X5IT4678.>7=F9_8FA_P#/E;_]^U_PH_L30_\ GRM_^_:_X5IT4678.>7=
MF9_8FA_\^5O_ -^U_P */[$T/_GRM_\ OVO^%:=%%EV#GEW9F?V)H?\ SY6_
M_?M?\*/[$T/_ )\K?_OVO^%:=%%EV#GEW9F?V)H?_/E;_P#?M?\ "C^Q-#_Y
M\K?_ +]K_A6G119=@YY=V9G]B:'_ ,^5O_W[7_"C^Q-#_P"?*W_[]K_A6G11
M9=@YY=V9G]B:'_SY6_\ W[7_  H_L30_^?*W_P"_:_X5IT4678.>7=F9_8FA
M_P#/E;_]^U_PH_L30_\ GRM_^_:_X5IT4678.>7=F9_8FA_\^5O_ -^U_P *
M/[$T/_GRM_\ OVO^%:=%%EV#GEW9F?V)H?\ SY6__?M?\*/[$T/_ )\K?_OV
MO^%:=%%EV#GEW9F?V)H?_/E;_P#?M?\ "C^Q-#_Y\K?_ +]K_A6G119=@YY=
MV9G]B:'_ ,^5O_W[7_"C^Q-#_P"?*W_[]K_A6G119=@YY=V9G]B:'_SY6_\
MW[7_  H_L30_^?*W_P"_:_X5IT4678.>7=F9_8FA_P#/E;_]^U_PH_L30_\
MGRM_^_:_X5IT4678.>7=F9_8FA_\^5O_ -^U_P */[$T/_GRM_\ OVO^%:=%
M%EV#GEW9F?V)H?\ SY6__?M?\*/[$T/_ )\K?_OVO^%:=%%EV#GEW9F?V)H?
M_/E;_P#?M?\ "C^Q-#_Y\K?_ +]K_A6G119=@YY=V4(])TF%M\-I"C#NJ '^
M5:3.[_?)./6F44[";;W"BBB@04444 %%%% !7GOQ<_Y)1XE_[!MQ_P"@UZ%7
MGOQ<_P"24>)?^P;<?^@U%3X)>C.K!?[S2_Q1_-'\''_,2C_Z^HO_ $8M?Z%W
M@/\ Y$?1O^O&W_\ 1:U_GH_\Q*/_ *^HO_1BU_H7> _^1'T;_KQM_P#T6M?"
M<#?'B/\ MW_VX_IWZ2_\'*_6K^5,ZNBBBOT(_E __]?^_BBBB@ HHHH _FG_
M ."^G_(W?#3_ *X7W]*X'_@AW_R4_P 9_P#7A%_-Z[[_ (+Z?\C=\-/^N%]_
M2N!_X(=_\E/\9_\ 7A%_-Z_.7_R4K]5_Z0C^NZ/_ "9W_MQ_^GV?TC4445^A
M'\F!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 5Y[\7/^24>)?^P;<?\
MH->A5Y[\7/\ DE'B7_L&W'_H-14^"7HSJP7^\TO\4?S1_!Q_S$H_^OJ+_P!&
M+7^A=X#_ .1'T;_KQM__ $6M?YZ/_,2C_P"OJ+_T8M?Z%W@/_D1]&_Z\;?\
M]%K7PG WQXC_ +=_]N/Z=^DO_!ROUJ_E3.KHHHK]"/Y0/__0_OXHHHH ****
M /YI_P#@OI_R-WPT_P"N%]_2N!_X(=_\E/\ &?\ UX1?S>N^_P""^G_(W?#3
M_KA??TK@?^"'?_)3_&?_ %X1?S>OSE_\E*_5?^D(_KNC_P F=_[<?_I]G](U
M%%%?H1_)@4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%5[N[M;"UDOKV18H
M8E+N[G"JHZDF@$KZ(L45^9/Q:_X*N_LO_#/5IM"TRYFUZYMV*O\ 9%S'D>C]
M#^=?/W_#[SX.^=Y?_"):GM_O;T_EFO*JYY@*<N6597^_\C[O!>&7%.*I*M1R
M^IRO572C^$FF?MO17YP_LZ?\%-?@?^T;\3=,^$GAVUO+/6M76<VT<J$J?L\3
M3/E@,#"*3S7Z/5VX;%T<1#GH34EMIW/FLYR+,,IKK"YE0E2J-<R4ENKM77E=
M-7\F%%%%=!Y(4444 %%%% !1110 4444 %%%% !17@/[3'Q^T7]F?X37WQ:\
M064NH6M@5#0PD!VW>A/%?E\/^"X'PD/_ #)VI_\ ?Q*\_%9MA,-/V=>HHO?J
M?6Y%P+GV<X=XK+,+*I33Y;IQW5FUJUW1^W]%?(_[(7[7/AG]K[P9?>,_"^EW
M&E16-Q]G:.X8,Q/J,5]<5UT*\*U-5:3O%[,\#,\MQ.7XJI@L9!PJP=I1=KI_
M+0**^.OVP_VQO"W['?AO2?$GBG2KC58]6N&MT2W8*5*@')S]:^!&_P""X/PC
M52Q\':G@<_ZQ*XL3G&#P]1TJU5*7;4^ER;P]XAS;"QQN7X.52E)M*2<;-IV>
M[74_<"BO$/V=?CAI'[1?PETSXM:%9RV%KJ8)2&8@NH'J1Q7M]=].I&I!3@[I
MZH^5QF$K86O4PV(CRU(-QDNS3LT%%%%6<P4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %>>_%S_DE'B7_ +!MQ_Z#7H5>>_%S_DE'B7_L
M&W'_ *#45/@EZ,ZL%_O-+_%'\T?P<?\ ,2C_ .OJ+_T8M?Z%W@/_ )$?1O\
MKQM__1:U_GH_\Q*/_KZB_P#1BU_H7> _^1'T;_KQM_\ T6M?"<#?'B/^W?\
MVX_IWZ2_\'*_6K^5,ZNBBBOT(_E _]'^_BBBB@ HHHH _FG_ ."^G_(W?#3_
M *X7W]*X'_@AW_R4_P 9_P#7A%_-Z[[_ (+Z?\C=\-/^N%]_2N!_X(=_\E/\
M9_\ 7A%_-Z_.7_R4K]5_Z0C^NZ/_ "9W_MQ_^GV?TC4445^A'\F!1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 5^/7_!9;XW:S\-_@3HOPV\.W+6MUXSNY8Y6
M0D,;2U"F501R,^8M?L+7\\?_  78D)UKX51]@NLG\Q;?X5X?$E:5++:TH/71
M?>TG^#/TGP@P%'%\7X"E7C>*<Y6\X4Y3C_Y,D?@BJ*O2IX;>ZN6*VL+S$==B
MEOY55G8I [CJ%)K^NW_@FW\&OAG9_L>>#_$4NBVEQ?:O;&ZN9I8P[L[G/4^F
M:_-LFREX^LZ2ERV5]KG]C>(?'5/A7+Z>.J475<Y\B2=NC=V[/MV/R1_X(P^!
M+C5OVJM3\7:A:NB^'M%EDB>1"-LMRWDD GH2C'\*_J.KGM'\(^%?#MQ)=>']
M-MK&24;7:",(6 ]<=:Z&OU')\M^HX94.:^K=]MS^)O$#C%\39O+,_9>S7+&*
MC>]E%=[+=MO;J%%(V=IQUP<?6OYO/CW_ ,%._P!KSX*?&+Q#\-M<TZRM6T^\
ME%NCJ2QM68F%CS_$F#^-7F.9T<%&,Z][/317.;A'@O,>)*]3#Y:X\\%S-2ER
MW5[:=[=>UT?TB45^!?[%O_!0S]JG]I;X^Z9\/I]/M)](C5KC57B!#0VWW0XZ
M_P 9 _&OWV<*&(7IGBKR_,:6,INK1ORWMJK&/%?"6.X=Q<<%F#C[1Q4K1ES6
M3;M?L]+V[68VBBBNX^8N%%%% !1110%PHHHH _-O_@K!_P F7>(_]Z+^=?R-
M#H*_KE_X*P?\F7>(_P#>B_G7\C0Z"OS#C+_?H_X5^;/[4^CQ_P DU5_Z_2_]
M)@?TO_\ !$C_ )(1XA_[";?UK]JJ_%7_ ((D?\D(\0_]A-OZU^U5?;\/_P#(
MNH^A_-_BQ_R5V8_X_P!$?AK_ ,%Q/^26^"_^PE+_ .@K7\WLW^J;Z&OZ0O\
M@N)_R2WP7_V$I?\ T%:_F]F_U3?0U^?\6?\ (RGZ1_(_JKP*_P"20PW^*I_Z
M6S^PK_@E_P#\F8>%/]Q_YU^@5?G[_P $O_\ DS#PI_N/_.OT"K]*RO\ W.C_
M (5^1_'/&_\ R4.8_P#7ZI_Z4PHHHKN/EPHHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH *\]^+G_)*/$O_ &#;C_T&O0J\]^+G_)*/$O\
MV#;C_P!!J*GP2]&=6"_WFE_BC^:/X./^8E'_ -?47_HQ:_T+O ?_ "(^C?\
M7C;_ /HM:_ST?^8E'_U]1?\ HQ:_T+O ?_(CZ-_UXV__ *+6OA.!OCQ'_;O_
M +<?T[])?^#E?K5_*F=71117Z$?R@?_2_OXHHHH **** /YI_P#@OI_R-WPT
M_P"N%]_2N!_X(=_\E/\ &?\ UX1?S>N^_P""^G_(W?#3_KA??TK@?^"'?_)3
M_&?_ %X1?S>OSE_\E*_5?^D(_KNC_P F=_[<?_I]G](U%%%?H1_)@4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 >4_&+XU_#?X#>$QXU^*&HKINGM*(4D8$[I
M&Z*,=Z_FC_X*G_M6?"7]J'Q!X)_X5//+<IX=74!=/(FQ3]I$.S;Z_<.:_4S_
M (+(^%?$?B[]F#2]/\,6$VHSQZU%(T<"%V"\<X&>*_E^\1>#O%G@YX(_%>F7
M&FFYW>2+B,QE]N-VW(&<9&?K7P'%N95U*6"4?W;46W9][[[;I']4^ W!N63I
M4>(IU7]:C*I%0YE:W*XWY;7>DGU\SFID,D+QCJP(_.OZ'_V2_P#@J%^S=\$O
MV;_"?PH\8+J)U/1+-8+@PPJR;ACH2PXK^>0D 9-=WIGPM^)FMV$6JZ/H%]=6
MLPW1RQ0LR,/4$#!KY7*\PQ&#J2J897;5MKZ'[EQIPGE6?X2GA<WFXPC+F5I*
M.MFMWY-G]D_[,'[7GPK_ &M-,U;5OA<MT(M&F2"X^U($.YU##&"<C!KZ9U+4
MM/T>PEU359DM[>!2TDDC!54#N2:_$?\ X(K^%/$_@?P/\0)?&6GSZ6)+^"1?
MM*&/*)$N2,@<"OB'_@H[^WYXH^-OC2X^%'PLU*2R\(:4[Q3M =IOIAP2S#G8
MN,  X/-?H<<_]CET,5BE[\KV2TN[O^F?R7/PL>9<78K),FE;#4N5NI)\W+%Q
M3W6\FVU%??HFS](OVC?^"OOPC^%FHW'A;X56!\5:E"2K3!MELC>S=6]^*_GG
M_:+^/'B?]I?XN:A\8?%]I!8WVH)%$T-M_JU2%0BXR!S@<UX> %'%+%NG5I+=
M6D5/O,@+*OU(X%? YEG>*QWNU7[M[I+;_,_J?@[PVR3AO][@:;=9QY74DVY-
M.S:MLDVEHD?4G[(_[5WB_P#8_P#B-??$+P?IUOJ;ZG8_V?<PW)('D^8LF5(!
M^;*BOUW\<?\ !8[1_%GP)U&\\ V3>'_'%NT1B@F_>0R(2=VUN>?8@5_/)+NM
MV5+E6B+<J'!7(]L]:3 /)J<%G>+PM)T:4O=UT[7ZKK<TXA\.,ASK&0S''4+U
MHN/O7?O*.T9+9JVFU[=3]-1_P5M_:^QS>VG_ '[K]K/^"97[2OQ-_:<^%.M^
M+OBA-'-=V6H_9HC$NT! ":_D?K^F'_@B+_R0+Q-_V&3_ "->[PSF>+K8^-.M
M5<HV>C9^9>,W!^29=PQ5Q6!P=.G44X+FC%)V;U^\_:?IR:_*[]K+_@J?\+?V
M>]8F\#>"+/\ X2?Q!#E951]L$#?[3<Y/J *^@/\ @H1\;=5^ '[)?BCQYX<?
MR]5E6*PLW&,I)=N(BXSW16+#W%?QF33W=W<27FH2M/<3,7EE<Y9W;DDGW->U
MQ+G]3!R6'P_QM7;[+I\]&?F_@WX783/Z=3-<UNZ$)<D8)M<TDDVVUKRI-;/5
M^FOZM^)_^"QW[5&O7+RZ3::;I49/RK"I; ]R0*Y*W_X*U_M@0ON>^M9!Z-'_
M /6KY2_9V_9A^*_[3WB6?PY\,;02BS4-<W$AVQ1!LXR?4X/%?H.?^"+7[07D
MAUUO3MY&2N3_ (5\QAZN=XF/M:4IM=^A^VYI@/#?)ZOU+'4:%.:7PM7:3VON
MU\RKX9_X+3?M):3(L>O:'I6H0C[QY1S]#M-?=/P$_P""Q?@OXI^,=+\ >,?"
ML^DWNJ3I;1302>;&9'( R#C R?2OR#^/7_!.G]HKX!Z/;Z]J]DNKVUS-Y"_8
M 9&#8SD@#.*XG]FKX0_%;3_V@_!U]?\ AS4(8(=4MV>1X'"J XR2<<5O0S7.
M*%>-*LWNKIJ^C^1Y>9\#< 9GEE;&X"%-6C)QE3FXZQ3Z7MOTL?T5_P#!6#_D
MRWQ$?4Q'\S7\C0Z"OZY?^"K_ /R97XA_[8U_(T.@HXR_WZ/^%?FR?H\?\DU5
M_P"OTO\ TF!^Q_\ P3?_ &[O@G^RI\,=6\(?$Y;TW5[>F>,VT8==ISURPK]=
M?@7_ ,%*/V>OVA/B1:?"[P(+\:E>J[1^?$$3" DY(8]A7\D^@> _''BRW:[\
M+Z1=:A$AVL]O$SJ#Z$@&OT<_X)C?#/XC>'OVPM U77]"O;*VCAN-TLT+(@RC
M=21BKR7.\;&5#"J*]G=*]GM?N8>(_AMPY6HYEG=2I+ZURRG;VBMS*.GNVOT6
MA][_ /!<3_DEW@O_ +"4O_H*U_-[-_JF^AK^D/\ X+B_\DN\%_\ 82E_DM?S
M>3?ZIOH:X^+/^1E/TC^1]#X%?\DAAO\ %4_]+9_83_P3 ./V+O"K>D;G\C7G
M_B[_ (*W?LM>"_%.H^$-774S=:9</;3;(%*[XS@X.[ID5W__  3"Y_8L\+#_
M *925_,Q\?\ X2_%-OC1XOU./P[J#6S:G=2"40,5*;R=V<=,5]/CLRQ.#R_#
M2PRNVE?2_1'XOPUP;D_$/%6=TLWFXQA4DXVDHZN<D]T[G] __#Y3]DG^[JO_
M 'X7_P"*H_X?*?LD_P!W5?\ OPO_ ,57\K><_AQ^5:&E:1JNO:A'I.B6TEW=
M3'"11*6=C[ <FOGEQ?F#=DH_=_P3]6EX \*13E)U4E_T\7_R)_9+^S1^WA\$
M_P!JSQ/?^$_AB+P76G0"XF^TQA!L) X()[FJ/[2'[?\ \#?V7/&L'@/XE"]-
M]<0"X3[-$'78>.I(K\I_^"-'@#QUX3^-7BF]\4Z1=Z=#)I:HCW$3(K-O0X!(
M%<W_ ,%@OAWX^\5_M):;J'A?1KO4(!I<:&2")G4-D\9 /-?2/.,9_92Q?*O:
M7M:SVOV/R&'AYP^^.99"ZC^J*GS7YU?FY4_BM;?H??/_  ^4_9)_NZK_ -^%
M_P#BJ/\ A\I^R3_=U7_OPO\ \57\L^HZ=J&D7LFF:K"]M<PG;)%(-K*?0@U1
M=UC7>YP!W-?-OB_,%H^7[O\ @GZ]'P X5DDXNJT_^GB_^1/ZT_ /_!6']F#X
MC>-]*\ Z NI"^UBX6U@,D*A-[],G=P*_3J1#&[1MU4D?E7\6/[+?PC^*EE^T
MIX#U*]\.ZA#;PZO!(\CP.%5 "<DD<"O[4KH@W4A'0L?YU]CP[F6)QE*I/$JS
M3LM+=#^??%S@_*.'\;A:&43<HS@Y2O)2U4K=-M""BBBOH3\E"BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "O/?BY_R2CQ+_P!@VX_]!KT*O/?BY_R2CQ+_ -@VX_\
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
M<W^I!3R((3F)?Q=<GVK]'GG$%EGUY=O_ ";:WWG\A8;P^KOC1<,RORJIJ_\
MITO>YOG#;S=C^>[QIXNU+Q_XPU3QQK!S<ZK<R7+X&!\YXX[<8KZ@_8+^ 0_:
M*_:9T+PGJ4!FT;3I!J&I9&4,4)!$;=L.>/PKXZZ5_3A_P1F^!_\ PB'P0O?C
M5J<(6Z\5S$6S$?-]EAX'X%B<5^=Y%@GC,=&,]4O>?R_S9_6WB=Q''A[AJO5P
M_NSDE2IVZ.2LK?X8IM>A^QXLM/5@T=M"I'0K&HQ^0JS117["?Y]!1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 5Y[\7/^24>)?^P;<?\ H->A5Y[\7/\ DE'B
M7_L&W'_H-14^"7HSJP7^\TO\4?S1_!Q_S$H_^OJ+_P!&+7^A=X#_ .1'T;_K
MQM__ $6M?YZ/_,2C_P"OJ+_T8M?Z%W@/_D1]&_Z\;?\ ]%K7PG WQXC_ +=_
M]N/Z=^DO_!ROUJ_E3.KHHHK]"/Y0/__4_OXHHHH **** /YI_P#@OI_R-WPT
M_P"N%]_2N!_X(=_\E/\ &?\ UX1?S>N^_P""^G_(W?#3_KA??TK@?^"'?_)3
M_&?_ %X1?S>OSE_\E*_5?^D(_KNC_P F=_[<?_I]G](U%%%?H1_)@4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %?SP?\%UO^0[\+/]S6/Y6U?T':GJ^E:+;B
MZU>YCM8B=H>5@BY],DBOYW/^"X>O:'KFN_"\Z+>0W?EIJ^_R7#[=PM\9P3C.
M*^=XJ:_LRJO\/_I43]9\$:<O]<<%.SM:KKT_@S/PDNO^/:3_ '3_ "K^T#_@
MG9_R9'\._P#L&I_(5_&!<@FVD _NG^5?V-?\$^/&7A+3OV+_ (?6%_J=K#/'
MIR*T;RJK*<#@@FOEN"VEBJE_Y?U1^X_2+A*61X115_WW3_!(^&O^"X'@2ZN_
M G@_XEQC,.GW4EG)Q]WS>5)^I.*_G0/(Q7]P/[4WP+T3]ICX"ZY\*-2(!U&%
M9K.8<^7<Q?/"X]0& )]17\4WC?P3XD^&WB_4/ 7C"!K;4M+F:&9&&#E>C#V(
MY!J.,,%*GBUB$O=FE]Z_X%CH\ .(Z.+R)Y5*7[ZA)Z=X2=TUZ2;3[:=S^G3_
M ()!_M"Z7\1/V<K?X.ZI(D6L^#9'M8XL_-+9'#1N!ZY+ CZ5^I?B?PGX:\:Z
M/)H'BRRBU"REQOAF4,IQ[&OX5?AK\4OB#\'?%D'CCX::G)I>IVYRLD?(8?W6
M4\,#Z$5^S/AK_@MIXPB\"2Z?XJ\-0OXB2(+%=Q$"!W!&2R?3/:O5R7B;#K#1
MH8MV<5:]KII?J?#>(O@QF\\XJ9ID*4X59<SCS<LH2;NWK:\;W=T[KL?T0Z1H
M^EZ!IL.C:);I:VMNH2**,855'0 5^%O_  6H_:$TN#P;H?[.'A^59KR_NQJ.
MI%&R88K?'E(<?\]&+9'M7COQ9_X+3^/-<\(KH?PHT&/2]4E@1)K^XPX20J-Y
MC7GOG;FOQ>\6>+O%'CSQ%<^+?&=]+J6I7C%YIY3EF)_D/8<5GG_$E"IAY8;"
MN_-HWT2[?/8[/"SP=S/"9K3SG/(J"I-RC"_-*4^DG;1)/5:W;2NK'.U_3#_P
M1%_Y(%XF_P"PR?Y&OYGJ_:G_ ()-_M;^%_A5?VW[.>IV$T]_XOU@F"X3&R/*
M,WS<CTKP.&*].EF$)5'9--?-['ZEXT99BL=PKB*6$@Y2C*,VE_+%MR?R6I_2
M_7%>._ASX'^)VAR>&_'NF0:I9R @QSH&QGTSTKQW]K+]I7P]^R=\+Q\4/%%I
M+>VQNDM/+A^]ND( /;UK\[=)_P""T_P=U'5[33;C0KRWCN9DB:5B-L8<X+'G
MH.IK]*Q>:8.C/V.(FDWT?9G\<9#P5Q#F-!9EE6&G*$6TI1:5G'5VU3NC?^+?
M_!&7X#>,[J75/AQJUWX9F?YO)"B>'=_WTI KX+^(/_!%O]H'PU!+>>"M<L=?
M5 2L6TPO@?\ ?7-?OGHG[6O[.&OVZW-AXPTW# '#SJIY^IJSK?[5G[.GAZPD
MU34O&&F"*(%FV3JS8'H 2:\S$9'E-:\K)>:=OUL?:Y3XD\>Y>XT$ZE1+3EJ4
M^9^E[<WXG\5'CSP%XO\ ACXJNO!/CNQDT[4[,XDAD&#[$>H/K7TY_P $^_B3
MJGPN_:X\)ZM82F.#49_L%VH/^LBFXP?Q.:M_\% _V@_#'[2W[2%WX]\%Q;=+
MLK9+""4KM,X0Y,A[]>!GM7"_L6^&KKQ?^U=X&T*U!+/J*2$CL(OF.?RK\\I1
MC2S&,</*Z4U9]]3^L\96J8[A2K5S:C[.<Z$G4A_*^1MKY;]T_-'])/\ P5AQ
M_P ,7>(R.A:(C\37\C(Z"OZ^O^"J.ES7O[$WBUXAG[(D3GZ*<5_(*OW17M<9
M+_;8_P"%?FS\Y^CO)/ANLETK2_\ 28']+_\ P1(_Y(1XA_[";?UK]JJ_E/\
M^"=/[?7@S]DS0-:\$_$6QGGL-0G6Y@FMQN9&Q\P(]SS7["_ S_@I_P#!#X_?
M%C3?A/X/M+N*ZU(/LEG7:H**6Q^.*^ER#-<(L'1H.HE/:W6]S\=\5>!L^GQ!
MF&9T\)*6';<^=?#RJ*;>_2VI\P?\%Q/^26^"_P#L)2_^@K7\WLW^J;Z&OZ0_
M^"XH(^%W@L'MJ4O\EK^;R7_5-]#7R'%G_(RGZ1_(_?O K_DD,-_BJ?\ I;/[
M"O\ @E__ ,F8>%/]Q_YU^@5?FU_P3-\8>%-,_8X\+6>HZE;03(CAHY)55ASW
M!.:_2"&:&YB6XMV#HX!5E.00>X-?I&5M/!T;/[*_(_CSCFG*/$&8.2:3K5/_
M $IGGOQ?^&^D?%_X8ZW\-=;0/!J]K)!\W(#,#@_@:_A>\7>%]2\"^,-7\#:R
MI6\T:\FLIP1@AX6P>*_OHK^6[_@L1\ 8_AS\>K?XRZ'!Y>G>,E+76T85;Z/[
MQ^L@.?\ @-?.<98'VE".)BM8Z/T?^3_,_7_H\\3+#9G7R:M+W:ZYH?XX;K_M
MZ-__  %'R7^P3\=G_9W_ &H_#WC:\E\O2+QFL-4!.%-M*,Y^H<*<^@K$_;4^
M-\W[0/[2/B+QVDF^PBG:SL>?^6$!VY^C$%A[&OE>BO@OKM3ZK]4O[O-S?A;_
M (/J?U(N',&LY>><O[]T_97\N;FOZ]+]M#N/AE\.-;^+_P 1-%^&'AW(NM;N
MH[8.HR8T8@,^.^P<U_<[\.? ^B_#3P!HWP^\.Q"&RT:TCM8D48 "#G\SDU_.
MM_P1<^!L'B_XE:[\<M6A\RV\.#[#:L1P+J1<M@^H5E/XU_2VS*BEW(55&22<
M #W-?H'!V!5/#2Q,MY_DO^"?RG](+B=XS-Z63TG[F'5Y?XYI/\(V7E=BT5GV
M&K:7J@8Z9<Q7&SAO+<-CZX-:%?87/Y^::=F@HHHH$%%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %>>_%S_ ))1XE_[!MQ_Z#7H5>>_%S_DE'B7_L&W'_H-14^"7HSJ
MP7^\TO\ %'\T?P<?\Q*/_KZB_P#1BU_H7> _^1'T;_KQM_\ T6M?YZ/_ #$H
M_P#KZB_]&+7^A=X#_P"1'T;_ *\;?_T6M?"<#?'B/^W?_;C^G?I+_P '*_6K
M^5,ZNBBBOT(_E __U?[^**** "BBB@#^:?\ X+Z?\C=\-/\ KA??TK@?^"'?
M_)3_ !G_ ->$7\WKOO\ @OI_R-WPT_ZX7W]*X'_@AW_R4_QG_P!>$7\WK\Y?
M_)2OU7_I"/Z[H_\ )G?^W'_Z?9_2-1117Z$?R8%%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% 'Y"_\%I[Z^L/V6-*DL)Y+=FUN)2T3E"1@<9!%?R[3W=Y=[3>W
M,MQLSM\Z1I-N>N-Q.,^U?W,?'C]G_P"&O[2'@^'P+\4[1KS3H+A;E45BA$BX
MP<CGM7R3_P .I/V-_P#H!2_]_F_QKXK/N'L3C<4ZU*24;):M]/D?T=X7^+62
M\.Y''+L=3J.HISE>,4U:5K:N2?0_D7RM:-EJNK6]U;);W]U&JS1 *D[JH&X=
M &P*_K7_ .'4G[&__0"E_P"_S?\ Q5.3_@E/^QQ'(LJ:%+N1@P_?-U4Y'>O&
M7!V-7VH_>_\ (_0Y?2$X:DK.C5_\!C_\D?>'P\9F^'GAYV)).E61)/4GR$KX
M _;R_P"">OA?]JBP'C7P@8M*\8V:%4GP%2Z7LDN/T/;-?I#IFGVVD:9:Z19#
M;#:0QP1CT2)0J_H!5VOT3$X.EB*+HUE=,_DK*.(,;E.8+,LMJ.%1-M>:?1K9
MI]4?PD?%;X*_%7X(^))_"_Q-T.[TR> D>9)$WDN.S+)C:0?8UY8)$;D$&O[X
MO%_@CP=X_P!..E>-M,MM4MR,;;B,/CZ'K^M?%_B;_@F;^QYXHNFOKGPNL$KG
M),,C(/R!Q7PV*X*J*3>'J)KSW_ _IG)/I&X*5)1S;"2C/JZ;4HOY-IKTNS^.
MPR1K]Y@*[S0OAA\2?$^@:AXJT#0;^ZTS2XC-=720.88XQW+8Q^M?UU^#O^"<
M7[(7@J[2_P!.\*Q3S1G(-P[2 _4$XKZXB\">#;;PM/X*L=,MK?2KF)H9+:*,
M*C(PP00!S^.:,/P54=W7JI>FOYCS7Z1^"BU'+L%*6JNYM1TOK9*^MMM4?P0A
MU89!KZN_81(_X;0^&O\ V&!_Z*DK^CN7_@E+^QS+*TIT*4;B3@3-CG\:Z[X>
M_P#!-S]EKX7^.M*^(OA+2)8=4T:?[1:R&5B%DVE<D9P>">M98;A'&4ZU.HY1
MLI)[OHT^QUYSX]\/8O+L3A:=*JI5*<XJ\8VO*+2O[VUV>7_\%@?!_BSQM^R<
MVF>#M-N=4N8=6MYGBM8FE<1JPRVU03@5_*3J6D:UH\C1:U8W-FRG!%Q$T?\
MZ$!7]_3'?G> 0W4$9!_"O//%/PE^%_C=2/%OAZPO\C&9(%S^@%>]G7#7UZM[
M>-3E=DK6NM+_ .9^6^''C%_JSEW]F5<)[2'/*7,I6?O6TLTUT[G\&:M"?N-^
M1Q3R58?.VX>YS7]FWB7_ ()X_LB>*I6FU/PC;HS=?)9HQ^AKSK_AU7^QJ9_-
M_P"$??&<[?.?'\Z^=EP7BT])Q_'_ "/UZC](KA^4;U,/6B_2+_'F7Y'\B=O%
M+=SI9V,;3S.<)'$I=V/H%')K^BG_ ()-?L0^*_ .J3?M'_%RR>QNKBV,&D6,
MZ;9$5_O3.#RI()"C@]Z_4+X9_L<?LV_"*Z2^\$^%;2&XCY265?-=3Z@MFOIP
MG/'IP!V%>WD_"JPU55\1/FDMDMD^_F?FWB%XXRSG U,KRJ@Z=*II.4FN9QZQ
M26B3ZN[=M.IY;\;/AII_QC^$^O\ PSU,#R]7M)(06Z!R/E)_&OX?OB3\-?&G
MP=\9ZA\/_']C-87^FSO WG(4638<!T) #*>H(R#7]Z5>2?%+X$?"/XT6?V3X
ME:%:ZH0-JR2)^\ ]F'-=^?9"LP491ERSC]S78^6\+O%"7"LZU"O2=3#U&FTG
M:49+2ZOH[K1K39:G\*&]?45]&_L?>,H? G[4O@;Q-+(%2+4XXCSC/G$(!^M?
MTTW7_!+#]C2YNOM"^'&C&<E5F?'\Z];\!_L*?LL?#B]AU'PSX3MA/ RO&\N9
M"KJ<@C)Z@U\WA>$,93JQJ.<59I]>C/V+.?'_ (?Q.!K8:&&JR=2$HV:BOB36
M_,^_8_.[_@N*X?X6^"I?[^HR-^:J:_G RM?W$?'W]F7X3?M+:-8:!\5K)KRV
MTV0RP*KE-K$ =L=A7R__ ,.I/V-_^@%+_P!_F_\ BJ[L\X;Q.,Q<J]*2LTM[
M]%Z'S/AKXP9+D&0TLLQE.HZD7-OE2:]Z3:WDC^22WU/5+=XH[:]N8D$B82.9
MT4<CH 0!7]S7[/4DDOP,\)RRL79M,MR68Y).P=2:^01_P2E_8X5@RZ%+E2"/
MWS=1^-?H)X9\.Z9X2\/67AC1D\NTL(5@A4G.$08 KNX=R6O@9U)5FG=+:_0^
M9\7/$?*N)Z&%IY="<73E)OF26Z2TLWV-ROAO_@HC\"H_CQ^R]KVE6D'G:GH\
M9U*R(&6#P@[@ON5)K[DKQ?X^_&[P'\ ?A=JWQ!\?7"1V]O;2+'"2-\\CJ0J*
M.^2?RKZ'&4Z<Z$X5G:+3OZ'Y/P[BL9ALTPM? 1<JT9Q<4MV[[?/9^1_"S;S+
M<0).O1P#5A(;FYE2TLD,L\S".)!U9W.% ^I.*M:EJ U?5KS65MUM!>W$EP+>
M/[D(D8ML7V7.![5]W_\ !-;X W'QZ_:@TU;NW,FC^&E_M2]<C,?R'$:D^I?;
M@5^*87#2KUH4(;R=O^#^I_H[G><4<KRZOF6)TC3BY->BT7JW9+NS^DO]A#X"
MVG[.O[,V@>!EA$=_=1_VAJ#[0'DN;@9.[U*KM3Z**[/]H>:2ZM=*\-W-R]I8
M7QG:8HYC,SQ)F.'<,$;R>@()Q7T> J@*@PH  'H!TKG?%/A/0?&FCOH?B* 3
MV[D,,\,K#HRGJ"*_:HX90H*A3T222^1_G+4SJIB<TGFF+;<YRE*3ZWE?5>E]
M/0_(K]F3Q7X_DL] \9Z_9R:-KDUU8Q+8_/&;R.ZA=I$,3G[J$!@V,\<FOV:D
M55D95.0"0#7DGA;X,^"O"FMQ^)+>.2YOH5*PRSMO,2_[/ QQQGTKUBIP.'E1
MI\LW<Z.*,XH9CBO;T(<J[?HNMETOW?2P4445V'S84444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 5Y[\7/\ DE'B7_L&W'_H->A5Y[\7/^24>)?^P;<?^@U%3X)>C.K!
M?[S2_P 4?S1_!Q_S$H_^OJ+_ -&+7^A=X#_Y$?1O^O&W_P#1:U_GH_\ ,2C_
M .OJ+_T8M?Z%W@/_ )$?1O\ KQM__1:U\)P-\>(_[=_]N/Z=^DO_  <K]:OY
M4SJZ***_0C^4#__6_OXHHHH **** /YI_P#@OI_R-WPT_P"N%]_2N!_X(=_\
ME/\ &?\ UX1?S>N^_P""^G_(W?#3_KA??TK@?^"'?_)3_&?_ %X1?S>OSE_\
ME*_5?^D(_KNC_P F=_[<?_I]G](U%%%?H1_)@4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %?"W[?G[6NM?L??"W2O'7AS3(=6O-2U#[(MO/)Y2E54,QR
M%;G'M7W37X2?\%R9-1O/!GPXT>QMYIU74+^XD,:,RC]RJC.!@'@XS7E9YB9X
M? U:M)VDDK?-I'W'AOE&&S3B7!8'&Q4J4I/F3NDU&$I6NFGJUT9X+K/_  7&
M^,=]8-;:/X#TVQG(XF-XTNT^NWRES^=?F)\=_P!I;XP_M(:]_;OQ2U1[I48M
M#:I\L$6?[JY_6O!9&\IMDRLC>C @UZK\,_@A\6_C%K46@_#C0+S4II2!N6,K
M&H/<NP"X_&ORROF6/QG[JI4<O)+]$E<_M_+.#>&.'G+&X3#4Z+2UFVW9?XIR
M=ODT>?:+HNK>)=:M/#F@0-=7U_*L,$*#+.[< "O[$OV!/V3[']E/X*PZ)?JL
MGB'6-MWJDV,'S"/EC[\(,#\,UX)^P?\ \$TO#/[.%U!\4OB@4U;QBJGR!]Z"
MRW#DH#U?'&[ .,^M?J_7W/#60RPJ^LXA>^]EV7^;/YG\9/%*EG;63Y3.^&B[
MSEM[22V2_NQW\WK;1!1117UY^ !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %>>_%S_ ))1XE_[!MQ_Z#7H5>>_%S_DE'B7_L&W'_H-14^"7HSJP7^\
MTO\ %'\T?P<?\Q*/_KZB_P#1BU_H7> _^1'T;_KQM_\ T6M?YZ/_ #$H_P#K
MZB_]&+7^A=X#_P"1'T;_ *\;?_T6M?"<#?'B/^W?_;C^G?I+_P '*_6K^5,Z
MNBBBOT(_E __U_[^**** "BBB@#^;_\ X+[:7(M]\,=:VG8YU&#=VRJHV/UK
MQ;_@A]J,<?QI\7Z43\TFEQR >P+5]^_\%Q_A=+XL_9GT?XE6JL\OA+5%8JH)
M/E7NV)R<=A@$D]*_%;_@EY\5K+X6_M?Z%%JDX@LO$*MILC'^*23B)?\ @3'%
M?F^/?U?B*-2>TG%_>N7\T?U[PO!YKX35\)0UG3C537G&?M;?^ M']@M%%%?H
MA_)04444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %4-0TG2=8@^RZQ:07D1
M_@GC61?R8$5?HH:ON--IW3U/,KCX)?!&\F^T7?@KP_+)UW/IELS?F8Z[C1M!
MT#PY:BQ\-V%MIT Z16L*0I_WR@ _2M6BHC3BG=(VJXJM4CRU*C:[-MA1115F
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 5YA\;KQ-/\ @OXL
MOI#A8M*N&)/^[7I]? O_  4Q^+-K\)OV1/$=T)Q#?:P%TZS4_P#+26;.5_[Y
M!/X5S8VM&EAZE26R3?X'L\.9?4QV:X3!TE>4ZD%]\E^1_'CI@.H:G9",;C/=
MP8'KNE6O]#[PU9-IOAW3].<;6M[:*,@]BB@?TK^#O]DGX5-\8_VE/ _PPB#>
M3?ZG"9BH)"109E)..@^3&:_O>KX_@:E+DKU7LW%?==O\T?T#])C&TWB<MP<7
M[T8U)M>4G%+_ -(D%%%%?>G\NG__T/[^**** "BBB@#R/X]?"S3/C;\'/$?P
MJU8?N=<L)K3/=6D4@$>X/0U_!1K^@^+_ (2^/;GP_>,UAKOAJ^*JZ\&*>W;*
M,OTX(K_0SK^9K_@L_P#L9:EH?B8?M:_#ZV,NG7JK!K\,:Y,,JYV7..X8'#^F
MT>O'QG&.6RJT(XJFO>AOZ=_D]?O/Z'^C]QA2P.85<DQ<DJ>(LXWV]HM+?]OK
M3S:2ZGZ^_LA?M":3^TW\ M!^*%F%BOI8%AU*W4Y\B[C&'7Z'J#7TQ7\;?[!O
M[:FO?LA_$H3:COO?!^LLL>J6:\F/)P)XN?O+GD<!@>>@K^P7PIXJ\-^.?#=I
MXO\ !]Y'J.F7\8D@N(3N1U/\CZBO2R#-XX[#J[_>1TDOU]'^9\=XI< UN&LT
MDZ<?]EJMNG+HNK@_./XJS[F_1117NGYB%%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M44 $\"@!0"3@5_+1_P %@OVEH_BM\:[3X*^%YA)H?@P%KAU.5GU"3AO;]T!A
M3_M&OU2_X*/_ +>6F?LR>"Y/AU\/IX[GQSK4;1Q@$.NGQ$<S2#^]S\B]R.<5
M_+[\-/AO\0_V@/BA8?#SP;')J>OZ_<<R2$G!<_/+(W.%7.2?YU\+Q9FO.EE]
M#63:YK?A'U;W/Z<\"^!G0E+BO-$H4H1E[/FTZ>]4?:*5TGUNVMDS]J_^"&O[
M/EUJWCC7_P!I#68<6VGPG2M.)'WGD(:5O^ [0 ?<U_377A'[-'P&\-?LU?!7
M0O@]X8/F1:5;JLTY&&N)R!YDK#U=N:]WKZG)<O\ J>$A1?Q;OU>_^1^)^(O%
M3XAS[$9C'^'?EA_@CI'[_B?FPHHHKU3X<__1_OXHHHH **** "L'Q1X8T#QI
MX?N_"OBFTCOM/OXFAG@E4,CHPP00:WJ*32:LRH3E"2G%V:V:/XRO^"@__!/3
MQK^R/XQN/%WA2"75/ &J7#M9W,2EWL2V6\B<#HH&0K]"!R0>#Y5^Q[^W3\6_
MV2?$ 319WUCPK=L#=Z/.Y:,?]-("?]6W7H0K=\G%?VZZYH6C>)M(N- \0VL5
M[97:&*:"90\;HW4$'@BOYYOVQ_\ @BLT[W/CW]D)D25F,DGA^YE"(Y8Y/V>5
MR F,_==MN.!Z5^?9IPYB,+5^N98WIKRK=>G=>7YG]6<&>+V4YW@%D/&48ZI1
M]I+X)=G-_8FOYUI?5N/7]!_@#_P4#_9C_:"LX(M$\0VVCZM+@'3M3D6UEWGC
M:AD*JYSP I)-?;(1V 91D$9!'((K^#CXF_!'XN?!S56TWXK>&;_0KF _ZRXB
M8(I!ZK*!M^A5J[3X<_M:_M+_  OM?LGPY\=:G9VV<^69!<K^'G!\#V&*6&XR
MG3_=XRC[R[:/[G_F/./H\X;%+ZSP]CU[.6RG[T?E4A>__@+]3^Y/8_H:-C>A
MK^.>W_X*<_MJV\?EGQ7YO^T\$>?T45/_ ,//_P!M7_H9T_[\)_\ $UZ/^N>"
M_EE]R_S/E7]';B+_ )_T?_ I?_(']B.QO0T;&]#7\=W_  \__;5_Z&=/^_"?
M_$T?\//_ -M7_H9T_P"_"?\ Q-'^N>"_EE]R_P Q?\2[<1_\_P"C_P"!2_\
MD#^Q'8WH:-C>AK^.[_AY_P#MJ_\ 0SI_WX3_ .)H_P"'G_[:O_0SI_WX3_XF
MC_7/!?RR^Y?YA_Q+MQ'_ ,_Z/_@4O_D#^Q'8WH:-C>AK^.[_ (>?_MJ_]#.G
M_?A/_B:/^'G_ .VK_P!#.G_?A/\ XFC_ %SP7\LON7^8?\2[<1_\_P"C_P"!
M2_\ D#^Q'8WH:-C>AK^.[_AY_P#MJ_\ 0SI_WX3_ .)H_P"'G_[:O_0SI_WX
M3_XFC_7/!?RR^Y?YA_Q+MQ'_ ,_Z/_@4O_D#^Q'8WH:-C>AK^.[_ (>?_MJ_
M]#.G_?A/_B:/^'G_ .VK_P!#.G_?A/\ XFC_ %SP7\LON7^8?\2[<1_\_P"C
M_P"!2_\ D#^Q'8WH:-C>AK^.[_AY_P#MJ_\ 0SI_WX3_ .)H_P"'G_[:O_0S
MI_WX3_XFC_7/!?RR^Y?YA_Q+MQ'_ ,_Z/_@4O_D#^Q'8WH:-C>AK^.[_ (>?
M_MJ_]#.G_?A/_B:/^'G_ .VK_P!#.G_?A/\ XFC_ %SP7\LON7^8?\2[<1_\
M_P"C_P"!2_\ D#^Q'8WH:-C>AK^.[_AY_P#MJ_\ 0SI_WX3_ .)H_P"'G_[:
MO_0SI_WX3_XFC_7/!?RR^Y?YA_Q+MQ'_ ,_Z/_@4O_D#^Q'8WH:-C>AK^.[_
M (>?_MJ_]#.G_?A/_B:/^'G_ .VK_P!#.G_?A/\ XFC_ %SP7\LON7^8?\2[
M<1_\_P"C_P"!2_\ D#^Q'8WH:-C>AK^.[_AY_P#MJ_\ 0SI_WX3_ .)H_P"'
MG_[:O_0SI_WX3_XFC_7/!?RR^Y?YA_Q+MQ'_ ,_Z/_@4O_D#^Q'8WH:-C>AK
M^.[_ (>?_MJ_]#.G_?A/_B:/^'G_ .VK_P!#.G_?A/\ XFC_ %SP7\LON7^8
M?\2[<1_\_P"C_P"!2_\ D#^Q'8WH:-C>AK^.[_AY_P#MJ_\ 0SI_WX3_ .)H
M_P"'G_[:O_0SI_WX3_XFC_7/!?RR^Y?YA_Q+MQ'_ ,_Z/_@4O_D#^Q'8WH:-
MC>AK^.[_ (>?_MJ_]#.G_?A/_B:/^'G_ .VK_P!#.G_?A/\ XFC_ %SP7\LO
MN7^8?\2[<1_\_P"C_P"!2_\ D#^Q'8WH:-C>AK^.[_AY_P#MJ_\ 0SI_WX3_
M .)H_P"'G_[:O_0SI_WX3_XFC_7/!?RR^Y?YA_Q+MQ'_ ,_Z/_@4O_D#^Q'8
MWH:-C>AK^.[_ (>?_MJ_]#.G_?A/_B:/^'G_ .VK_P!#.G_?A/\ XFC_ %SP
M7\LON7^8?\2[<1_\_P"C_P"!2_\ D#^Q'8WH:-C>AK^.[_AY_P#MJ_\ 0SI_
MWX3_ .)H_P"'G_[:O_0SI_WX3_XFC_7/!?RR^Y?YA_Q+MQ'_ ,_Z/_@4O_D#
M^Q'8WH:-C>AK^.[_ (>?_MJ_]#.G_?A/_B:/^'G_ .VK_P!#.G_?A/\ XFC_
M %SP7\LON7^8?\2[<1_\_P"C_P"!2_\ D#^Q'8WH:-C>AK^.[_AY_P#MJ_\
M0SI_WX3_ .)H_P"'G_[:O_0SI_WX3_XFC_7/!?RR^Y?YA_Q+MQ'_ ,_Z/_@4
MO_D#^Q'8WH:-C>AK^.[_ (>?_MJ_]#.G_?A/_B:/^'G_ .VK_P!#.G_?A/\
MXFC_ %SP7\LON7^8?\2[<1_\_P"C_P"!2_\ D#^Q'8WH:-C>AK^.[_AY_P#M
MJ_\ 0SI_WX3_ .)H_P"'G_[:O_0SI_WX3_XFC_7/!?RR^Y?YA_Q+MQ'_ ,_Z
M/_@4O_D#^Q'8WH:-C>AK^.[_ (>?_MJ_]#.G_?A/_B:/^'G_ .VK_P!#.G_?
MA/\ XFC_ %SP7\LON7^8?\2[<1_\_P"C_P"!2_\ D#^Q'8WH:-C>AK^.[_AY
M_P#MJ_\ 0SI_WX3_ .)H_P"'G_[:O_0SI_WX3_XFC_7/!?RR^Y?YA_Q+MQ'_
M ,_Z/_@4O_D#^Q'8WH:-C>AK^.[_ (>?_MJ_]#.G_?A/_B:/^'G_ .VK_P!#
M.G_?A/\ XFC_ %SP7\LON7^8?\2[<1_\_P"C_P"!2_\ D#^Q'8WH:-C>AK^.
M[_AY_P#MJ_\ 0SI_WX3_ .)H_P"'G_[:O_0SI_WX3_XFC_7/!?RR^Y?YA_Q+
MMQ'_ ,_Z/_@4O_D#^Q'8WH:-C>AK^.[_ (>?_MJ_]#.G_?A/_B:/^'G_ .VK
M_P!#.G_?A/\ XFC_ %SP7\LON7^8?\2[<1_\_P"C_P"!2_\ D#^Q'8WH:-C>
MAK^.[_AY_P#MJ_\ 0SI_WX3_ .)H_P"'G_[:O_0SI_WX3_XFC_7/!?RR^Y?Y
MA_Q+MQ'_ ,_Z/_@4O_D#^Q'8WH:-C>AK^.[_ (>?_MJ_]#.G_?A/_B:/^'G_
M .VK_P!#.G_?A/\ XFC_ %SP7\LON7^8?\2[<1_\_P"C_P"!2_\ D#^Q'8WH
M:-C>AK^.[_AY_P#MJ_\ 0SI_WX3_ .)H_P"'G_[:O_0SI_WX3_XFC_7/!?RR
M^Y?YA_Q+MQ'_ ,_Z/_@4O_D#^Q'8WH:-C>AK^.[_ (>?_MJ_]#.G_?A/_B:/
M^'G_ .VK_P!#.G_?A/\ XFC_ %SP7\LON7^8?\2[<1_\_P"C_P"!2_\ D#^Q
M'8WH:-C>AK^.[_AY_P#MJ_\ 0SI_WX3_ .)H_P"'G_[:O_0SI_WX3_XFC_7/
M!?RR^Y?YA_Q+MQ'_ ,_Z/_@4O_D#^Q'8WH:-C>AK^.[_ (>?_MJ_]#.G_?A/
M_B:/^'G_ .VK_P!#.G_?A/\ XFC_ %SP7\LON7^8?\2[<1_\_P"C_P"!2_\
MD#^Q'8WH:-C>AK^.[_AY_P#MJ_\ 0SI_WX3_ .)H_P"'G_[:O_0SI_WX3_XF
MC_7/!?RR^Y?YA_Q+MQ'_ ,_Z/_@4O_D#^Q'8WH:-C>AK^.[_ (>?_MJ_]#.G
M_?A/_B:/^'G_ .VK_P!#.G_?A/\ XFC_ %SP7\LON7^8?\2[<1_\_P"C_P"!
M2_\ D#^Q'8WH:-C>AK^.[_AY_P#MJ_\ 0SI_WX3_ .)H_P"'G_[:O_0SI_WX
M3_XFC_7/!?RR^Y?YA_Q+MQ'_ ,_Z/_@4O_D#^Q'8WH:-C>AK^.[_ (>?_MJ_
M]#.G_?A/_B:/^'G_ .VK_P!#.G_?A/\ XFC_ %SP7\LON7^8?\2[<1_\_P"C
M_P"!2_\ D#^Q'8WH:-C>AK^.[_AY_P#MJ_\ 0SI_WX3_ .)H_P"'G_[:O_0S
MI_WX3_XFC_7/!?RR^Y?YA_Q+MQ'_ ,_Z/_@4O_D#^Q'8WH:-C>AK^.[_ (>?
M_MJ_]#.G_?A/_B:/^'G_ .VK_P!#.G_?A/\ XFC_ %SP7\LON7^8?\2[<1_\
M_P"C_P"!2_\ D#^Q'8WH:-C>AK^.[_AY_P#MJ_\ 0SI_WX3_ .)H_P"'G_[:
MO_0SI_WX3_XFC_7/!?RR^Y?YA_Q+MQ'_ ,_Z/_@4O_D#^Q'8WH:-C>AK^.[_
M (>?_MJ_]#.G_?A/_B:/^'G_ .VK_P!#.G_?A/\ XFC_ %SP7\LON7^8?\2[
M<1_\_P"C_P"!2_\ D#^Q'8WH:-C>AK^.[_AY_P#MJ_\ 0SI_WX3_ .)H_P"'
MG_[:O_0SI_WX3_XFC_7/!?RR^Y?YA_Q+MQ'_ ,_Z/_@4O_D#^Q'8WH:-C>AK
M^.[_ (>?_MJ_]#.G_?A/_B:/^'G_ .VK_P!#.G_?A/\ XFC_ %SP7\LON7^8
M?\2[<1_\_P"C_P"!2_\ D#^Q'8WH:-C>AK^.[_AY_P#MJ_\ 0SI_WX3_ .)H
M_P"'G_[:O_0SI_WX3_XFC_7/!?RR^Y?YA_Q+MQ'_ ,_Z/_@4O_D#^Q'8WH:-
MC>AK^.[_ (>?_MJ_]#.G_?A/_B:/^'G_ .VK_P!#.G_?A/\ XFC_ %SP7\LO
MN7^8?\2[<1_\_P"C_P"!2_\ D#^Q'8WH:-C>AK^.[_AY_P#MJ_\ 0SI_WX3_
M .)H_P"'G_[:O_0SI_WX3_XFC_7/!?RR^Y?YA_Q+MQ'_ ,_Z/_@4O_D#^Q'8
MWH:-C>AK^.[_ (>?_MJ_]#.G_?A/_B:/^'G_ .VK_P!#.G_?A/\ XFC_ %SP
M7\LON7^8?\2[<1_\_P"C_P"!2_\ D#^Q'8WH:-C>AK^.[_AY_P#MJ_\ 0SI_
MWX3_ .)H_P"'G_[:O_0SI_WX3_XFC_7/!?RR^Y?YA_Q+MQ'_ ,_Z/_@4O_D#
M^Q'8WH:-C>AK^.[_ (>?_MJ_]#.G_?A/_B:/^'G_ .VK_P!#.G_?A/\ XFC_
M %SP7\LON7^8?\2[<1_\_P"C_P"!2_\ D#^Q'8WH:-C>AK^.[_AY_P#MJ_\
M0SI_WX3_ .)H_P"'G_[:O_0SI_WX3_XFC_7/!?RR^Y?YA_Q+MQ'_ ,_Z/_@4
MO_D#^Q'8WH:-C>AK^.[_ (>?_MJ_]#.G_?A/_B:/^'G_ .VK_P!#.G_?A/\
MXFC_ %SP7\LON7^8?\2[<1_\_P"C_P"!2_\ D#^Q'8WH:-C>AK^.[_AY_P#M
MJ_\ 0SI_WX3_ .)H_P"'G_[:O_0SI_WX3_XFC_7/!?RR^Y?YA_Q+MQ'_ ,_Z
M/_@4O_D#^Q'8WH:-C>AK^.[_ (>?_MJ_]#.G_?A/_B:/^'G_ .VK_P!#.G_?
MA/\ XFC_ %SP7\LON7^8?\2[<1_\_P"C_P"!2_\ D#^Q'8WH:-C>AK^.[_AY
M_P#MJ_\ 0SI_WX3_ .)H_P"'G_[:O_0SI_WX3_XFC_7/!?RR^Y?YA_Q+MQ'_
M ,_Z/_@4O_D#^Q'8WH:-C>AK^.[_ (>?_MJ_]#.G_?A/_B:/^'G_ .VK_P!#
M.G_?A/\ XFC_ %SP7\LON7^8?\2[<1_\_P"C_P"!2_\ D#^Q'8WH:-C>AK^.
M[_AY_P#MJ_\ 0SI_WX3_ .)H_P"'G_[:O_0SI_WX3_XFC_7/!?RR^Y?YA_Q+
MMQ'_ ,_Z/_@4O_D#^Q'8WH:-C>AK^.[_ (>?_MJ_]#.G_?A/_B:/^'G_ .VK
M_P!#.G_?A/\ XFC_ %SP7\LON7^8?\2[<1_\_P"C_P"!2_\ D#^Q'8WH:-C>
MAK^.[_AY_P#MJ_\ 0SI_WX3_ .)H_P"'G_[:O_0SI_WX3_XFC_7/!?RR^Y?Y
MA_Q+MQ'_ ,_Z/_@4O_D#^Q'8WH:-C>AK^.[_ (>?_MJ_]#.G_?A/_B:/^'G_
M .VK_P!#.G_?A/\ XFC_ %SP7\LON7^8?\2[<1_\_P"C_P"!2_\ D#^Q'8WH
M:-C>AK^.[_AY_P#MJ_\ 0SI_WX3_ .)H_P"'G_[:O_0SI_WX3_XFC_7/!?RR
M^Y?YA_Q+MQ'_ ,_Z/_@4O_D#^Q'8WH:-C>AK^.[_ (>?_MJ_]#.G_?A/_B:/
M^'G_ .VK_P!#.G_?A/\ XFC_ %SP7\LON7^8?\2[<1_\_P"C_P"!2_\ D#^Q
M'8WH:-C>AK^.[_AY_P#MJ_\ 0SI_WX3_ .)H_P"'G_[:O_0SI_WX3_XFC_7/
M!?RR^Y?YA_Q+MQ'_ ,_Z/_@4O_D#^Q'8WH:-C>AK^.[_ (>?_MJ_]#.G_?A/
M_B:/^'G_ .VK_P!#.G_?A/\ XFC_ %SP7\LON7^8?\2[<1_\_P"C_P"!2_\
MD#^Q'8WH:-C>AK^.[_AY_P#MJ_\ 0SI_WX3_ .)H_P"'G_[:O_0SI_WX3_XF
MC_7/!?RR^Y?YA_Q+MQ'_ ,_Z/_@4O_D#^Q'8WH:-C>AK^.[_ (>?_MJ_]#.G
M_?A/_B:/^'G_ .VK_P!#.G_?A/\ XFC_ %SP7\LON7^8?\2[<1_\_P"C_P"!
M2_\ D#^Q'8WH:-C>AK^.[_AY_P#MJ_\ 0SI_WX3_ .)H_P"'G_[:O_0SI_WX
M3_XFC_7/!?RR^Y?YA_Q+MQ'_ ,_Z/_@4O_D#^Q'8WH:-C>AK^.[_ (>?_MJ_
M]#.G_?A/_B:/^'G_ .VK_P!#.G_?A/\ XFC_ %SP7\LON7^8?\2[<1_\_P"C
M_P"!2_\ D#^Q'8WH:-C>AK^.[_AY_P#MJ_\ 0SI_WX3_ .)H_P"'G_[:O_0S
MI_WX3_XFC_7/!?RR^Y?YA_Q+MQ'_ ,_Z/_@4O_D#^Q'8WH:-C>AK^.[_ (>?
M_MJ_]#.G_?A/_B:/^'G_ .VK_P!#.G_?A/\ XFC_ %SP7\LON7^8?\2[<1_\
M_P"C_P"!2_\ D#^Q'8WH:-C>AK^.[_AY_P#MJ_\ 0SI_WX3_ .)H_P"'G_[:
MO_0SI_WX3_XFC_7/!?RR^Y?YA_Q+MQ'_ ,_Z/_@4O_D#^Q'8WH:-C>AK^.[_
M (>?_MJ_]#.G_?A/_B:/^'G_ .VK_P!#.G_?A/\ XFC_ %SP7\LON7^8?\2[
M<1_\_P"C_P"!2_\ D#^Q'8WH:-C>AK^.[_AY_P#MJ_\ 0SI_WX3_ .)H_P"'
MG_[:O_0SI_WX3_XFC_7/!?RR^Y?YA_Q+MQ'_ ,_Z/_@4O_D#^Q'8WH:-C>AK
M^.[_ (>?_MJ_]#.G_?A/_B:/^'G_ .VK_P!#.G_?A/\ XFC_ %SP7\LON7^8
M?\2[<1_\_P"C_P"!2_\ D#^Q'8WH:-C>AK^.[_AY_P#MJ_\ 0SI_WX3_ .)H
M_P"'G_[:O_0SI_WX3_XFC_7/!?RR^Y?YA_Q+MQ'_ ,_Z/_@4O_D#^Q'8WH:-
MC>AK^.[_ (>?_MJ_]#.G_?A/_B:/^'G_ .VK_P!#.G_?A/\ XFC_ %SP7\LO
MN7^8?\2[<1_\_P"C_P"!2_\ D#^Q'8WH:-C>AK^.[_AY_P#MJ_\ 0SI_WX3_
M .)H_P"'G_[:O_0SI_WX3_XFC_7/!?RR^Y?YA_Q+MQ'_ ,_Z/_@4O_D#^Q'8
MWH:-C>AK^.[_ (>?_MJ_]#.G_?A/_B:/^'G_ .VK_P!#.G_?A/\ XFC_ %SP
M7\LON7^8?\2[<1_\_P"C_P"!2_\ D#^Q'8WH:-C>AK^.[_AY_P#MJ_\ 0SI_
MWX3_ .)H_P"'G_[:O_0SI_WX3_XFC_7/!?RR^Y?YA_Q+MQ'_ ,_Z/_@4O_D#
M^Q'8WH:-C>AK^.[_ (>?_MJ_]#.G_?A/_B:/^'G_ .VK_P!#.G_?A/\ XFC_
M %SP7\LON7^8?\2[<1_\_P"C_P"!2_\ D#^Q'8WH:-C>AK^.[_AY_P#MJ_\
M0SI_WX3_ .)H_P"'G_[:O_0SI_WX3_XFC_7/!?RR^Y?YA_Q+MQ'_ ,_Z/_@4
MO_D#^Q'8WH:-C>AK^.[_ (>?_MJ_]#.G_?A/_B:/^'G_ .VK_P!#.G_?A/\
MXFC_ %SP7\LON7^8?\2[<1_\_P"C_P"!2_\ D#^Q'8WH:-C>AK^.[_AY_P#M
MJ_\ 0SI_WX3_ .)H_P"'G_[:O_0SI_WX3_XFC_7/!?RR^Y?YA_Q+MQ'_ ,_Z
M/_@4O_D#^Q'8WH:-C>AK^.[_ (>?_MJ_]#.G_?A/_B:/^'G_ .VK_P!#.G_?
MA/\ XFC_ %SP7\LON7^8?\2[<1_\_P"C_P"!2_\ D#^Q'8WH:-C>AK^.[_AY
M_P#MJ_\ 0SI_WX3_ .)H_P"'G_[:O_0SI_WX3_XFC_7/!?RR^Y?YA_Q+MQ'_
M ,_Z/_@4O_D#^Q'8WH:-C>AK^.[_ (>?_MJ_]#.G_?A/_B:/^'G_ .VK_P!#
M.G_?A/\ XFC_ %SP7\LON7^8?\2[<1_\_P"C_P"!2_\ D#^Q'8WH:-C>AK^.
M[_AY_P#MJ_\ 0SI_WX3_ .)H_P"'G_[:O_0SI_WX3_XFC_7/!?RR^Y?YA_Q+
MMQ'_ ,_Z/_@4O_D#^Q'8WH:-C>AK^.[_ (>?_MJ_]#.G_?A/_B:/^'G_ .VK
M_P!#.G_?A/\ XFC_ %SP7\LON7^8?\2[<1_\_P"C_P"!2_\ D#^Q'8WH:-C>
MAK^.[_AY_P#MJ_\ 0SI_WX3_ .)H_P"'G_[:O_0SI_WX3_XFC_7/!?RR^Y?Y
MA_Q+MQ'_ ,_Z/_@4O_D#^Q'8WH:-C>AK^.[_ (>?_MJ_]#.G_?A/_B:/^'G_
M .VK_P!#.G_?A/\ XFC_ %SP7\LON7^8?\2[<1_\_P"C_P"!2_\ D#^Q'8WH
M:-C>AK^.[_AY_P#MJ_\ 0SI_WX3_ .)H_P"'G_[:O_0SI_WX3_XFC_7/!?RR
M^Y?YA_Q+MQ'_ ,_Z/_@4O_D#^Q'8WH:-C>AK^.[_ (>?_MJ_]#.G_?A/_B:/
M^'G_ .VK_P!#.G_?A/\ XFC_ %SP7\LON7^8?\2[<1_\_P"C_P"!2_\ D#^Q
M'8WH:-C>AK^.[_AY_P#MJ_\ 0SI_WX3_ .)H_P"'G_[:O_0SI_WX3_XFC_7/
M!?RR^Y?YA_Q+MQ'_ ,_Z/_@4O_D#^Q'8WH:-C>AK^.[_ (>?_MJ_]#.G_?A/
M_B:/^'G_ .VK_P!#.G_?A/\ XFC_ %SP7\LON7^8?\2[<1_\_P"C_P"!2_\
MD#^Q'8WH:-C>AK^.[_AY_P#MJ_\ 0SI_WX3_ .)H_P"'G_[:O_0SI_WX3_XF
MC_7/!?RR^Y?YA_Q+MQ'_ ,_Z/_@4O_D#^Q'8WH:-C>AK^.[_ (>?_MJ_]#.G
M_?A/_B:/^'G_ .VK_P!#.G_?A/\ XFC_ %SP7\LON7^8?\2[<1_\_P"C_P"!
M2_\ D#^Q'8WH:7RW_NG\J_CM_P"'G_[:O_0SI_WX3_XFN7U[_@HQ^VMKL+0-
MXZNK-&SN%O%",@]LF,FE+C3!I74)/Y+_ #+I_1TXAE*TL312[WF__;#^P3QW
M\1OA_P#"[2#KWQ(UNQT*S )$E].D&['.%#$%C[*":_$K]KK_ (+#:%8Z7=^"
M/V5E-WJ$@,9UN>,B*'/&Z)&&6;NI*D9K^?KQ!XJ\9?$S6S+XGU&^\1:C*Q;9
M-(]PY8]=L>2!_P !%?<O[.7_  3&_:M_:%U.TF.AOX6\/2D&75-4_=;4QG]W
M <2.3T&%V@]2*\C$<2X['-T<!2:OI=:O[]E_6I]WE?@YPUPW%9CQ-C(U.76T
MK0IZ?W;N53R77^5['Q586/Q%^,7CN/3K%;[Q/XEUJ=5&2T]Q/+(< LQ)PN3U
M)"J.X K^NK_@F]_P3ZTS]D7P6WBOQX(-0\=:PH:ZG092SB(X@B)YP/XFXR>.
M@%>W?LB_L(_!#]C_ $5E\#VGVW7+I +O5KH![B0@<A3T1?\ 94 >M?:M>YD'
M#2PC^L8EWJ=.R_S?F?FWBCXPRSRF\HR>+IX-;O:52VRLOA@ND=WI>VP4445]
M<?@P4444 ?_2_OXHHHH **** "BBB@ HHHH YGQ-X,\)>,[(Z=XLTRVU*!NJ
M7,2R+_X\#7Q1X]_X)@?L0_$6\EU+6_!%M#<R]9+622#'T5&"_I7W[17/7PE"
MLK5J:EZI/\SULMS[,LO?-@,3.D_[DY1_)H_)&?\ X(K?L3RR;X++4H5_NI=9
M'ZJ34/\ PY2_8M_Y]]5_\"A_\17ZZ45Q_P!B8#_GQ'[D?1+Q*XJ_Z&=;_P #
M9^1?_#E+]BW_ )]]5_\  H?_ !%'_#E+]BW_ )]]5_\  H?_ !%?KI11_8F7
M_P#/B/W(/^(E\5?]#.K_ .!L_(O_ (<I?L6_\^^J_P#@4/\ XBC_ (<I?L6_
M\^^J_P#@4/\ XBOUTHH_L3+_ /GQ'[D'_$2^*O\ H9U?_ V?D7_PY2_8M_Y]
M]5_\"A_\11_PY2_8M_Y]]5_\"A_\17ZZ44?V)E__ #XC]R#_ (B7Q5_T,ZO_
M (&S\B_^'*7[%O\ S[ZK_P"!0_\ B*/^'*7[%O\ S[ZK_P"!0_\ B*_72BC^
MQ,O_ .?$?N0?\1+XJ_Z&=7_P-GY%_P##E+]BW_GWU7_P*'_Q%'_#E+]BW_GW
MU7_P*'_Q%?KI11_8F7_\^(_<@_XB7Q5_T,ZO_@;/R+_X<I?L6_\ /OJO_@4/
M_B*/^'*7[%O_ #[ZK_X%#_XBOUTHH_L3+_\ GQ'[D'_$2^*O^AG5_P# V?D7
M_P .4OV+?^??5?\ P*'_ ,11_P .4OV+?^??5?\ P*'_ ,17ZZ44?V)E_P#S
MXC]R#_B)?%7_ $,ZO_@;/R+_ .'*7[%O_/OJO_@4/_B*/^'*7[%O_/OJO_@4
M/_B*_72BC^Q,O_Y\1^Y!_P 1+XJ_Z&=7_P #9^1?_#E+]BW_ )]]5_\  H?_
M !%'_#E+]BW_ )]]5_\  H?_ !%?KI11_8F7_P#/B/W(/^(E\5?]#.K_ .!L
M_(O_ (<I?L6_\^^J_P#@4/\ XBC_ (<I?L6_\^^J_P#@4/\ XBOUTHH_L3+_
M /GQ'[D'_$2^*O\ H9U?_ V?D7_PY2_8M_Y]]5_\"A_\11_PY2_8M_Y]]5_\
M"A_\17ZZ44?V)E__ #XC]R#_ (B7Q5_T,ZO_ (&S\B_^'*7[%O\ S[ZK_P"!
M0_\ B*/^'*7[%O\ S[ZK_P"!0_\ B*_72BC^Q,O_ .?$?N0?\1+XJ_Z&=7_P
M-GY%_P##E+]BW_GWU7_P*'_Q%'_#E+]BW_GWU7_P*'_Q%?KI11_8F7_\^(_<
M@_XB7Q5_T,ZO_@;/R+_X<I?L6_\ /OJO_@4/_B*/^'*7[%O_ #[ZK_X%#_XB
MOUTHH_L3+_\ GQ'[D'_$2^*O^AG5_P# V?D7_P .4OV+?^??5?\ P*'_ ,11
M_P .4OV+?^??5?\ P*'_ ,17ZZ44?V)E_P#SXC]R#_B)?%7_ $,ZO_@;/R+_
M .'*7[%O_/OJO_@4/_B*/^'*7[%O_/OJO_@4/_B*_72BC^Q,O_Y\1^Y!_P 1
M+XJ_Z&=7_P #9^1?_#E+]BW_ )]]5_\  H?_ !%'_#E+]BW_ )]]5_\  H?_
M !%?KI11_8F7_P#/B/W(/^(E\5?]#.K_ .!L_(O_ (<I?L6_\^^J_P#@4/\
MXBC_ (<I?L6_\^^J_P#@4/\ XBOUTHH_L3+_ /GQ'[D'_$2^*O\ H9U?_ V?
MD7_PY2_8M_Y]]5_\"A_\11_PY2_8M_Y]]5_\"A_\17ZZ44?V)E__ #XC]R#_
M (B7Q5_T,ZO_ (&S\B_^'*7[%O\ S[ZK_P"!0_\ B*/^'*7[%O\ S[ZK_P"!
M0_\ B*_72BC^Q,O_ .?$?N0?\1+XJ_Z&=7_P-GY%_P##E+]BW_GWU7_P*'_Q
M%'_#E+]BW_GWU7_P*'_Q%?KI11_8F7_\^(_<@_XB7Q5_T,ZO_@;/R+_X<I?L
M6_\ /OJO_@4/_B*/^'*7[%O_ #[ZK_X%#_XBOUTHH_L3+_\ GQ'[D'_$2^*O
M^AG5_P# V?D7_P .4OV+?^??5?\ P*'_ ,11_P .4OV+?^??5?\ P*'_ ,17
MZZ44?V)E_P#SXC]R#_B)?%7_ $,ZO_@;/R+_ .'*7[%O_/OJO_@4/_B*/^'*
M7[%O_/OJO_@4/_B*_72BC^Q,O_Y\1^Y!_P 1+XJ_Z&=7_P #9^1?_#E+]BW_
M )]]5_\  H?_ !%'_#E+]BW_ )]]5_\  H?_ !%?KI11_8F7_P#/B/W(/^(E
M\5?]#.K_ .!L_(O_ (<I?L6_\^^J_P#@4/\ XBC_ (<I?L6_\^^J_P#@4/\
MXBOUTHH_L3+_ /GQ'[D'_$2^*O\ H9U?_ V?D7_PY2_8M_Y]]5_\"A_\11_P
MY2_8M_Y]]5_\"A_\17ZZ44?V)E__ #XC]R#_ (B7Q5_T,ZO_ (&S\B_^'*7[
M%O\ S[ZK_P"!0_\ B*/^'*7[%O\ S[ZK_P"!0_\ B*_72BC^Q,O_ .?$?N0?
M\1+XJ_Z&=7_P-GY%_P##E+]BW_GWU7_P*'_Q%'_#E+]BW_GWU7_P*'_Q%?KI
M11_8F7_\^(_<@_XB7Q5_T,ZO_@;/R+_X<I?L6_\ /OJO_@4/_B*/^'*7[%O_
M #[ZK_X%#_XBOUTHH_L3+_\ GQ'[D'_$2^*O^AG5_P# V?D7_P .4OV+?^??
M5?\ P*'_ ,11_P .4OV+?^??5?\ P*'_ ,17ZZ44?V)E_P#SXC]R#_B)?%7_
M $,ZO_@;/R+_ .'*7[%O_/OJO_@4/_B*/^'*7[%O_/OJO_@4/_B*_72BC^Q,
MO_Y\1^Y!_P 1+XJ_Z&=7_P #9^1?_#E+]BW_ )]]5_\  H?_ !%'_#E+]BW_
M )]]5_\  H?_ !%?KI11_8F7_P#/B/W(/^(E\5?]#.K_ .!L_(O_ (<I?L6_
M\^^J_P#@4/\ XBC_ (<I?L6_\^^J_P#@4/\ XBOUTHH_L3+_ /GQ'[D'_$2^
M*O\ H9U?_ V?D7_PY2_8M_Y]]5_\"A_\11_PY2_8M_Y]]5_\"A_\17ZZ44?V
M)E__ #XC]R#_ (B7Q5_T,ZO_ (&S\B_^'*7[%O\ S[ZK_P"!0_\ B*/^'*7[
M%O\ S[ZK_P"!0_\ B*_72BC^Q,O_ .?$?N0?\1+XJ_Z&=7_P-GY%_P##E+]B
MW_GWU7_P*'_Q%'_#E+]BW_GWU7_P*'_Q%?KI11_8F7_\^(_<@_XB7Q5_T,ZO
M_@;/R+_X<I?L6_\ /OJO_@4/_B*/^'*7[%O_ #[ZK_X%#_XBOUTHH_L3+_\
MGQ'[D'_$2^*O^AG5_P# V?D7_P .4OV+?^??5?\ P*'_ ,11_P .4OV+?^??
M5?\ P*'_ ,17ZZ44?V)E_P#SXC]R#_B)?%7_ $,ZO_@;/R+_ .'*7[%O_/OJ
MO_@4/_B*/^'*7[%O_/OJO_@4/_B*_72BC^Q,O_Y\1^Y!_P 1+XJ_Z&=7_P #
M9^1?_#E+]BW_ )]]5_\  H?_ !%'_#E+]BW_ )]]5_\  H?_ !%?KI11_8F7
M_P#/B/W(/^(E\5?]#.K_ .!L_(O_ (<I?L6_\^^J_P#@4/\ XBC_ (<I?L6_
M\^^J_P#@4/\ XBOUTHH_L3+_ /GQ'[D'_$2^*O\ H9U?_ V?D7_PY2_8M_Y]
M]5_\"A_\11_PY2_8M_Y]]5_\"A_\17ZZ44?V)E__ #XC]R#_ (B7Q5_T,ZO_
M (&S\B_^'*7[%O\ S[ZK_P"!0_\ B*/^'*7[%O\ S[ZK_P"!0_\ B*_72BC^
MQ,O_ .?$?N0?\1+XJ_Z&=7_P-GY%_P##E+]BW_GWU7_P*'_Q%'_#E+]BW_GW
MU7_P*'_Q%?KI11_8F7_\^(_<@_XB7Q5_T,ZO_@;/R+_X<I?L6_\ /OJO_@4/
M_B*/^'*7[%O_ #[ZK_X%#_XBOUTHH_L3+_\ GQ'[D'_$2^*O^AG5_P# V?D7
M_P .4OV+?^??5?\ P*'_ ,11_P .4OV+?^??5?\ P*'_ ,17ZZ44?V)E_P#S
MXC]R#_B)?%7_ $,ZO_@;/R+_ .'*7[%O_/OJO_@4/_B*/^'*7[%O_/OJO_@4
M/_B*_72BC^Q,O_Y\1^Y!_P 1+XJ_Z&=7_P #9^1?_#E+]BW_ )]]5_\  H?_
M !%'_#E+]BW_ )]]5_\  H?_ !%?KI11_8F7_P#/B/W(/^(E\5?]#.K_ .!L
M_(O_ (<I?L6_\^^J_P#@4/\ XBC_ (<I?L6_\^^J_P#@4/\ XBOUTHH_L3+_
M /GQ'[D'_$2^*O\ H9U?_ V?D7_PY2_8M_Y]]5_\"A_\11_PY2_8M_Y]]5_\
M"A_\17ZZ44?V)E__ #XC]R#_ (B7Q5_T,ZO_ (&S\B_^'*7[%O\ S[ZK_P"!
M0_\ B*/^'*7[%O\ S[ZK_P"!0_\ B*_72BC^Q,O_ .?$?N0?\1+XJ_Z&=7_P
M-GY%_P##E+]BW_GWU7_P*'_Q%'_#E+]BW_GWU7_P*'_Q%?KI11_8F7_\^(_<
M@_XB7Q5_T,ZO_@;/R+_X<I?L6_\ /OJO_@4/_B*/^'*7[%O_ #[ZK_X%#_XB
MOUTHH_L3+_\ GQ'[D'_$2^*O^AG5_P# V?D7_P .4OV+?^??5?\ P*'_ ,11
M_P .4OV+?^??5?\ P*'_ ,17ZZ44?V)E_P#SXC]R#_B)?%7_ $,ZO_@;/R+_
M .'*7[%O_/OJO_@4/_B*/^'*7[%O_/OJO_@4/_B*_72BC^Q,O_Y\1^Y!_P 1
M+XJ_Z&=7_P #9^1?_#E+]BW_ )]]5_\  H?_ !%'_#E+]BW_ )]]5_\  H?_
M !%?KI11_8F7_P#/B/W(/^(E\5?]#.K_ .!L_(O_ (<I?L6_\^^J_P#@4/\
MXBC_ (<I?L6_\^^J_P#@4/\ XBOUTHH_L3+_ /GQ'[D'_$2^*O\ H9U?_ V?
MD7_PY2_8M_Y]]5_\"A_\11_PY2_8M_Y]]5_\"A_\17ZZ44?V)E__ #XC]R#_
M (B7Q5_T,ZO_ (&S\B_^'*7[%O\ S[ZK_P"!0_\ B*/^'*7[%O\ S[ZK_P"!
M0_\ B*_72BC^Q,O_ .?$?N0?\1+XJ_Z&=7_P-GY%_P##E+]BW_GWU7_P*'_Q
M%'_#E+]BW_GWU7_P*'_Q%?KI11_8F7_\^(_<@_XB7Q5_T,ZO_@;/R+_X<I?L
M6_\ /OJO_@4/_B*/^'*7[%O_ #[ZK_X%#_XBOUTHH_L3+_\ GQ'[D'_$2^*O
M^AG5_P# V?D7_P .4OV+?^??5?\ P*'_ ,11_P .4OV+?^??5?\ P*'_ ,17
MZZ44?V)E_P#SXC]R#_B)?%7_ $,ZO_@;/R+_ .'*7[%O_/OJO_@4/_B*/^'*
M7[%O_/OJO_@4/_B*_72BC^Q,O_Y\1^Y!_P 1+XJ_Z&=7_P #9^1?_#E+]BW_
M )]]5_\  H?_ !%'_#E+]BW_ )]]5_\  H?_ !%?KI11_8F7_P#/B/W(/^(E
M\5?]#.K_ .!L_(O_ (<I?L6_\^^J_P#@4/\ XBC_ (<I?L6_\^^J_P#@4/\
MXBOUTHH_L3+_ /GQ'[D'_$2^*O\ H9U?_ V?D7_PY2_8M_Y]]5_\"A_\11_P
MY2_8M_Y]]5_\"A_\17ZZ44?V)E__ #XC]R#_ (B7Q5_T,ZO_ (&S\B_^'*7[
M%O\ S[ZK_P"!0_\ B*/^'*7[%O\ S[ZK_P"!0_\ B*_72BC^Q,O_ .?$?N0?
M\1+XJ_Z&=7_P-GY%_P##E+]BW_GWU7_P*'_Q%'_#E+]BW_GWU7_P*'_Q%?KI
M11_8F7_\^(_<@_XB7Q5_T,ZO_@;/R+_X<I?L6_\ /OJO_@4/_B*/^'*7[%O_
M #[ZK_X%#_XBOUTHH_L3+_\ GQ'[D'_$2^*O^AG5_P# V?D7_P .4OV+?^??
M5?\ P*'_ ,11_P .4OV+?^??5?\ P*'_ ,17ZZ44?V)E_P#SXC]R#_B)?%7_
M $,ZO_@;/R+_ .'*7[%O_/OJO_@4/_B*/^'*7[%O_/OJO_@4/_B*_72BC^Q,
MO_Y\1^Y!_P 1+XJ_Z&=7_P #9^1?_#E+]BW_ )]]5_\  H?_ !%'_#E+]BW_
M )]]5_\  H?_ !%?KI11_8F7_P#/B/W(/^(E\5?]#.K_ .!L_(O_ (<I?L6_
M\^^J_P#@4/\ XBC_ (<I?L6_\^^J_P#@4/\ XBOUTHH_L3+_ /GQ'[D'_$2^
M*O\ H9U?_ V?D7_PY2_8M_Y]]5_\"A_\11_PY2_8M_Y]]5_\"A_\17ZZ44?V
M)E__ #XC]R#_ (B7Q5_T,ZO_ (&S\B_^'*7[%O\ S[ZK_P"!0_\ B*/^'*7[
M%O\ S[ZK_P"!0_\ B*_72BC^Q,O_ .?$?N0?\1+XJ_Z&=7_P-GY%_P##E+]B
MW_GWU7_P*'_Q%'_#E+]BW_GWU7_P*'_Q%?KI11_8F7_\^(_<@_XB7Q5_T,ZO
M_@;/R+_X<I?L6_\ /OJO_@4/_B*/^'*7[%O_ #[ZK_X%#_XBOUTHH_L3+_\
MGQ'[D'_$2^*O^AG5_P# V?D7_P .4OV+?^??5?\ P*'_ ,11_P .4OV+?^??
M5?\ P*'_ ,17ZZ44?V)E_P#SXC]R#_B)?%7_ $,ZO_@;/R+_ .'*7[%O_/OJ
MO_@4/_B*/^'*7[%O_/OJO_@4/_B*_72BC^Q,O_Y\1^Y!_P 1+XJ_Z&=7_P #
M9^1?_#E+]BW_ )]]5_\  H?_ !%'_#E+]BW_ )]]5_\  H?_ !%?KI11_8F7
M_P#/B/W(/^(E\5?]#.K_ .!L_(O_ (<I?L6_\^^J_P#@4/\ XBC_ (<I?L6_
M\^^J_P#@4/\ XBOUTHH_L3+_ /GQ'[D'_$2^*O\ H9U?_ V?D7_PY2_8M_Y]
M]5_\"A_\11_PY2_8M_Y]]5_\"A_\17ZZ44?V)E__ #XC]R#_ (B7Q5_T,ZO_
M (&S\B_^'*7[%O\ S[ZK_P"!0_\ B*/^'*7[%O\ S[ZK_P"!0_\ B*_72BC^
MQ,O_ .?$?N0?\1+XJ_Z&=7_P-GY%_P##E+]BW_GWU7_P*'_Q%'_#E+]BW_GW
MU7_P*'_Q%?KI11_8F7_\^(_<@_XB7Q5_T,ZO_@;/R+_X<I?L6_\ /OJO_@4/
M_B*/^'*7[%O_ #[ZK_X%#_XBOUTHH_L3+_\ GQ'[D'_$2^*O^AG5_P# V?D7
M_P .4OV+?^??5?\ P*'_ ,11_P .4OV+?^??5?\ P*'_ ,17ZZ44?V)E_P#S
MXC]R#_B)?%7_ $,ZO_@;/R+_ .'*7[%O_/OJO_@4/_B*/^'*7[%O_/OJO_@4
M/_B*_72BC^Q,O_Y\1^Y!_P 1+XJ_Z&=7_P #9^1?_#E+]BW_ )]]5_\  H?_
M !%'_#E+]BW_ )]]5_\  H?_ !%?KI11_8F7_P#/B/W(/^(E\5?]#.K_ .!L
M_(O_ (<I?L6_\^^J_P#@4/\ XBC_ (<I?L6_\^^J_P#@4/\ XBOUTHH_L3+_
M /GQ'[D'_$2^*O\ H9U?_ V?D7_PY2_8M_Y]]5_\"A_\11_PY2_8M_Y]]5_\
M"A_\17ZZ44?V)E__ #XC]R#_ (B7Q5_T,ZO_ (&S\B_^'*7[%O\ S[ZK_P"!
M0_\ B*/^'*7[%O\ S[ZK_P"!0_\ B*_72BC^Q,O_ .?$?N0?\1+XJ_Z&=7_P
M-GY%_P##E+]BW_GWU7_P*'_Q%'_#E+]BW_GWU7_P*'_Q%?KI11_8F7_\^(_<
M@_XB7Q5_T,ZO_@;/R+_X<I?L6_\ /OJO_@4/_B*Z?0?^"-_["NCSB:^\.7&I
M8[7-W)@_]\%:_4VBA9)@%_RXC]R(J>(_%,URO,ZWRJ27Y,^=_AI^R;^SE\(8
M(H?A_P"$-.L#"<I)Y0DD'_ WRWZU]#(B1J$C 51T X IU%>A3I0IKEA%)>6A
M\IB\=B<54=7%593EWDVW][N%%%%:'*%%%% !1110!__3_OXHHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
# /_9

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>17
<FILENAME>fsly-20231231_g2.jpg
<TEXT>
begin 644 fsly-20231231_g2.jpg
M_]C_X  02D9)1@ ! @$ 2 !(  #_X0#*17AI9@  34T *@    @ !@$2  ,
M   !  $   $:  4    !    5@$;  4    !    7@$H  ,    !  (   (3
M  ,    !  $  (=I  0    !    9@        !(     0   $@    !  >0
M   '    !# R,C&1 0 '    ! $" P"@   '    !# Q,#"@ 0 #     0 !
M  "@ @ $     0  !I>@ P $     0   RFD!@ #     0            #_
MP  1" ,I!I<# 2(  A$! Q$!_\0 'P   04! 0$! 0$           $" P0%
M!@<("0H+_\0 M1   @$# P($ P4%! 0   %] 0(#  01!1(A,4$&$U%A!R)Q
M%#*!D:$((T*QP152T? D,V)R@@D*%A<8&1HE)B<H*2HT-38W.#DZ0T1%1D=(
M24I35%565UA96F-D969G:&EJ<W1U=G=X>7J#A(6&AXB)BI*3E)66EYB9FJ*C
MI*6FIZBIJK*SM+6VM[BYNL+#Q,7&Q\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ
M\O/T]?;W^/GZ_\0 'P$  P$! 0$! 0$! 0        $" P0%!@<("0H+_\0
MM1$  @$"! 0#! <%! 0  0)W  $" Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!
M"2,S4O 58G+1"A8D-.$E\1<8&1HF)R@I*C4V-S@Y.D-$149'2$E*4U155E=8
M65IC9&5F9VAI:G-T=79W>'EZ@H.$A8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJ
MLK.TM;:WN+FZPL/$Q<;'R,G*TM/4U=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ
M_]L 0P ! 0$! 0$" 0$" P(" @,$ P,# P0&! 0$! 0&!P8&!@8&!@<'!P<'
M!P<'" @(" @("0D)"0D+"PL+"PL+"PL+_]L 0P$" @(# P,% P,%"P@&" L+
M"PL+"PL+"PL+"PL+"PL+"PL+"PL+"PL+"PL+"PL+"PL+"PL+"PL+"PL+"PL+
M"PL+_]T ! !J_]H # ,!  (1 Q$ /P#^_BBBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@#_
MT/[^**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** /_1_OXHHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M_]+^_BBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@#_T_[^**** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M /_4_OXHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH _]7^_BBBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **:74=2*<#GD
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% '_];^_BBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH \M^-?Q=\)? ?X6ZU\6?&\OEZ;HEL]Q)C[SE1\J+ZLQP
M/4U_)9\2?^"WG[9WB?QI+K/@"[T_PUHZR$P:?'9Q7.8P>!+),K,S$=2A0>@%
M?8?_  7;_:I,L^D_LJ^%;CY5VZEK.P]?^>,1_'+D>PK^;&OS/BGB"NL3]6PM
M1Q4=VG:[]?+\S^\/H^>#F4SR)9WG^#A6JU]81J14E&GLGRNZO)W=[7Y>6UKL
M_MK_ .":'_!0R/\ ;8\(:AHGC.T@TSQCH"H]W%;DB&Y@?@31JQ)7#<.N2 2,
M'G _46OX&_V!OVD+S]EW]ISP[\1FD9=,DF%GJ:*>'M)SM?([E?O#W K^]JRO
M;34K.'4;"19H)T62-U.59&&00>X(YKZ?A?-I8W"VJN]2&C\UT?\ 78_!O'_P
MYH\*Y^IY?3Y<)B%S072,EI."OT3M)=E*W0M4445]*?A 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %(2
M%!8]OQJ*XN(+2![JZ=8XHP6=V.%4#J23T K\XO&?_!5;]D;PI\:=(^"-AK)U
MB]U*[6SGO;(![&TD8X7?*2 V6P/W>X GDBN?$8NC02=::C?179[62\.9IF\Y
MPRS#3JN"<I<L6^5)7;;V6VE]]E=GY^_ML?\ !;FV\%ZGJ/PN_9>TQI]3M)'M
MKC6=3B*1Q2(=K>3;L S$'^*3 _V2*\T_X))?\%&_'WBGXR:C\&_VA_$%QJ\G
MBJ4W&G7EX^XQW0ZQ#LJN/NJ  #7EW_!;+]CE/ 'C^#]I_P !6P&C>)7":F(A
M\L5[CB3CM*.<^M?A/H&O:MX7URT\2:#.UM>V,R3P2H<,DD9RI'XBOS',<YS'
M"9G>O*ZB]EI%Q?EYKU=S^]N"?#+@OB+@+V>48=1EB(>]4E[U6-6/>73EFOAB
MHQ<>FI_I,T5\2_L!_M6:5^UM^SWI?CKS%&M6:K::K"#RES&,%L>C_>%?;5?J
M&'KPKTHUJ;O&2NC^ LZR?%95CZ^6XV'+5I2<9+S7Z/=/JM0HHHK8\P**** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHKY@_:F_;1_99_8H\"
M/\2/VH_&^E^#M+ /EF^F FG8?PPPKNEE;_912: /I^BOY$O&G_!SK\3_ -I'
MQ-<_#O\ X)#?LV^*OC'=QN8AKNI026>EQMV<I&&.P_\ 3:: ^M9D'@K_ (._
M_P!J/_B::CXM^'7P"LKCG['##;W4R(>V?(U1@<?]-@?I0!_8!17\A?\ PZ0_
MX./M8']H:[^W<EM='DQVMC((L_\  4B&/^ 5#+^Q-_P=C_! ?VC\,_VH/!OQ
M#MX>?L.M64222X[;I=.<C_O^M ']?5%?QX7'_!9S_@NM^PDV_P#X*4?LE#Q5
MX9MN+CQ'X"D9UCC'65Q$][%TYP_V<?2OV*_8"_X+K_\ !./_ (*+2P>&O@YX
MT71/%\H ;PSXC4:=J>_NL:LQBG([B"1R.X% '["T444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%?GW_P4,_X*<?LD?\ !,GX
M3-\4?VF_$"VDURKC2]%M,3:GJ<JC[EO#D$C. TC%8US\S#(R ?H(2 ,FOQ'_
M &[O^#A+_@F)^P->7?A#QUXW'C#QC:DQGPYX31=3O5E'&R6166VA8'JLLRN/
M[IZ5^)NGZ5_P6W_X.'9CK&K:A<_LL?LR:@<0VT&\:WK=FQZL?W<LJNO=C%;X
M.0DF,G]I/V6?^"2__!(S_@D)X4M_'UIH>DP:[;*"_BOQ9(E]JLLH')A:08B8
M_P!VVC3/H:F<XP3E)V7F;X;#5L15C0P\'.<M$HIMM]DEJS\LH/\ @K]_P7X_
M;Z^;_@G#^R>O@+PM=_ZCQ+X_D,9:(])HQ<-9Q,#UQ&ER/3-:L/\ P2M_X.5O
MVD?]/_:<_;3L?A[%<_,UIX+M9-T(/\.;:+3>1TXE;ZFOT7^.'_!>;X$^#I9M
M)^!_AV^\63QY5;JY;[!:$^JY#RL/8HGUK\TO&/\ P7"_;0\::M';>%CH_ABV
MDE50+.S$\@4D=6N6E!/N%'TKYW$\69=1?*I\S_NJ_P".B_$_:LA^CMQMF=-5
MI854(/K5DHO_ ,!7--?.*/A'_@JA_P $5/VL/V%?V'/&?[7?B#]LWXE>.=8\
M,I!(MG+<W5I#,TTJQG+?;YF&-V>,U_85_P $M=<UOQ-_P3L^#7B#Q)>3ZA?W
MGA73I9[FYD:6:5VB!+.[$LS'N2237YX?\'&U]<ZG_P $/OB3J5ZV^:XT_3))
M&P!EFFB).!QU/:OOO_@DU_RC5^"7_8HZ;_Z*%?1IW5S\1J0<).#W3L?H9111
M3("BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** /_U_[^**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**^!OVQ/^"B_P%_8T:'1O&SSZKK]TGF1:78[3*$[-(S$*BGMU)]*_)?QA_P<
M'WKAD\!?#B.(_P +W]^9/Q*QQI^6ZO'QF?X#"S=.M57,NBN_R1^F<,^#O%^?
MX:&,RW 2=&6TY.,$_-<TDVO-)H_IAKRWXU?%GPK\#OA?K/Q1\97"6]CI%L\[
M%R!O8#Y4&>K,> .]?RD>,/\ @NO^V)KVY?#=IH>A@]#!:M,P_&9W'Z5^??Q^
M_;._:4_:<2.U^,OBBYU.TA;>EHH6"V5O7RHPJ9]R,UX6,XVPD826'BW+II9?
MG?\  _7>&OHJ\15L72GG-6E2H73FHR<IM=4DH\MWM?FTWLSR[XV?%;Q#\</B
MMKOQ6\4.7O-;NY+A@3G8K'Y$'LJX4?2O+:**_+ISE.3G)W;U9_?F%PM+#488
M>A'EA!*,4MDDK)+T0H)!R*_M(_X(\_M/1_'G]E^V\$:Y<B37_!)73YU8_.]K
MC]P__?(*?\!]Z_BVKVSX"_M#_%S]FGQS'\0O@[J\FE:@J^7)@!XIHSR4D1LJ
MZG'0@U[.09O_ &?B?:R5X/1KR_X!^8^,'APN,LAE@*4E'$0DITY2V4EHT[7=
MI)M.U[.SL[6/]$2BOY/? W_!?GX_Z5Y</CWPCHNKHN SVYEM96]\[G7_ ,=K
M[&\$?\%_O@AJ01/B!X)U?2F_B:SFBO%_ -Y)K]+H\5Y94_Y>V]4U^EC^%,T^
MCSQW@KOZA[2*ZTYPE^',I?@?OY17P?\ L\?\%)OV2OVF?$,7@WX?>(&MM;N!
MF&PU&(VTTI'4(3E&;_9#D^@K[PKV\/B:5>//1FI+NG<_*,YR+,<IQ'U7,\/.
MC4M?EG%Q=NZONO-:!1116YY04444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 445\S_M'?M>? /\ 96\/-KGQ?UV*TG9"T%A$1+>3^@2(
M'.#_ 'FPOO6=6M"E!SJ222ZO0[LNRW%YAB(83 TI5*LM%&*;;]$CZ8K\]OVM
M?^"E?[-_[)UM/I6M:@->\2H#LTC3F#RJW;S7^[$/7.6_V37\_'[8/_!9GXX_
M'/[5X.^#(?P5X;DW(7A?-_<(>/GE'W 1_"F/<FOQGN[RZO[E[R^D:::0EG=R
M69B>I)/)-?"9MQK&-Z>!5W_,]ODO\_N/ZY\._HLUZW)C>+*G)'?V,'[S_P <
MUI'S4;O^\F?H=^UO_P %-_VD?VKIY]&U"_/A[PRY(32=.8I&R]O.?.Z4_7"^
M@%?G8DDD<@E1B&4Y!!Y!%,HK\^Q.+K8B;J5I.4O,_LS(N'LMR;"1P.5X>-*D
MND5;YM[M]V[M]3^O?]@WXR^$?^"B_P"Q=JW[.WQ>D6XUW2;0:?=E^9'CQB"Y
M7W! R?45_+3\?/@QXJ_9^^+>M?";QC$T=YI%PT08C DCS\CCU##!KU+]BK]I
MS7_V3_C[H_Q/TQV-B)!;ZE #Q+:R'#@CU'4>XK]]O^"O7[,.@?M%_ _2OVQ/
M@\BWEUIUHDMRT R;BPD&0W'4QY_*OJ:O_"KEOM5_'HK7O*/?Y?Y]S^?L!_QK
MWCB6!E[N59G+FA_+2K]8^2E>WHX_RL_(?_@EO^V!<?LK_M"6MKKTY7POXF9+
M+44)^6-F.(Y<?[)//M7]O-M<V]Y;QW=HXDBE4.CJ<AE89!!]"*_S5@2#D=17
M]C'_  1R_;('QZ^"O_"G_&5UYGB;P?&L2EV^>XLNB/ZDI]T_A7H<%YO9O U'
MOK']5^OWGQOTI/#?VE.'%N!A[T;0K)=5M"?R^%^7+V/V7HHHK]'/X?"BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ I"0!D]!2U_*]_P %J_\ @IM\
M=O&GQBTW_@D'_P $RRU_\7_&P$.O:Q:M\N@V$OW\N.$D*9+-P47W(H [+_@I
MG_P7A\1>"?C#_P ._O\ @EGX<_X6S\=]1<VL\MLOGZ;HC'AFF93M>1.K L(T
M_C/:O+/V1/\ @V\_X6?X]B_:W_X+-^,KOXW?$N]*W']BSSN=%T\D[A%M!7S0
MAXV )".FPCFOU;_X)/\ _!)#X!_\$N/@TGA[PA"NM^/-919O$GBBY7==WURW
MS,%9LLD0;.U >>IR:_6>@#BO 'PW^'WPH\+VO@CX8Z)8^'M'L4$=O9:=;I;6
M\2CLJ1A5'X"NUKR[XK_&OX4? WPX_BSXM:]9Z%8KG#W4@5G([(@RSGV4$U^.
M?Q=_X+T?L^^%+J73OA/X<U+Q0Z$J+B9ELH&/JN0[D?55->?C,TPF%_WBHHOM
MU^Y:GV7#'A]Q'Q#KD^!G5CMS)6AZ<\K1OY7N?N[17\M5]_P<%_$][HMIOP^T
MN.'/"R7,KMCZC:/TKUCX?_\ !P3H%Q=1V_Q/^'TUO$Q^>?3;P2%?I'(BY_[[
M%>9#BS+)/E]K;U3_ ,C[S$_1VX]HT_:?4.;RC4IM_=S:_(_H[=$D4I( RGJ#
MR*_$#_@H?_P;^_\ !/O_ (*"0W7B[4_#J^ ?B"<RV_BOPRJV5X)QRK3H@$=P
M <$[QO\ 1EZU]X?LZ?\ !0/]E?\ :?:+3OAOXEBBU:0#_B6:@/LUWGT56.US
M_P!<V:OM&O=H8BE6ASTI*2[IW/R3-LFQ^5XAX3,:$J55;QG%Q?K9]//8_BC\
M"?MZ_P#!3C_@W^^(NE_ C_@J7'=_&+]GZ^N$LM%^(]BC37NGH3A%N"V7; ZQ
M3,7P/W4C@;:_L1^#OQD^%_[0/PTT?XQ?!C7+7Q'X9U^W6ZL-0LG$D4L;^_4$
M=&4X92"" 012_%_X/?#'X^?#?5_A%\8]$M/$/AO7;=[6^L+V,2PRQ.,$$'OW
M!&"#R.:_BQO+'XX_\&L/[8-KJ-A/J7B[]BSXJ:H(IX9"UQ-X7OICP1U.Y%&5
M/'VB)2K?O$5JV/,/[F**YGP7XS\*?$7PAI?C[P+J$&K:+K5K%>V-[;.)(;BW
MG4/'(C#@JRD$&NFH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBOSE_P""IG_!1SX4_P#!+_\ 9)UO]H_XC%+S40#9:!I.[;)J6IRJ?*B4#G8,
M;Y6'W4![D @'SC_P6)_X+%?#?_@F-\.++PIX3L?^$U^,WC/%MX3\)6H:6>::
M4[$GG2/+B$/PJCYY6^5?XF7\XO\ @FM_P0\^(?Q7^*2?\%./^"T^H?\ "?\
MQ=U<K?Z=X;U K)I?A^(?/&KQ?ZII(@?EC4>5">@9OFJY_P $0O\ @F)\3?''
MCR^_X+*_\%.0=:^,WC_.HZ'8Z@N(_#VFRK^[*QM\L<K18"C \F+"C#%J9_P5
M'_X*GZK\4-4U#]GO]G;4&MO"UNQ@U+5(&*OJ#CADC88(@!XX^_UZ<5Y>;9M1
MP%'VM7?HNK?];L^_\.O#K,^,,S6 R]6A&SJ5'\,(]WW;^S'=OLDVOLK]N;_@
MLSX/^$,EU\*?V68[;6]:MP8)M58;K&U8<8A4<2LOK]P?[5?S'_%;XS?%'XX>
M*9O&GQ6UR[UO49R29+F0L%!_A1?NJH[*H %>9$DG)ZFDK\AS3.L5CYWJR]WI
M%;+_ #]6?Z3\ >%N0\(X94\MHIUFO>JR2=27?7[*_NQLO5ZA6CH__(6M?^NR
M?^A"LZI[:=K:YCN4ZQL&'U!S7E+<_1)J\6D?U+_\'%'_ "@P^(?_ &#-*_\
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
M5#R(3WQ(RP)_LJ*BI4C"+G)V2U9TX/"5L57IX7#QYJDY*,4MVY.R2]6SQO\
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
MOXX5[*&@A3C\(A7Z,?Q"?UWT444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 ?QV?\%%+?_AO_P#X.6OV=?V*YA]L\)_ _2'\;ZY ?FC%XY^U*LB]"#Y-
MDO/:0CN:_0#_ (+Y_'";0/AMX3^ 6E3;'UVX?4[U5/)@M?DB!]FD8GZI7PG_
M ,$58O\ AH;_ (+Y?MY_M9:A_I#^&-2M_!-I*>0L<-P]L0I_W=+3IV^M>;?\
M%J/B!-XS_;EU?0]^Z'PWI]EIT8SP"8Q.W_CTIKYCB[%.CETDMY-1_5_@C]Z^
MC=D$,SXVH5*BO'#QE5^:M&/W2DFO-'Y+T45-;V\]W.EK:HTDLC!411EF8\
M#J2:_'C_ $R;MJPM[>>[G2UM4:261@J(HRS,>  !R2:_:S]D'_@BY\8OC99V
MWC7XW7#^#M"G =+?:&OYD/.=IXC!_P!H$^PK])_^"7O_  2ZT'X/:!8?'?X]
M6"7GBZ\03V5E.H:/3XV&5)4\&8CJ?X>@[FOW6 "C:O %?H>1<(1E!5\=UVC_
M )_Y??V/XL\7/I*5J&(J91PE)>ZVI5[)Z]533TLOYW>_V5:S?Y^_!C_@F%^Q
MI\%;:(Z3X1MM6O8P,W>J#[7*2.XWY5?^ @5]>ZEX$\%:)X6OK?2-(L[9%MI0
M%CA10,(?05Z-63KT$MSH5[;0C<\D$BJ/4E2!7W=+!T*,.6E!17DD?R+F'$N:
MYGB57S+%U*LF]YSD^OF]#_.%\6@#Q5J8'07<W_H9KGZ[#X@Z7J.B^/-9TG58
M7M[F"]G22)QM96#G@BLWQ%X7\1^$=0&E>*+&;3[DQI*(IT*,4D&5;![$<@U^
M"3B[O3J?[!X:M3=.FE)7<4UKNK+5=]U]Y@U^N?\ P1C^.,_PL_:XM/!MW-LT
M[Q= UC(I.%\Y?FC/\Z_(RO4?@CXNNO 7Q@\,>,K-S&^G:G;3;@<8"R#/Z9KJ
MR[$O#XJG671K[NOX'@\;9%3SG(<=E=1756G)+_%:\7\I),_53_@N;IL_[%/_
M  5D_9=_X*3>&4^S6NJZFOA/Q Z# ECE8*N\CMM<#GTK^P2UN8+VUCO+9@\<
MJAT8="K#(/Y5_-!_P=*^ 1\3/^"1-Y\5=*7.H>$-4TK7[64#F,!AN(].HK]N
MOV%_B4GQ@_8V^&'Q+5_,.K^&M.F9LYR_DJK'\P:_>D[ZG^/LHN,G%[H^K***
M*9(4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 ?__2
M_OXHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ IDDB11M+(
M<*H))] *?7F'QK\5P>!OA#XF\7W)VII^FW,Q/IM0X_6IG)1BY/H;X7#RKUH4
M(;R:2]6['\&/[8GCA_B/^U)X\\8,VX76LW**>N5A;RE_1!7S95[4]0N=6U*X
MU2\;=-<R/*Y]6<DD_F:HU_/U:HZE251]6W]Y_LOE>"C@\'0P</AIPC%>D4E^
M@45KZ%H&N>)]5AT+PY:37U[<,$B@@0R2.Q[!5R37Z(:5_P $E/VY=7\(#QA#
MX4$:-'YBVLLZK<E<9^YTS[$BM,/@Z]>_L:;E;LFSASCB?*,I<%F>+IT>;;GG
M&-_2[/S8HKJO&?@?QA\._$$_A3QSIMQI6HVS%9+>Y0QN"/8]1[C(KE:YY1:=
MFM3V*56%6"J4I*47JFG=-=TR_I5[-IVIVVH6S%)()4D5AU!4@@U_HY?#WQ3!
MXY\ Z'XUMB#'K&GVU\A'3;<1K(/T:O\ -^K^];_@G#XT_P"$]_8=^&VNE][1
M:0EB?4&Q=K;'Y1U]YP)6M6K4NZ3^YV_4_D/Z7>6<^699F%O@J3A_X'%2_P#<
M9]M4445^EG\)A1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 5\ ?\
M!2_Q#^T3X._92UOQE^S;?&QU32RL]^T2;K@Z> 1*83_"Z9#DCG:#CFOO^JUY
M9VNH6DMA?1K-!.C1R(XRK*PP00>H(X-88JBZU&=)2<6TU=;KS/7R#-(9;F6'
MQ]2C&K&G.,G":3C))ZQ:>FJ^[<_S<-?\0Z[XJU>?7O$MY-?WMRQ>6>=S)([$
MY))/-8]?I;^W]^PCXT^ '[4T_P /_AKI%UJ6C^)W:]T*.VC:1O+=OFAX!YA8
M[>?X=I/6ON7]D#_@AYXO\6&U\:?M27;:/8'#C1[9LW+CKB60<(/4+D^]?B]+
M(\;6Q,\/&#<HNS?3UN?ZD8[Q9X5R[(\/G5?%1C1JP4J<5K-K^506MT_=>R35
MFT?CE^S+\-_C[X^^+&D7'[.^FW=YK^FW45S!-;J0D#QL&#._"JO'.3R..:_K
MD_X* ?LC>(?VNOV1K4:]8PP?$+P_9KJ%NL#;U^TB,&XMU; )5\$+_M 5]X?"
M+X'_  J^!'A>'P?\*=$MM'L8AC; @#.?5FZL3W)->KU^BY5PS##8:I0K3YO:
M+5=%Z>?G^!_$GB)X\8C/,]P.;97AE1^J2;IR>M22=KJ;6G*TOA5[7?O.Y_G;
M?"C]GKXR_&[QE_P@?PRT"[U344D,<JHA"0D'!\QS\J8]S7]'G[(?_!$#P/X*
M6W\<?M2W::Y?Q@2#2H"5LXR.?WC=9,=QPOM7[N^%/A[X&\"FZ/@[2;73#>S/
M<3FWB6,R2R'+,Q Y)-='J5A!JNG7&EW6?*N8WB?!P=K@@X_ UEE?!^%P[]I7
M?/+SV7RZ_,]'C[Z2^?9U3>$RB/U2BU9N+O4EW]_3E7^%)_WC^/SQ9_P7=_;-
M^)/Q?\7?"+_@C7^SI9_$+X?_  NG:QU35I]T,4KP??%NJ20J.!\J_,Q&#CD5
M^W7_  26_P""HW@C_@J)\!K[X@V.BS>%/%GAB];2O$>@W!W265Z@R0"<$HPY
M&1D=#TK^+?P5_P %*?C-_P &P?[1WQG_ &&-=\+:9\1-,U[5W\2:1=QW/E2Q
M&]C7RC-M!."@4LAY!S@\U_0M_P &OGP"\:VO[.GCK]O/XD:A97&K_M :[+X@
M^R:>VZ&TA!(",!P'W%MR]NE?7))*R/YMJ5)3DYS=V]6WJV?U$4444R HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "LK79M8MM%N[CP]!'=7
MZ0NUM#*_EQR2@'8K, =H)P"<' K5HH _SN_^"A__  ;I_P#!<+_@HY^TOK?[
M1?QI\1^"Y)KV1H]/LAJL_DV-FI_=PQC[/@ #J>YYK])?^";/_!M#X!_84_97
M^(GQ(_:A@TSQG\6-6\/:G;VYC7[18Z9&8'P(-Z@M(W=RH/85_8_5+4["WU73
M;C2[M=T5S&\3@]U<$$?D: /Y-?\ @U9^$7P*^(__  3+DTSQMX3TC5M6\/\
MBG5;&>:[M(I9AM<8!+*3@8XK^E7_ (9._9B_Z)_X?_\ !?#_ /$5_,'_ ,&Z
M>L3_ +,_[<G[5_\ P3N\3M]GN-)\32>(=,A;C=;SN<[ >V'!X]*_K^H _@1_
MX*<?L]?#GX=_MN>.-&L?#EA:6<]S'<VT4=LBJ(I(UZ #&,@U\$?\*W\ ?] 6
MR_[\)_A7]+__  7L^ %W8>,/#G[16DP$VU]#_9=^ZC[LD>6B)^H+#/K7\ZM?
MB6>TZN'Q]:FV]VUKT>I_JMX1XS+\YX0RW%PI0;5.,)>ZK\U-<DK^>E_1W/[7
M/^">GPG_ &6?C)^R#X+\5IX'T"XN8;);.Z+6$+,)K?Y#N.W.2 #SZU^?'_!:
M?_@FWX+U[PEHWQW^#7@K3P-!22WU6UL;- Q@<@K+M5>=A&#['/:ODK_@D=^W
MSIO[-/C6?X0_%&Y,7A+Q#*K).W*V=UT#GT1NC?@:_K^M+S2/$6E1WMC)%>V5
MW&&1T(DCD1AU!Y!!%?H> K4LWRSV+E:223[IK9_/_@'\6\89=F/AMQZ\TIT%
M.A*<IT^9>Y.G._-"^R<;M=TTI6M8_P HSQ3^P-^S_P"+/$6O>)-5L)!<:W&J
M81MHMG7J\0Q\K' _+W-?MC_P2H_8<U[XN?%GPGX,\-VEP?"7A*2";4+V;<RB
M&W(;87/5Y", #IGT%?U^^,/^"=?[&/CKQ$WBGQ#X"TU[R1M\C1Q^6';KEE7
M-?4'@#X;> OA9H$?A;X=Z1:Z/I\0^6"UC$:_H.:\^APMBYU8?7:_-3BTTM>F
MV^Q]CF_T@.',-@,0^%LH]AC:\91E4:BE'G;<G[NLW=MJ]E>W16.U)6-,GA5'
MY 5_ Y_P4)^)>G_%S]M#XA>-])<2VLFIFUA<'*LEDB6P8>S>5D?6OZ:?^"I/
M_!0GPU^S9\-+[X6?#V^CN?'6MPM BQ,&-A%(,-*^.CX/R+USSTK^,YW>5S)(
M2S,<DGDDFN#C;,X5'#!TW?E=Y>NR7XL^Q^BKP)B\'#$\38R#BJL53I)Z.4;J
M4I>C<8J+ZV?2PT#)Q7^@?^Q1X5N?!/[(WPW\,WBE)K;P]8&13U#R1*[?JU?Q
M ?LB_ W5/VC?VBO"OPETZ-GBU&^C-VP&?+M(COF8_1 ?QK_06LK.VT^SAT^S
M4)# BQHHX 51@ ?0"M>!,+*];$/;2*_-_H</TNL^I..6Y-!WFG*K)=E\$?O]
M_P"X9J-Y!IVGSZA<L$C@C:1V8X 50223["OY(?\ @T"M9O$7[*OQP^,P4BW\
M6?$_4)86(^\$M[=R?_(OYU^Y'_!7_P#:0L/V3O\ @F9\:?C==7 MKFQ\+WME
M8-G!^WZDOV2U ]_.F0\=A7QU_P &TO[/%[^SM_P1X^%ECK4!M]2\7177BBZ5
MA@D:K,TL!/UMO)K]$/XG/WGHHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ I
MKG"$^U.IK#*D>HH _D._X-2476]8_;%^(MSS>:U\6+H3,>IV-/*,GZS-^=?#
M?_!1[4IM5_;F^)US.22FN3PC/I#B,?HHK[B_X-7I5\*_$O\ ;6^"UW\E]X:^
M*]PTT9X($DMW ./K;-7Q7_P4NT.X\/\ [=GQ+L[E2IEU=[D9[K<HLH/Y-7Q'
M'5_JE/MS?HS^KOHDN'^L>.3^+V&GI[2%_P!#X8K]M?\ @BS^R!9_&SXQ77QR
M\;VHGT#P8Z?9DD&4FU%AN3V(B7YR/4K7XE5_==_P2_\ @[:_!G]BGP7I0B$=
MYK%H-8NSC#-+??O1N]U0JGT6OE>$\OCBL<I35XP7-\^G^?R/Z#^D7QG5R'A2
M='"RY:V)E[)-;J+3<VO^W5R^7-<_0$  8'04M%%?L)_F<%%%% 'S'XN_8S_9
M>\=^/D^)_BWP3I=]KBN)#=20*69UZ,W9B/4U^9/_  6D_8XTSXC?!R/]H#P3
M9I'K7A)%2[6)0#-8GCD#_GF<8]C[5^Z5<[XO\,:7XV\*ZEX/UN,2V>J6TMK,
MI&04E4J?YUYN.RNAB,/4H\J7-UMUZ,^ZX2X_S7)LXP.9_6)S5!I*,I-KV;TE
M!)MI)QZ+K9]#_-QJ:WE:"X2=>J,&'X5Z-\9O =U\+_BSXC^'MZNV31]0GM2/
M0(Y _3%>=6L#75S';)RTC!1]2<5^&2@XR<7NC_6K#XBGB*$*]-WA)*2?DU=?
M@?UF?\%@["/Q;_P05^)5Q>C>4\$6]SS_ 'D\K%>W?\$'];G\1?\ !(;X"ZM<
MG<\GAB $G_9=Q_2O#O\ @L;J</@;_@@O\2;74CM:3P5;6@S_ 'Y/*P/TKW?_
M ((3>'KKPK_P2+^ VB7@*R1>&("0?]MG8?SK^@*'\.-^R/\ &K->7Z[7Y=N>
M5OO9^M-%%%:G %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% '_T_[^**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M*X?XE^!].^)GP^UGX?:L<6VL6<MI(1V$JD9_"NXHJ914DXO9FM"O.C4C6I.T
MHM-/LUJF?P4?M _L ?M,? /Q[=^$M0\,7^JVBRLMI?6,#W$4\>?E;Y 2IQU!
MQ@U]8_LG_P#!&[]H'XY20>(_BHK>#- 8@G[0N;N5?]B/^'ZM^5?V2E0W49I>
M *^/I<$X.-9SE)N/\O\ P=W^!_368_2JXFKY;'"8>A3IU[6E55VWYQB_=BWY
M\R[)'QY^S/\ L+?LZ_LK:6D'PWT2-]1V@2ZE= 2W4A'?<?NCV&!7U7<>(O#]
MIJT.@75];Q7UP"T5L\JK+(!U*H3N('L*72O$&@:ZTR:)?6]XUL_ES""59#&_
M]UMI.#[&OX[_ /@HMXD\0V?_  =,_LO:'9W]Q%93:+ 9+=)66)LRW .4!P<X
M[BOK:%"G1@J=**45T1_..:YOCLSQ,L9F%:56K+>4FV_Q_+8_J(_:-_8]^ G[
M4F@/HWQ7T.&YGVD0WL8\NYA)[K(.:_F*_:__ ."-?QP^!IN?%WP<W^,?#J9<
MI$O^FP(.?F0?? '=>?:OZ_=9\0:#X=MUN_$%];V$3L$5[B58E+'H 6(&3Z5K
M JZAEY!KR<TR#"8Y7J1M+^9;_P#!^9^A\ >,7$?"<U#!5O:8?K2G=P_[=ZQ?
MG&WFF?YV_@7]G;XX_$CQ;!X(\(>%M3N=2GD$0C-M(@0DX^=F "@=R2*_NH_8
MO^ MS^S-^S+X3^#&H3">]TFU9KMU.5-Q<.TT@4_W59RH]A7TE;Z5I=G.US:6
MT44C_>=$"L?J0,FK]<V1\.4\NE*HI\TFK;6LCW?%CQOQW&V'H8&6&5"A3ESV
M4N9RG9I-NRT2;LK==6]+%%%%?2'X<%%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110!0GTO3+J]AU&ZMXY+BW#"*1E!= V,[21D9P,XJ_1118;D
MW9-[!1110(*\;_:&^.'@G]FKX'>*_CY\1IQ;Z+X2TRXU*Z8G&Y8%)"#/\3MA
M%]217LE?R2_\')OQM\:_M%>._A)_P1E^ 5PY\1_%W5K>]\1/ V6M=(A<GYP.
M@(5Y2#UV+ZT ?R$_'CX!>.OVN==^&O\ P4K_ &F%G>3]I#XN2:7:6DI(7^PX
MIK:,%0>0I\QT3MM48K^JS_@WQ^(_BS]@/]L[XO?\$5/C1<MY6C7LOB#P9/.=
MHN+*;#,L>>S*RR #N6]*Y?\ X.$O@AX)_9L\&_L%_ ?X=6JV>B^%/'UCIMK$
M@P D$EBN?J<9)KU'_@Y&^!GC3]G;QC\'O^"ROP#MI!XA^%.HVMEXA%N,&XTN
M1N"^.HP7C)/9E]* /Z^Z*\/_ &:_CQX*_:=^ WA3X^_#RX6YTCQ5IL&H6[J<
MX$R@E3[@Y!KW"@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH _C>_X*YV^I?\$P_^"RGP:_X*GZ%$T7@SQT4\*>,6C!"+O^17
M?''*G.3W%?V&Z)K6E^(]&M/$.ASI<V5]"EQ!-&<K)'( RL#W!!!%?%G_  4=
M_8A\!?\ !0G]D3Q9^S-X[C53K%JS:?=$9:UOHQF&53V*MC\*_$C_ (-\?V_/
M'&BG6_\ @D?^VA*VF_%KX1R266F-=DJVJ:7$?D,9;[Y1<$8SE#[4 ?T4?M*?
M ;PK^TI\&M:^$7BY 8-3A*QR8^:&8<HZ^ZMS7\%OQ_\ @3X\_9Q^*.I_"SXA
M6K07EA(0CD$)-%GY9$/=6'Y5_HD5\.?MM_L*_"_]L_P/_9/B-1I^O62DZ?JD
M:CS(F_NM_>0]P?PKY;B7(/K]-5:7\6.WFNW^1_0'@7XP_P"J&,E@<QN\#6:<
MK:NG+;G2ZIK226MDFM59_P &5?H'^R__ ,%+?VG?V6K:/0?"VJ#5=#0\:=J&
M98E'^P?O)^!KS7]I_P#8E^/G[*'B.72OB/I$KZ?N(@U.W4O:RKV.X#Y3[-BO
MD:ORV,\5@:SLW":^3/\ 02MALAXJRQ>TC3Q6%GJMI1]5V:^31_27I'_!P7J(
MT\#7OA[&UWCDP71$>?HP)_6OE_X[?\%P/VEOB7IDV@_#BSM/"%M,"IFM\RW.
MT^CMG:?< 5^*E%>A5XES*I#DE6=O*R_%'QN7^!? V"Q"Q5'+(N2=US.4XK_M
MV4G'\#8U_P 0:YXIU>XU_P 1W<M]>W3F26>9B[NQZDD\UE1QR32+%$I9F.
M,DDUV'@3X=^.?B=XA@\*_#[2KG5]0N&"I#;1F1LGCG X'N<"OZ?O^"=7_!("
MT^%.HV7QI_::BBOM>@*S6.D</#:OU#RGH\@[#HI]:PRO)\3CZO+36G63V7_!
M\CU>/?$G(^#L ZV.J+VEO<I1MSR?1)=(]Y/1>MD>F?\ !';]A6\_9_\ A_+\
M=?B99F'Q5XGA"VT$HP]G8G# $'H\IP6'4  >M?MG2 !0%48 Z"OB?_@H1^W7
M\&_^"='[+7B3]ISXSW2K:Z1 RV%B&"S:C?N#Y-M$#U9VQD_PKECP*_9L!@:>
M$H1P]+9?B^K^9_E_QCQ9CN),WKYQF#_>5'LMHQ6D8KRBM//=ZL_G*_X.-?B!
MXA_;K_:M^ W_  0Y^"ERTE]XRUNV\2^-9+<Y-EI=ON\L28Z;8A/<%6ZE8O45
M_7/X)\'Z!\/?!VD^ _"ENMII>BV<%C:0(,+'!;H(XU ]%50!7\O'_!NM^QE\
M8O'/B7QY_P %H?VUH';XI?'261]%MYU*MIN@.RL@16Y03!(UC7^&"-/[QK^J
MZNP^8"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@#^/7_@GW<?\,;?
M\'0?[3_[,6KG[)I?QMT:'QCHX;Y1<70V7;[1WP9KT?\ ;,UK_P#!=GX17'@_
M]J33?BE;Q8L_%NEQ[G X-S9?NG'UV>6:B_X.4? _C']D?]HK]G;_ (+4_"BS
M>:X^%.MQ:#XI6$?-+I%VY:,.1_ 0]Q"2>\RU^R/_  4$^$'A7_@H!^PM8_%/
MX-2IJ\T5G#XF\/7$'S?:;>:(.R+C_GI$<@?WE KP>), \7@)P@O>7O+Y?\"Y
M^O>!O%U/A[B_"XK$2Y:-2]*;Z)3M9OR4U%OR3/XMJ_TA/ 6CVWA[P/H^A68"
MQ6=E!"@'0*B #^5?YOTL4D,C0R@JR$@@\$$5_HG?L_\ CFS^)GP.\)?$"P</
M%K&DVET"/^FD2L1]03@U\KP')<]>+WM']?\ @']"?2^I5'A,HJQ^!2K)^K5-
MQ_!2/7Z***_2#^'0HHHH **** /X3O\ @J+H]OHW[='C^.V 47%^;@X_O2 $
MUX%^RI\,;_XQ?M$^$/A[81F0WVI0>8 ,XCC8.Y/M@&O5O^"BWC2S\>_MI?$#
M7=.<26ZZI+!$XZ,L7RY_2OUG_P""%?[*EU<:QJ?[4GBNV*P0*UCI&\<,S?ZV
M0?3H#7XS0P7US-Y4H?#SMOT3U/\ 4/->*5PQX;T<?BG:K'#4XQ3W=25-**^3
MU?DF87_!U9\3?^$1_P""<6@_LQ>&'_XG'Q/\1Z;H-E"O+-%&PWC'IRM?T%?L
MF?"V+X(_LQ^ ?A+%'Y7_  C^@V-FZ],/'$H?_P >S7\J7QPU!O\ @K;_ ,'$
M_A/X.>'V_M'X:?LS0?VCJLBG=;R:H#G:<<$[\*/]VO[,  !@=!7[,?Y>MMN[
M%HHHH$%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% '
M_]3^_BBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ K
M,ULE=&NV4X(AD_\ 036G67KG_(%O/^N$G_H)H _D!_X-5/$WB/Q#\3_VO$U[
M4+F^6W\?.L0GE:0(/M%YPNXG X'2N0_X*/?\K5O[+7_8%M__ $;<UJ?\&GO_
M "5']L+_ +']O_2B]K+_ ."CW_*U;^RU_P!@6W_]&W- 'JW_  >'>(O$'AS]
MB3X7W'AZ^N+"23Q_9J[6\K1,R_9YS@E2"1GM7]6/PN=Y?AGX=DD)9FTRT))Y
M))B6OY-?^#R?_DQ[X6?]E!L__2:>OZQ_A5_R2_PW_P!@NS_]%+0!WM%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M <9\1?'WA;X5> =:^)GCBZ2QT?0+*?4+VXD.%C@MT+NQ^@%?R2?\$"?A_P"*
M/^"@7[<'QF_X+7?&:T;R=:U";P[X(BFY$%A =KO'GL%5(P1W#>M>\_\ !SA^
MU-XS_P"%/^!_^"9?P G,GQ!_: U:#37BB.7ATH2*'9L<A7? )_NH]?O3^Q!^
MRSX+_8M_95\$_LT> X5BL?"NF06C,HP99PH,LC>K.^6)]30!_.)_P=,_\C]^
MQI_V5"'_ -'65?TW?M ? CP5^T[^SOXD^ /Q#@6XT?Q7I,NGW"L,[?-3"N/=
M&PP]Q7\R/_!TS_R/W[&G_94(?_1UE7];>G?\@^#_ *YK_(4 ?R&?\&U'Q[\:
M?LY?$GXK?\$;/V@;AHO$7POU6YNO#RSGF;37<[ECSU520PQV85_7_7\9/_!P
M?\-/%G_!/[]N#X/?\%J/@G;-'#IM_!H7C-81Q-;/\H9P.NZ+*\]T%?UY?"3X
MG>$_C1\,=!^+'@:Z2\TCQ#8PW]K-&=RM',H8<CZXH ]$HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *_G3_X+;?\ !)+QC^TY
M+I'[<7[%%V?#/Q_^'.V[TZZMCY1U.&'YOL\I'5NRD]<X/!K^BRB@#\"O^"/_
M /P6P\#_ +=6F2?L\_M#VP\!?'GPL/LFM>'[\?9VNI8N&EMP^,YQDIU';(K]
M]:_!W_@JG_P0T^#W[>U_#\>_@[J,GPT^->BXFTSQ/IF8FFDCY5;D)@L,\;NH
MK\N?A'_P6L_;R_X):>)K;]G7_@M-\/\ 4-1T2U86]E\0]%A,\$\0^57FVC:W
M'4\-ZT ?V&^(/#7A_P 6:7+HGB>R@U"SF!5X;A!(C ^H/%?F?\7?^"/G[&'Q
M3NY=3LM&E\.W<I)+:;(8TR>_EGY:^DOV8_V\?V0_VQO#%OXJ_9T\?:1XDAN%
M!$,%PHN4)_A:%B'!'?BOKFN7$X+#XA6KTU+U1]!D7%><Y+-U,IQ=2BWOR2:3
M]5L_FC^?R^_X( ?!B2Y+Z?XUU:.(G[K11$@?6O6/ '_!"[]D[PO<I=>+;[5?
M$!0@E)9!"A^H0=*_:NBO/APYEL7S*@OQ?YGVF)\;>.:]/V4\UJ6\N6+^^,4_
MQ/&/A%^SQ\%?@/I8TCX3^'++1HP,%X(P)&^KGYC^=>SUQGCGXB^ /AEH<OB7
MXBZU8Z%I\*EGN+^=+>, =?F<@5_-Y^V5_P ',7[.O@GQ$_P&_P""?6A7OQX^
M)UVQM[6VT:)WT^*8G:#)*HRP!Z[<#WKUZ=.,(J,%9=D?FF,QN(Q=65?%5)3F
M]Y2;;?JW=G[H_M?_ +9?[/?["_P7U/X[?M':_!H>BZ=&S(KL#/<R ?+%!']Z
M1V/  _'%?R8_LU_ ']HK_@X\_:]TS]N;]LO2+OPM^S)X#NS)X+\(W&5_MB1&
MR)I5.-R-@&5^C#"+\N:]T_9D_P"")_[7'_!0OXRZ=^VM_P %R?$#:HUJZW.B
M_#JT<KI]DN=RK.JG;QW0<GG<:_KE\.>'- \(:#:>%_"UG#IVFV$2P6UM;H(X
MHHT&%554   = *LYB_86%EI=C#IFFPI;VUNBQ111J%1$0855 X  & !TJW11
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 >!_M2?LX_#?\ :Z_9
M[\7?LV_%NU%WX?\ &&FS:?=*0"R>8/DD3/1XWVNA[,H-?RZ?\$'?VK/B'^P3
M^T!XG_X(1?MP79MM;\)W<UQ\/M5N25AU/2YB9%@C9N#D'S(A[LG50*_L'K\.
M?^"U'_!(C2O^"C_PSTSXD?"*^'A3XV_#YOMWA3Q!"?*D,D9WBVE=>=C,,JW\
M#<]": /S[_X*Y_\ !.?4?A7XJO?VE/@Y8F3PQJLIEU.U@7/V&X?EG"CI$YY_
MV3[5]T?\$.OVJM.\=?!NX_9L\27(76?"C/+8JY^::PE8MA<]3$Y*D=E*U\Y_
M\$F_^"T$/QYU.[_X)T_\%,-.C\$?'CPVITN[M=5416VO*@V^9'OPOF.!DJ.&
MSE:]3_:(_P""7/Q+^ ?Q5@_:C_8&N##>Z?,;I]#+8X/+I$3PR.,@QG\*^.Q&
M4U,!C?[0P4;P?QQ6]GNU^=C^G,E\1,#QAPM_J9Q165/$0L\/B)?#S15HQJ/I
MHW#F>C3N_>6O]#=%?#G[*'[;?@S]H.P7PGXMMW\*^.K)0E_H=^#%*)%X+1;L
M;T)Z8K[CKZO#XBG7@JE)W3_KY'\[YQDN-RK%3P>/IN%2/1[-=&GM*+Z-736P
M4445L>6%?(W[;_[2FB?LM?L\:Y\1[Z95U!H6MM-B)PTEU*"$P/\ 9^\?I7I_
MQQ_:"^%O[//A*7Q=\2]22TC /DVZ_-<7#]DCC'S,3["OP=\3?LZ_M2?\%6_B
MU;?$+XJ6]QX&^&6G/C3K6<$7$D6>66,X^=QU8]*\;-<?.G!T,*N:M+9+IYOL
MO4_3O#SA##8O$PS?/ZBHY;2:<YR_Y>-:^SIK><I;/EO9:OH?D/\ L:_LA?$K
M]N/XTFV@22/2!<&YUC4F!V1H[;F /=V["OW9_P""N7[?'PY_X)(_L26?PG^"
M<"3?$#Q);C0O!VC6PW3M/*/+\\H.<*3G/=J]&_;'_;@_8C_X(=?LQQZ0B0G6
MI8C'HOAVT(?4=4NV&%9P,MM+8W.?H*_+_P#X)3?\$Y?VBOVV/VDU_P""PG_!
M4J!FUZ\_>^"O"=PI\G2K4\Q2-&W"L%QM&,YY/-89#D<,OIMR=ZDMW^B\OS/6
M\8/%G$<98Z,*,73P5+2G#J^G/+IS-;+:*T75O]$/^""'_!-_5OV#OV33XL^+
MH^T_%+XES_V]XGNI?FE66X^=(2QY^0'GWK]U:  !@45] ?C84444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% '_U?[^**** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "LO7/\ D"WG_7"3
M_P!!-:E4]0MVO+">T0X:6-D!/JPQ0!_&]_P:>_\ )4?VPO\ L?V_]*+VLO\
MX*/?\K5O[+7_ &!;?_T;<U^J7_!%#_@EC\9O^";OC'X\>(OBSJ^G:I%\3_%#
M:SIRV!8F* RW#@2;@/FQ*.GH:I?M7_\ !*GXT?'7_@M)\%_^"C'AK6-.M_"?
MP\TY+34+.8M]KD>-Y6S& ,$'S .?2@#\]_\ @\G_ .3'OA9_V4&S_P#2:>OZ
MQ_A5_P DO\-_]@NS_P#12U^,O_!>W_@F%\8?^"I?[.7@WX2?!C5M/TC4/#OB
MBWUJ9]1+"-X(XI(V5=H^]EP?PK]L_!NBS^'/"&E>'KE@\EA9P6[LO0M$@4D>
MQ(H Z2BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH *SM8U?3?#^DW6O:S,EM9V4+SSS2'"1QQ@LS$GH  2:T:_.K_ (*K
M_!3]J']I+]A[QE\ /V1KZSTOQ7XPA72WO;V4Q)!8S'_22I'.YT!C'LQ/:@#^
M>?\ X)(:7J7_  5D_P""P'Q:_P""M7C>)[CP+\/9W\*> (YE_=_("IE0'@%8
M_F./XI6]*_LMKX'_ ."97[$'AC_@GA^Q9X*_9<\/F.>YT.S#:G=QC'VK4)CO
MN)<]3ND)QGM@5]\4 ?R,?\'3/_(_?L:?]E0A_P#1UE7];>G?\@^#_KFO\A7X
M@?\ !9O_ ()H_&/_ (*'>)O@%K7PFU/3].C^%GC*/Q#J0OBP,MNLENY6/;_%
MB)NOJ*_<2UB:"UCA;JBA3^ H ^4/VZOV4O!_[;7[)WC?]F?QK%');^)]-E@@
M>09\FZ +0R#T*R '/IFOYY?^#7;]K#QAI_P^\>?\$NOCW*T/C?X':G-:VD4Y
MQ)+IID*J #R1&P('^SBOZT*_G,^.G_!(SX]:#_P69\)_\%0/V0]7TO2=.O+=
M;3QII-TS1&]0C9(R;1@EE"N<_P 0H _HSHHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "N&^(GPR^'GQ<\+7/@CXH:)9:
M_I%XI2:TOH5GB<'U5@?SZUW-% '\R_[1O_!K;^PQ\0?$L_Q'_9;UK7O@AXGD
M8R+<>&[IEM@_7_4EA@9ZX:OFB+_@F%_P<;?LS?Z+^S?^U-8>-])@XM[+Q#$V
M\*.FYG&/UK^O^B@#^0L1?\'A6D_\2^T7X8W\8X\^1K<,1ZX+5#+^S)_P=>_&
MW_B6^.OC!X.^'4$_#S:4B2.@/7'EAC7]?5% '\CW@_\ X-??$7QIUV+Q9_P4
MI_:(\6_%:4L&FTRUN'M;%SUZDY'/^S7]!_[)'_!/']C7]AKPY'X<_9D\!:7X
M;VKM>[BA#WDI[EYFRY)[X('M7VE10 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 ?C_\ \%2?^",O[,O_  4Z\,P:SXH63PG\
M1M&7?HOB[2QY=];2)RBR%<&2,$#@G*]0:_#+P9_P4:_X*T?\$0M7MO@U_P %
M.O!=[\8?A/:L+?3?'VA(9KF.W7A3.<?-M7DK)A@.,DU_:;63KF@Z'XGTF?0?
M$EE!J%C<KLFM[F-98I%/9D8%2/8B@#\D/@/^WM_P2<_X*<Z1:>(/AYXNT/4M
M810ZP7<@T[6+5ST&&*2!AZ FOTR\(^!]9\*VT=MH_B*YO[!0/+2]VW#X[#S>
M#CTK\5/VL?\ @VM_X)C_ +3NN3>.M \-W/PW\42,9%U/PM.;,B4_QF(?+GZ;
M:^ 5_P"" ?\ P5._9Z<P_L6?MG:]9Z?$?W=KX@5YCM'1<_O1^M9>QAS<Z5GW
M/0_M3%NBL-*HY4UM%^\EZ)WM\K']>T?G^7^^V[_;.*Y37M%\4:Q&T%EJO]FH
MPP3#$'?'LS=#[U_)Y_PPW_P=*:8/[.LOVDO#5U"./.DM_G_] _I4<G_!';_@
MOA\;!]A_:#_;+?2]+EXFMM$@='(/7:0B_P#H0K1QNK,Y*=9TY<T4K^:3_!W1
M^\7Q=UW]@#]DIKCXP?M,^+-(M=0M 7:_\27R3W*=\)&Q)'MM2OPC^//_  <6
M?%O]JSQ;/^S9_P $3?AEJ7Q%\0SDVQ\57ELT6E6>?E,B@@ A>NYB!CFO;/@=
M_P &JG[$7A[Q%;^//VL/%/B?XUZY$PD9M?O'%LS=2#&&8E?^!"OZ*/@S\ O@
MI^SOX1A\"? WPMIOA728%"K;:=;I I"]-Q498^[$FHITH0T@K&^,S#%8N2EB
M:KG965VW9=DNB\EH?SU_\$[O^"!-]X9^+,?[<?\ P5%\3-\7_C-=L+F*&[8S
M:;I3GD+$C?*[)T'&T=J_IOCCCAC6*)0JJ   ,  =@*?16AQA1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% '_];^_BBB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@#_U_[^**** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** /_0_OXH
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBOY\O^"Z7_!8#XW?\
M$B-2^#WC7PQX,TGQ/X#\<:K<Z9X@O+UIUN;!K<P2#R?*8(6E@:=D# _-%W!H
M _H-HK&N?$6A6?AZ3Q9<W<2:9%;F[>Z+#RA J[S)NZ;=OS9Z8K^5W_@B%_P<
M<>*O^"K/[9_C/]F'Q]X.TGPI8V6CW>M>&[FSEF:XNXK2ZCB,4PE9E\PPS+)\
M@'W'[8H _J[HK\9_^"Y__!4O5_\ @DG^QE:_M#^#M%L/$?B/6/$-EH.F:=J+
MR)!(TR2SRNWE%7PD,#X((&XKGK@_HM^R=\1/B;\7OV8?A]\6?C-I=KH?BKQ1
MX>T[5]4TVSW^39W-[ DSP+YA+GRB^PDDY(- 'T%1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 445^)G_!=[_@I1^T%_P2J_9*
MT;]J+X&>$=(\8P/XAM]&U>WU9IT6V@NX96BG4PNG'FQK&V<\R+CO0!^V=%>.
M?L[?&70/VB_@!X(_: \*X_LWQOH.G:]:@'=MBU&W2=5SZJ'P?<5_,O\ L;_\
M')NL?M0?\%HM<_X)LW_A31K'P.=9\0Z'H/B&":8WEW/HJS-&[AF,6RX6WDV@
M*#ED'7J ?UET5^='_!6+]NL_\$V_V!_'O[7]E86VKZGX:BM(M-T^[9DBNKV^
MN8K:)&*$-M!D+MM(.U2:U/\ @EG^U)\9/VV?V#/A[^U=\=M L/"^O>.K.;4Q
MIFFF5K>*S:>1;5@9F9R98%24\X^? Z4 ?H'1110 45^"O[4/_!6[XK? ?_@M
M[\%_^"6>A^%=)OO#'Q.\/1:S>:S.\PO[:21M34I$JL(BO^@I]Y2?G;VK]ZJ
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MK'\1-KR^'[YO"H@;5!;RFS%SGR3<;3Y?F;<-LW8W8.<=* -BBOP!_P""#/\
MP6+^(O\ P5@\)?%/3?CAX3TWP5XV^&&MVUA>:;IKRL@MKM)!&SB9F82":WN$
M;!QA1QGKY%_P<%?\%WO&_P#P1ZU'X9^#O@_X5T?QAX@\;QZE>WL&K23(EI9V
M9A2)P(60DS222 9)&(C0!_2W17A_[,OQPT#]IC]G/P'^T3X6"KI_CGP_INO0
M(IW;$U"W2?83ZIOVD'D$$'FOQ5_X)L_\%C_C)_P4(_X*<?'S]D_0O".C6GPM
M^#,M]9Q>(K=YWO;RZ@O?L=N&!?R@DXBN900N=L8'<D ']#5%%% !17DOQ\^,
M'AW]GGX%>-?C]XOBDFTGP-H.I>(+V.''F/;Z9;R7,BIGC<4C(&>]?RA?\$H_
MV]_^"_/_  55^)V@?M>:)'X%\%_LY2>*CI^H:48!)?R:;:,#<+;NX>:20*1$
M9F>)3)EECVC;0!_8O1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%?E#_P %I/VZ/CG_ ,$WOV$=:_:_^!/AC3/%EUX9
MU+3H]4L]5,RPII][+]F,JF%E;>L\D(Y.-I;/J/J7]@C]J73_ -MG]C#X9_M7
M:?!%:-XZ\/V>IW5K Q>.VO70+=0*QY*PW"R1@GDA>>: /KFBOY-+?_@Y-UF?
M_@NPW_!+@^%-&'P\_P"$J;P</$7G3?VE_:BVWE[=N[R<?VD/L^-N=G/WJ_H)
M_P""@7[5=C^P]^Q3\3?VL;VWBO)/ V@76HVEK.Q6*YO@NRTA=EP0LMPT<9(Y
M ;CF@#["HK\I_P#@C!^W)\<_^"CO["&A?M?_ !W\,:9X3N_%&HZ@FF66E&9H
MFT^RF-LLK&9F;>\T4W0@;0I'J?U8H **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH __T?[^****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ K^>S_ (.AOV7O^&F/^".W
MQ#O-.M_M&K?#B:T\:6(QG:--8I=MGJ MC-<M^%?T)UQ'Q,^'OAGXM_#?Q!\*
M?&L/VG1O$^FW>DW\/_/2VO8FAE7G/5'(H _E(\8?\%*MW_!I'#^TVE_GQ%J7
MP_B^'PDW?OWU1I/[ FD]1)M62Y^@W#M7X.?LZ?LM7/\ P1L_:>_X)L_MJ7,3
MZ?;_ !@THZ=XND8D(L^OS/\ /< _=,5AJUNNW_ISSC<#7YV_"J^^,7Q(T#P?
M_P &XOB-+G[7:_M#3OJERF56&VA5=-G4<YV1,+JZ(QCOR<8_M_\ ^#J+]E&W
M^+/_  1^U7Q9X#M!;:C\%]3TOQ/IBVHV/#:VY^Q3K&1]U([>X,I'3]R#U H
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
M%_C+8&N=,TVTM(C%#"0"T0CMFMR6BVRR331QAXE#LWXZ?\$9OBSXH_X*^_\
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
MLN^)=;\ 3?%"6VUO4K#1;^2U::*YL(+HV<DD?+JCNR E3GKBOAK_ (+_ /\
MP1O_ &#?^"='[!-]\5_$?Q5\=?$#XQZ_J-A9>'!XRU]+Z25_/1[Z6*VCAB8H
MMLL@9Y#(J,Z@MN9<^?\ _!:#_E!C_P $Y/\ KQTO_P!-MM0!^WW@_P"$7_!4
M7]AZYUW_ (+5?\%0?VC+_4M#\+:#JFM:I\&]%>YBT.)[RVDBL=/0BX2T,T4\
ML,8=K63]X-QE<_O#\F?L??LJ_P#!;[_@MQ\)4_X*!?%;]K7Q!^SWX>\67%Q/
MX0\+^#8KB*W6QAD>-'E2VO;(^5O1@GG-/+*@WLP!4']Z_P#@X7^#'CCX^_\
M!&?X[_#KX=6\MWJJZ/::ND$(+220Z+?VVHSJJCEF,-LX"CDG@<FOYBO^")W_
M  1)_P"">?\ P4J_80\*_&+2_CU\6--\76,3V'BCP]H7B6QMX-)OH9'4*EL^
MGRR10RQA982SL"K?>)#  'ZL?\$:?^"AG[<7P^_X*"?$;_@BK_P4XUR#QEXY
M\%V1U7PQXNC0)+J=DB12^7*RJGFF2VF2>-V7S%V2I*SL%Q_5Q7\@7_!+[_@G
MO_P15^ /_!6J_LOV6?CU\0/B3\>_AEI]^NHZ7K=Y%J>GK;3VXM9S)>0:3#"Y
M@^TK&56[!CF^1ER"M?U^T %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110!__2_OXHHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@#\EO"G_!%/]ACP9_P4:O/^"H^AZ9J:_$^\N;F]8->!M-2Z
MO+4V<TR6_E\.\;.Q)<_.Q;TQ^D'QE^$W@GX]_"+Q3\#OB5;&\\/>,=)O-%U.
M!3M:2TOX6@E4-S@E'.#V/->DT4 ?G#_P3=_X)7_LG_\ !*WX?^(OAU^RK:ZE
M':>*=034M0GU:Z%W<2211B*- X1,1H,E5QPSL<\\<%_P4A_X(O?L&?\ !4V/
M3]4_::\.W,'B;2(?LUCXET.X^PZM#;Y+>49"DD<L88EE2:*0(2Q3:6;/ZMT4
M ?SP_L<?\&Q/_!,?]COXU:?^T%'#XG^)?BG19H[K2[GQOJ,.H1V5Q#@QS)#;
MVUK$[QD QF99-C ,N&"D?T/444 ?AO\ \%"_^#>S_@GU_P %'OC)'^T7\2X_
M$7@OQ^4ACNM?\'7\>GW=X+=0D1G$\%S"SH@""41K)L 4L0J@>*67_!K3_P $
MI;/X:Z)\/WTSQ)<7ND:P-<N/$$VJA]9U.[50J?:YS#M:- #LBBCB0%F;&YB3
M_1G10!^<OQG_ ."6_P"R[\>/V]O '_!1[QVNK'XC_#;3HM+T<V]X([#R(9+J
M1?-@\LEVW7DN3O'&WTY^Z/B)\._ GQ;\"ZM\,?B?I%IK_AW7K62RU'3KZ)9K
M:YMYAM>.1&!#*P/0UV5% '\KOC'_ (,_/^"4GB3Q;>:YX;U?XA>%=&OIA-+X
M>TG7(#IA"G(3_2K.XN2HZ#=.6'8U^_W['O[%_P"S5^P5\$[+]GW]E7PO;^%O
M#-G(UPT43-+-<W,@ >XN)I"TDTSA5!=V)"JJKA551]244 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% 'Y+?&[_@BG^PQ^T#^WUX;_P""D?Q$TS4Y
M/B1X8N-+O+8P7@CL);G1R#:RS0;"7>/:G.\9"+Z5^L-W:6M_:R6-[&LT,R-'
M)&X#*RL,$$'@@C@@U8HH _)__@G#_P $8/V(_P#@ECXJ\8>,_P!E6PU6+4/&
ML-M;WLFJWOVSRH+5Y)%C@^1"BLTF7R6+;$YXY]5_X*$_\$M_V,/^"GOP^LO
M?[6?A?\ M272&D?2M7LI3::IIS2XW^1.N?E? W12*\3$ E"54C]"Z* /YE?@
M'_P::_\ !*CX*_$W3/B;XN;QC\4&T=D>STSQGJD%WIL9B.Y T%K:6GFHI_Y9
M2L\3#AE8$BOZ9H88K>)8(%"1H JJHP !T  Z 5)10!^<OQ@_X);_ ++OQP_;
MZ\!_\%(_&ZZL?B1\.M.CTO2#;W@CL/L\373KYL&PEVS>2\[Q_#Z<_17[7G[*
M_P +/VVOV<?%/[+7QL%V?"WB^WBMM0%A-]GN-D4R3KLD*MM.^-<_*>,BOI"B
M@#\I_&?_  1@_8.^)'[ 7AS_ ()M_$/P]=ZU\._" +:)+<W1_M2QN-\L@GAN
MD"%909G7[NUD)5U920?@#X%?\&IW_!+WX+ZQ-J^O77C7XA;+"ZL-,M_%>K0W
M5MI/VN-HC+:0V]I;()8U<F)I1((W"N!O52/Z5Z* /B?]@+]@/X!_\$V?V?X_
MV:OV;AJ*^&H]0N=3 U2Y%U<>?=[?,^<(GR_*,#'%?*<?_!#+]@*+_@HJ?^"G
MZ:/J7_"R3J1UCR?M@_LK[>;;[.9_LWEY\S_EMG?_ *[Y_:OV$HH X_X@?#[P
M/\5_ ^K?#3XF:3::]X?UVUELM1TZ^B6>VN;>92KQR1L"K*P."#7\QWC3_@S]
M_P""4GB;Q=>ZYX9U;XA>$]'OYA-+X>TC7(#IA"G(3%U9W%R5';=.2.QK^J&B
M@#Y7_8Y_8J_9G_8&^"=G^S]^RIX7@\+^&K61KB2.-FEGNKJ0 /<7$TA:2:9P
MJ@N['"JJKA%51UO[3G[,7P-_;'^!^N_LZ?M':!#XE\(>(X1%>64Q9#E&#QR1
MR(5>.6-U#I(C!E8 @U[W10!_,O\ !7_@T[_X):_!WXD:;XWU&[\;^-='TB]&
MH6GA7Q'J\-QH*3JVY2UO!:0/(H/59975QPX8$@_JA_P3R_X)<?LN?\$Q=$\8
M>'_V8DU5+;QQJ2:KJ0U2[%T?/C5E7R\(FQ<,>.:_1BB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@#XG_ &_?^"?_ .SO_P %*?V?W_9L_::M;RX\.MJ%
MMJD;:?/]FN8;JUW!'CD*OC*NZ-\IRK$5Z/\ LA_LI?"#]B#]G'PO^RQ\!;:>
MT\)^$8)8+%+F3SISY\SSR/(^%W.\LCNQP,DU](T4 ?DQ^UQ_P16_89_;:_:_
M\%_MN_'/3-3N/&O@9=-2S%I=B"RN4TJZ>[@6ZAV-YH\QV5OF!:/"] *_3CQ_
MX \$?%7P1JWPU^)6DVFO>']=M9;+4-.OHEGMKFWF4J\<D; JRL"00177T4 ?
MRO\ C7_@S^_X)2>)_%U[KOAC5OB%X2T>_F$LOA[2-<@_LP@'(3_2K.XN"H[;
MIR1V-?OO^QQ^Q1^S-^P+\%+/]G[]E3PO!X7\-VLC7$D<;-+/=74@ >XN)Y"T
MDTKA5!9V.%"JN$55'U310!Y?\</A%X1_:"^"WB_X"_$ 3'0?&^B:AH&I?9G\
MJ;['J4#V\WEO@[7\N1MK8.#SBO!?V#?V%/@7_P $YOV=[']F']G0:@/#&GW=
MU>Q#4[@75QYMX_F29D")D;N@QQ7V510!_/G^W)_P;-_\$Q_VZOC'??'_ ,16
M7B'X>^+M8F:YU2_\%WT-@+^X?.^:6&XM[J 2ODF1XXT:1B6<LQ)/UM_P3;_X
M(Q_L(?\ !*ZSU&[_ &8?#US+XCUB$6U_XDUN<7NK3VX(;R?,"1QQ1%@&9((H
MU=@I8,57'ZK44 ?E)_P4E_X(N_L'?\%4;;3]0_:<\/W4'B72(3;6/B30[@66
MK0VY);R3(4DBEC#$LJ312!"6*;2S9^6OV#_^#:C_ ()H?L#?&:S_ &A/"%IX
MA\>^,M)E$^EZEXSOH;XV$ZC"RPQ6]O:P^:O\$DD;O&0"A5@#7] %% 'YA_\
M!2;_ ()"?L3?\%5O#.D:/^U1H=T=4\/>8-*US1[C['J=I'-@R1K(5DC>-B =
MDL;J#RH!)-?!_@+_ (-;O^"3_P /OV=O$_[.^F:)KUU'XPEM&U3Q!=:BKZW)
M#8S+/%!',L*Q0P^8JLZ10IYA5=Y;:N/Z+** /S/_ &BO^"1G[#O[5O['O@W]
MB3X[>&9=;\)_#W2['2_#EV;AHM5TY-/MTM8I(KJ,*P<Q1J) 08Y"!O0X 'Y4
M?"W_ (-&?^"5?@'QSIOB[QOJ/CWXB6.DN'M=$\3ZU#+IJ!3D)LL[2TE*# RA
ME*L!A@1G/]0]% &7HFB:-X9T6S\.>'+2&PT[3X([:UM;:-8H8(8E"I'&B@*J
M(H"JH   P*U*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "OR6_;._X
M(I_L,?MY_M4>#/VPOV@=,U.Y\7^!XK"WM!9W@@M+F'3KI[N%+F+RV\U?,D<-
M\P)0[<\#'ZTT4 %?DQ^Q1_P15_89_8!_:<\:?M:_L\:9J=KXL\<PWEM>?;+L
M3VMO!?W27<L=M%L7RU,D: ?,Q"J!GKG]9Z* /B?]NO\ X)Y?LE?\%(?A&OP9
M_:U\+1>(=-M93<Z?=1NUO?:?<,,&6VN(R'C8C&Y<E'  =6 Q7XE_"O\ X-$?
M^"4GP]\>:=XQ\87WCOX@6.E.'MM#\2:S!)IB '<$V6=I:RE,XRAE*MC# @D'
M^HRB@#*T+0M$\+Z)9^&?#-G!IVFZ=!':VEK;1K%!!!"H2..-% 5$10%55
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
M7]G\0K^+1=.%\^PW4$,9M(IXY(7+?9WAFN0Y0+DAQ(H!_J;56O+RSTZTEO\
M4)4@@@0R222,%1%49)8G@ #DDU\3_P#!./X4?M2? S]CCP;\(_VQ?&MC\1?'
M&@VSVL_B.P>61;^U#DVSR23*KR2K"5C>5AF3;O8EF)K^*7_@]5_:"_:2TCXX
M_"K]FJ+4M0TKX1ZIX=;698K8LEMJ6KK>2Q3+, 568VL"6[HC'"&8G@MF@#^^
M+P3\?/@5\3-8E\/?#CQKH/B#4(-WF6VFZE;W<R;>NY(G9ACOD<5UGBKQ]X%\
M"1PR^-]:L-&6Y+"$WUS';B0KC(4R,N<9&<=,U_FDVW_!';_@D'^T!X9\">(_
M^"0O[9]GH/Q7@O+:66+Q_JRZ+<R/L)WV445I:WD-TDP7:B><"I.'RH9OJ'_@
M[;\)?'WP#^P[^R%X'_:CU^R\5_$#2#KUGK>LZ>KI!?W,$-BGV@!U1@\BA6D^
M4#>6P ,4 ?W[>*_C3\'/ FFZ=K7CCQ;HVC6>L!383WU_!;Q70< J86D=1)D,
M"-I.<CUIGQ=T[7_%WP8\4:1\/_$*>&]4U31;V'3==&V1+"XF@=8;OD[6$+%9
M.3@A:_@>^!'_  ;&?%/_ (*2_P#!.CP-^UU\>?C)JJ_$[6/ >DIX(T8P1MHN
MG:)8V4<6D6<FX^8!+;I$\CQ&,(\K.4D;<7\!_P"#;+]OKXTW_P"S_P#M-_\
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
MS<_^"=7PT_X)H?\ !55_&'_!03_@O#^T+HEQXZ\4:O<VFC>#]0\5PZ&FE:;
M1M(A\Y)XX]S,EO"A2-8TWMYC297Z'_8!^-7P6_X)5_\ !=?PA^QG^P%\9K;X
MK_LT_'2W1&TVTUB'68=%U>Z\Y(E#P,46XCGAC^?:K26TX5][HKT ?Z#-<?XW
M^(7@'X9Z*?$GQ'US3_#^G*VTW6I7,=I &/.-\K*N>/6HOB3X\T+X5_#K7_B?
MXH9ETSPWIMUJEV5&6$%G$TLA'OM4XK_+N_89_9T_:$_X.H_^"C7CSXE_M;^/
MM1T'PAX6M#J4L%B1/_9MK=S&.STS3HY<Q0KM5V>4HQ;RRSAW<M0!_J-^#/'?
M@?XC:&GB?X>ZS8Z]ILI*I=Z=<1W4#$=0)(F93U]:HR?%#X:0^)QX)F\1:8FL
MEQ%]@-W$+K>PR%\K=OR0<@8SBOX+?A'_ ,$2_P#@K)_P1F_X*F^&?B!_P35B
MUCXF_!:]FTZ37Y9M0L+ 7.F32F.]LKZVFN81-/!&&EAGCAPI9&4!@RU\>?%[
M_E<\M/\ LHVA_P#ILMJ /]*KQ1XS\(>![!-4\::K9Z1;22"))KV=+>-I""0H
M:0@%B 3C.< U?T37=$\3:7#KGAR\@U"RN 3%<6TBRQ. 2"5=25."".#U%?R"
M_P#!ZW_RC)^'7_93[#_TU:K7XJ_ML?M"?M,?!;_@U<_9-\(_!34+_1/"_C:]
MU?3?%-_I[O$[PQW=[);V<DJ$%8K@B1G7(W^5M.5+*0#_ $5]/_:)_9^U;Q<?
MA_I7CKP]<Z\)/*.FQ:G;/>;\XV^2)#)NSQC;FO!?^"BG[7EM^PY^QO\ $']I
M.V73KW6/"FAWFIZ9IFH7 MTOY[5-PB&"';.1G8">:_S:_P!F7_@F+_P1&_:T
M_87T"]\ _M51^ ?VEKRSMY;S3_'-Y#H^@6^I%AYMJ!):H[1XR(IH;J4EL,5Y
M,:_O5_P4$_X(^_&GQ+_P0?34OV]_C!_PL+Q7^SGINO>(?".L^'9S<VVI:9<V
M]NUO!>SW</FS"(QLJ2(03$4&XXH _6K_ ((0_P#!;K5?^"LOPY\9^)_C+HOA
M_P  ZOX?UFUTO3]/M+\O)>K<1>9N59R'9MWR@(#^=?OWXI\7>%/ VB2^)?&V
MIVFCZ=;X\VZOITMX$STW/(0HS[FO\U#_ (-1O^"3'P8_;)\77'[<GCKQ)K6E
M^(?@GXUTFZTJPL#!]CNV@470%QYD3R8++@['7CWKQ_16^/O_  =.?\%G-;^%
M'CGQQ?>'OA5X=&J:KI]I;GS8M)\.:=,EO$;>W8B(WET\T EF<$[I"<%$2.@#
M_3X\!_$[X:_%32FUWX8>(=,\1V2-L:XTN[BO(@QYP7B9E!QVS3O$_P 3/AQX
M)O(M.\9^(--TBXG7?'%>W<5N[KG&561E)&>,CO7^8!_P4_\ V#_CA_P;"_M?
M?"W]H[]AGXE:O>Z'XL2Y>V?4-J2O+I;PFZL-02 1PW-M,DT;+E$SE@ &17/2
M_P#!V-\>M(_:+^+_ .R[^TUX4A-M9>-_A-IOB2U@<[C$FH7$ERL;'C)3?M;I
MR* /],SQ!\7OA/X2\5V/@3Q5XHTC3-<U/'V/3KN]AAN[C<<#RH7<.^3P-H/-
M:'CKXD?#OX7Z./$7Q,U[3O#NGLXC%SJ=U%:0EST7?*RKD^F<U_FG_P#!;S_@
M@E\3?V;/V,S_ ,%3OC%\8K[Q]\4->U33[KQI;WEL$M_M&LD#%E*'9PEM*RQ(
MK#:T0!41!1&?5/V/?^".'[1G_!>G_@G;:_MP?M5?'K5Y-?\ "^EW7AGP)I4T
M N[.&UT&/R@UV[N',ES,C"611YAP)&:0X10#_1]T;6M&\1Z5;Z[X>NX;^QNT
M$D%Q;R++%*C=&1U)5@>Q!(KF/'GQ0^&GPKTV/6OB?XBTSPY9RML2?5+N*SB9
MAV#2LH)]LU_G/?\ !II_P4'\=_LX?#3]IWPUX[OKG5OA_P##GP+=?$6VTJ24
ME+>YTO?YZVX.1&;I64. ,%D4XSG/YQ?L?6'[.'_!:']J+XA_M/?\%MOVF/\
MA7EM;M"--LEO8;6ZN&NFD806 NDN(;6SLU0#8(6+&1>=V]B ?ZSOASQ-X;\8
M:-!XC\):A;:II]R-T-U9RK/#(/570E6'T-8<?Q-^&\OBC_A"(O$.FMK0<Q_8
M!=Q&ZW@;BOE;M^0.2,=.:_R^/V*/VH/#?_!&#_@M+X8^"_[$?QK7XN_L^>/M
M7TG3]2-O<++;36FKR"V+7$4>(EOK"0[UEC5"Z*!A4E9*\S_;:^'?Q^^,/_!S
MS\0_@]^S!K@\,>-O&'C*ZT&QU=F9/L$6IZ?]ENK@,GSJ8K:25P4^<$ KAL4
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
M-^'O&&@7GA3Q;86VJ:7J,+V]W9WD2SV\\,@VO')&X*NC D,K @C@T ?PV_\
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
M%^T7]O2&ZUG4+GPG%J.[SHO#D@B^SA0_S+$TXN'A!X,3*5^0K7S;_P ''/\
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
M?LK^(+WQ7^S1\*O"G@#4]2MQ:7=WX?TBVTZ:> ,'\MW@C1F3< VTG&0#6?\
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
M HHHH **** "BBB@#__5_OXHHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH _];^_BBBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@#_U_[^**** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** /_0_OXHHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH _]'^_BBBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@#_TO[^****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
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
MXDTV+6?#UY#?6DPW1S6\BR1L/9E)!K5H **** "BBB@ HHHH **** "BBB@
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
M^VG^S3X/_:=^$UP)]%\7:?'>1KD%H)3\LL+XZ/%(&1AZBOI6@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH *Y/QWX$\&_$_P;J?P]^(6F6^LZ'K-
MO):7ME=H)(9X9!AD=3P017644 ?PX_%3X4?M+_\ !L%^TQ<_M"_L[V^H>-_V
M0O'%^I\0>'PS2S>'II3]].NW;_RSDX#J-C\@&O[&OV;OVD?@U^UK\&]$^/7P
M%UN#7_#6O0+/;7,# XSU1QU1T/#*>0:]'\>> _!OQ0\&:G\//B'IEOK&AZS;
MO:7ME=()(9X9!AE93P017\BGP^_88_;U_P""'W_!0+2C^P)H>H?$_P#9M^+.
MJB+4_"ZR;I= GDR6E5F.U%C7)60X5U&UN<&@#^QBBHT<F(22#9D9(/:N(UKX
MH?#?P[)Y.NZ]86C_ -V6X13^1-3*2CK)V-:-"K5?+2BY/R3?Y'=T5RVA>./!
MGB=0WAW5K2^ST\B9'/Z&NIIJ2:NF*I2G3ERU(M/LU8_G _X.M/\ E#=XT_["
MVE?^C#7[&?L&_P#)E?PK_P"Q7TS_ -$)7XY_\'6G_*&[QI_V%M*_]&&OV,_8
M-_Y,K^%?_8KZ9_Z(2F9GUG12,RJ"S' '4FO/M<^+7PO\,R^1X@\0Z=9O_=EN
M$4_EFIE.,5>3L;4</5K2Y:,')^2;_(]"HKCO#_Q#\!^*P/\ A&=9LK_/:"='
M/Y U\;_\%*H_VW[S]E#7]'_X)^6VGS?$*_46UO+J$PA%O%)\KR1%OE,B@Y4$
M@=Z<9)JZ9-6C4I2Y*D7%]FK?F?DO_P %CO\ @L=XR^&/C&U_X)V_\$Z[4^,?
MCYXQ(LR;,>='HL<O!ED(R!( <@$X4<FOI3_@C?\ \$<?!O\ P3N\&W?Q:^+-
MT/&/QN\9 W7B/Q'=?O94DF^9X(7;)"@GYFZL?:C_ ((Y?\$<?!W_  3O\'77
MQ:^+5T/&'QM\8 W7B+Q%='SI$DE^9H86;)"@GENK?2OW-IF84444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% '_U?[^**** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBOA#_ (*5>//&'PT_8X\6^,O >H3:
M7JEI'&8;F XD0E@#@\UAB:ZHTIU6KJ*;^X]7(LIGFF8X;+:4E&5:<8)O9.32
M3=NFI]WT5_ =_P -^?MF?]%%UC_OZ/\ XFC_ (;]_;,_Z*+K'_?T?_$U\;_K
MWAO^?4OP/Z?_ .)1\^_Z&%'[I_Y']^-%?B'_ ,$^?^"G?P6OOV<[&#]K'XIZ
M!IGBRUN)8675+Z&VN9(%QL=T8KUYYQS7VY)_P4M_X)]Q(TC_ !F\(!5!)/\
M:UOT'_ Z^QPF)CB*,*\-I*Y_,O$>1U\FS3$Y5B6G4HS<&ULVG:ZO9V9]ODA0
M68X K^:O_@JA_P %UU^"_CU/V&O^"=VD'XI?'O76^QQVU@OVBUTEWXWSE,@N
MO79GCJQ KXS_ &P?^"M/[5W_  56^,]__P $]?\ @BG!+_92.;;Q3\2B"EI:
M0$[9/LTF, 8S^\Y9CP@/6OVK_P""5_\ P1U_9N_X)@> FD\*1GQ-\1-87S->
M\6Z@/,O;N9^7$;-EHXRQ/&=S=6)Z5T'BGY$?LV?\&S%O\?BG[0G_  6*\>ZY
M\3OB%K/^DW&D0WK1Z=8&3GR@1G=MZ$1A%';/6OO$?\&Q'_!&0#'_  JK_P G
M[G_XNOWY>6./ D8+N.!DXR:?0!^ ?_$,3_P1C_Z)4/\ P/N?_BZQ/$/_  :Y
M?\$:]=TB;2[7X<7&FR2J0MS::A,LL9]5+EAD>X-?T+T4 ?PW_&O]GK]NO_@V
MB\96/[3'[,/BG6/BS^S%)=QP^)?"^J2--<Z1!(VT2(>0H&?EE0*N[ =1D&O[
M$OV7_P!IKX.?MA_ SP]^T1\!=7BUKPSXDMEN+:>,_,A/WXI%ZI)&V5=#R",5
MZSXS\&^%?B'X3U'P+XXT^#5='U>WDM+VSN4$D,\$RE71U.058$@@U_$7??\
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
MG0-1V\">:-+B%=WJ<FW_ .^17]?]?4G\^!1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
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
M_@D%H%JF//@\0:LL_KOWKUK]=?\ @I7;WES^P[\15L@2RZ5(S8_NC&:_ _\
MX-6/%\GP_P#"/Q\_8D\1-Y.K?#CQQ>21V[\.+:Y=@&QZ9"_G7]2'QA\!6GQ1
M^%?B'X=WPW1ZS83VI!]9%('ZXKFQE)U:%2FMVFOO1[?#6/A@<WP>-J?#3JPD
M_2,DW^"/\Y<U\4Z#^UY;V/QWU#X)_%?2V\.2O(!I5S*V8[E#TRW0%NW/MUK]
M ?'7@_6/A_XSU7P/K\9BO=)NI;692,?-$Q4_@<9'M7R5^T;^SEX0_:&\(-H^
ML+]FU.VR]C?(,20R#ISU*D]17XA@OJ\:DJ6+CH]+]8OO;KYH_P!8.*HYS6P=
M+'<.UDZD&I\DK<E:#6L'*UXMIWC).RE:^A]$@@C(Z&O.OBO\3_"_P?\  M_X
M]\6S"&ULHRV/XG?^%%'<L> *^$/V>OVE/%7PJ\5-^S?^U"_V/4[(;=.U24XB
MNHA]T%SP3@<'OT/-<%>2:K^WY\>O[.MV>/X:>#YMTCC(6]N%]/7=T'HN3W%=
M]/))0K-XA_N8KF<ELUTY>[>R_P" ?(8[Q3HXK+*<,EA?,JTG2C0EI.G52]]U
M5O&%)>]*6S5K/WD=G^RA\,/%'QO^(5S^UY\9X3YEPQ70K*3E8(1T< ^G\)[G
M)]*_3^JMC8V>F646G:?$L,$"+''&@PJJHP !Z 5:KS<?C98FKSVM%:171);(
M^VX/X6I9#EZPL9NI5DW.K4?Q5*DM93?J]$ND4ET.[^%UO=W?Q)T"UL,^?)J%
MLL>.NXR+BO\ 1T'05_"K_P $P/@E??'#]LWPAIBPF2PT2Z76+YL958K(B0!O
M9W"I_P "K^ZNOT#@2A*-"M5>TFDODO\ @G\;?2XS6C5S?+LO@[SI4YREY>TD
MDE_Y(W\S^0O_ (+;;;[_ (+R?\$^-/TOF\BUV[FE Z^2+NS//MA'K^O2OX^_
MC%<K^UW_ ,':OPX\&:*?M6E_ #P3+J&HLO*PW<\4S@'WW75M[Y^E?V"5]V?R
M,%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110!\J_MQ^/;[X8_
MLA?$7QKICF*ZM-#ND@<<%99U\I"/HS@U_G]$Y.37]^?[?7@V^\?_ +&/Q)\+
MZ8ADN)=#N9HT7DLUL/. 'UV8K^ NOS'CMR^LTD]N7\;Z_H?WM]$:-#^P\QE'
M^)[97[\O(N7\7+\0HHHKX4_K8**** "BBB@ HHHH **** /4?@EXLO\ P)\8
M/#'B_3',<VGZG;2JPX.!(,_F,U_HF:+J"ZMH]IJB\"YACE'_  -0?ZU_G4?"
M#PW>^,/BKX<\,:<ADFOM2MHE4<GYI%S^0K_14T'3_P"R=#LM*Z_9H(XO^^%
M_I7Z/P'S<E?M=??J?P_]+U4/K.4M?Q.6K?ORWA;\;V^9K4445^@G\9A1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110!_]?^_BBBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ K\X_^"L7_ "8EXV_ZY1?^ABOT<K\X
M_P#@K%_R8EXV_P"N47_H8K@S7_<JW^&7Y'V?AU_R5.5?]?Z7_I<3^&NBBBOP
M8_UY/[+/^"(7_)E<7_86N_\ V6OV$K\>_P#@B%_R97%_V%KO_P!EK]A*_<LB
M_P"1?0_PH_R8\7/^2SS?_K]/\PHHHKUC\Z"BBB@#\@_^"M'_  1_^!'_  5&
M^%B0:T?^$8^)'A]3/X:\66:[;NSN$^9$D9<,\);&5SE>JD&ORL_X).?\%<OC
MM\!?CRW_  2/_P""OQ.A_%'1G6U\,>*;L[;77[?I"K3'"M(X'[J7_EK]UL2#
MYOVWO?\ @JC^QQI/[>)_X)SZ]XA.G?$9K".]ABNXC#:SO+RMO%,V%>8K\P4=
M1P#GBO+O^"MG_!)/X'?\%4O@<?"7BT+H7CK0E:X\,>)[=<7-A<CE58C#/ [
M;TS[C# &@#]: 01D=#2U_)5_P23_ ."MGQQ_9]^.@_X)!?\ !7K=H7Q0T-EL
M_"WBB\;%MX@MONP(TS85Y' _=2Y_>_=;$@PW]:H.>10!^9__  5\_P"3 /&_
MUL/_ $KAK^'^O[@/^"OG_)@'C?ZV'_I7#7^?-^TU\=M9^"VA:-8>#-);7/$W
MBC4(]*TBR!P)+B4@+G')Y*@ <DD#CK7YCQ?AJF(S.E1I*\G%6^^1_>OT;,]P
M63<!9AFF8SY*-*O-R=F]/9TELM6VVDEU;/IFO[/_ /@B7_R8GI7_ &%-1_\
M1QK^!_P1\0?VAO ?[1?B/]C_ /;"\(KX/^(/AVUAOI+:)Q)&T$R1R+RK.N2D
MJ,"K$$$]"*_O@_X(E_\ )B>E?]A34?\ T<:?#& K8/-I4*ZM)0?YHGQ]XMRS
MB3P[H9KE-3GHRQ$%JFFFHU$TT]4U^6JT/UQHHHK]-/X,"BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH X'XJ:EX]T;X;ZYJOPML(=4\1V]E-)IMI._EQ37*J2B,V1
M@$X[CZCK7\7W[5W[>O\ P4%\3>*+[P%\8]7O_!TD#E)=)L8FTX)GMD?O64CU
MD((K^W^OG7]HG]E+X%?M2^&&\,_&/0H=0*J5M[Q!Y=W;$]XI0-PYYVG*D]0:
M\#/LJQ&,IVP]9P:Z='ZVU_3R/V'PB\0<FX8QKGG.60Q$)-6J64JE/_"I>ZUY
M>[+^]T/\^"YNKF]N'N[R1II9"69W)9F)ZDD\DUO^"EA?QEI*W'^K-[ &SZ;U
MS7Z]?MC?\$:/C;\"OM?C3X+&3QIX9CW2%(D_XF%L@Y^>(9\P ?Q1Y]2HK\:F
M2\TN]VR*T,\#]&&&5E/<'N#7Y)C,#B,'5Y,1!I_GZ/J?Z0\-\6Y/Q)@'B<EQ
M,:D&K.VDHMK:47K%^32\C]IO^#F7;)^TA^P#IMY_R!IOBC +O/W,"[TD+GM]
MTO7]?<(00J(_N@#'TK^0+_@Y+TC7/C9_P2/^$G[=7PQ3S]1^&.OZ'XGW+SY4
M%RH1R2.FVX$ -?U(?LS?&GPE^T;^SUX*^.W@6<7.D>+=&LM4M9 0<QW,2N <
M9Y&<$=C7[O3FIP4X[-7/\A\=AJF&Q-7#U5:<).+7FG9_B>X8&=W>@@'!(Z4M
M?('QD_;(\"_LVZJR_M!:9J?A[0F/[KQ%':R7FDX/_/::!7-L1W\]8U]"15G*
M?7])M7.['/K7PC8_\%0_^"=&HZ9_;%I\;O!1M\9W'6K52/P,F?TIW@;_ (*%
M? ;XY:Y_PC/[+DEW\3+@-MDO-$@=])M_4RZ@P6U7'7:LC.>RF@#[L(!Y(Z4M
M0V[3M C72A)"HW*IR >X!XS3IIHK>%[BX8)'&"S,QP !R23Z"@#^0[X4?Z+_
M ,'>_P 0(-"_X]9OAQ"]WMZ>=Y$1Y]\YKY#_ ."HD=K'^W/X^%IC:;[)QZ[1
MFOJ'_@B=J"_M>?\ !9']K3_@H;%F3PSIET/#.CW9^Z4A8[AGVC4&OA_X]'Q3
M^U)^V;XE@^']LVH:CXDUN:*RA4@;SN*@9)  XZDU\1QQ*^'HTEK)RT7R_P""
M?U=]$^BX9UF./J/EI4Z-I-Z)7DGJ]MHMGQ_7OW[.OB/]HW0/']K_ ,,TW&KQ
MZ]*X$<>E!W:0^C(H*L/4,"*_=W]F/_@@VH^S^)/VI==]'.D:4V?^ R3D8^H1
M3_O5^^7P<_9]^#/P T!?#GP@\.V>AV^T!V@C_>R8[R2'+N?]XFO"RK@_&5)*
MK6E[-?\ DW_ _K0_6_$'Z2W#.#I5,!EE'Z[-W3NK4?FVGSKR4;/^8\P_8OU'
M]J#5/@C977[6MI;6GBDN?E@VAVAXVF55)59#W Q]!7UE117Z?0I>SIQI\S=E
MN]WZG\#9KCUC<95Q:I1IJ<F^2"M"-^D5=V2Z*X4445J>>%%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 ?QE_M%ZBW_!(3_@X;T#]I340;+X5_M*6JZ5J]QC
M$$&IY"AG/0?/M;UQ7]F$,T5Q$L\#!T<!E93D$'H0:_%W_@OE^S+\%?VG/^"=
M7BOP_P#%F8:?J&D[+[P]J" >=;ZHA_=;#D'#'AL'I7P1_P &[/\ P5]/[1?@
M ?L#_M5WRZ=\9/AY"+.W^U-M;6=/@&$EC)QOD10 P')7#>M9JM!U'2YO>2O;
MK;N=TLMQ4<)''RI/V,I."G;W7))-QOW2:=CL_P#@L_\ L#:L=9F_:T^%%DT\
M$Z@:_;0KED91@7  [$</Z<'UK^;FO]*>]LK34;26PU")9X)E*21N RLK<$$'
M@@U_/;^VI_P1&TCQMJ=W\1/V5;F'2;R<M+-HER=ML[GD^3)_!G^ZWR^A KX#
MB3A:I4J2Q6#5[ZN/GW7ZH_L7P.^D#@\)@Z7#W$U3D4%RTJSU7+TA/M;:,MK:
M.UKO^.+]HO\ 9L\"_M'>$3H'B=?L][!\UI?1J#+ WZ94]US7<_![X3^%O@I\
M/[#X?^$HPMO:)\\F,--*?O.WNQ_(<=J^XOBK^Q]^TU\%+Z2R^(_@O5+!8R1Y
MWV=I(&QW65 R$?0UX9!X3\47,PM[?3KEY"<;5B8G\L5\15J8N-)82IS**=^5
MWW/ZMR[ \.U\=+B' JE*O."@ZL7%WBM;73MVUWLDF[)'/U?TO2]1UO48-(TB
M![FZN76.**-2SN['   Y))K[8^!W_!.#]L#X]WL*>%_!]Y86,A&Z_P!30V=N
MJGOND +?1037],_["?\ P2F^%7[)DT'C_P 9RQ^*/&B@%+IDQ;6C=_(0\EO^
MFC<^@%>CE?#F+QDU[KC#K)_IW/B?$#QMX;X8P\U[>-?$V]VE3DI._P#?:NH+
MO?7LF6_^"5/[#4W[)7P@D\4>.X%7QGXI5);U2,M:0+S'!GUYW2?[6!_#7W1^
MTI\?OA[^RS\!O%G[0OQ5O%L= \(Z9<:E=RL<?) A8*OJSG"J!R6( KVN66."
M)IIF"(@)9B<  =R:_P ]S_@X$_X*=7/_  4J^/4'_!,C]DK5#/\ #?PG?)=>
M.-=M6W07MU;-Q;QL.'B@8<]0\P&.$)/ZU2IX?+\+RK2$%_7S9_G+F&.SCC/B
M&5:2=3%XF:22\]%%=HQ5EY)7;W9^K_\ P;#_  4^(?Q7C^,__!7CXZVC0>)/
MV@-?G.D+*,O%H]M*QPI/_+-I-L2^UN#TQ7]9%?E]_P $@/B]X(^)'[#WA+P;
MX0M8-.?P':Q>'I[. !5C%H@$3@#'^LCPQ/=]U?J#71A<1#$4HUJ;]V2NCQL^
MR3%9/F.(RO&QM5I2<9+I==5W3W3ZIIA1116YY 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110!RWCB?Q7:^"]6N? D$5SK<=G.VGPS'$<ET$)B5R2HVE\ _,
M..XK^3;_ (:(_P"#QG_H@_PK_P# VV_^7E?UY44 ?G1_P3<\:?\ !0[XF?L^
M:@O_  5%\!Z+X*\?1ZE<6Z6^A7,-SI]YIKQH8Y (KJ[*.&,B.KR<X##@X'\G
M_P"W[^RIK?[)7[1>L^!9('&AWLKWNC7!'RRV<K$JH/=H_N-[C/0BO[UZ^2OV
MQOV/_AO^V1\*IOA_XV06]_!NETS4D4&:TGQU'JC<!US@CW (^>XCR;^T,.E#
M^)'5?JOG^9^T>"/B@N#LZE/%7>$KI1JI;QL_=FEU<;NZZQ;MK8_@$HKWG]H[
M]G'XG?LN?$Z]^%WQ1LC;7=L2T,RY,-S"3\LL3?Q*WY@\'!&*\&K\<JTITYN%
M16:W1_IS@,?A\;AZ>+PE13I32<91=TT]FF%%%%9G6%%%% !1110 445^A?[
M7[ OCO\ ;/\ 'RY633O"6FR*=2U$KQCKY46>&=A^74UT87"U<15C1HQO)GCY
M]G^ R7 5<RS*JJ=&FKMO\EW;V26K9];?\$5?V2-3^*'QJ'[0'B6U8:!X4)-J
M[K\LUZPP OKL')K]2O\ @J#\6O\ @MGX)\:>'=%_X)5_"WPOXPTAK6236=1\
M37EO$%G+82.&-[^T?A>68@C/ K]7OA-\)_ GP2\ Z?\ #7X<6":?I6FQB.*-
M!R3W9CW9CR2>M>CU^TY)E4<!A516LMV^[/\ +3Q5\0:W&&?5,S<7&DER4XO=
M05[7\VVV_-VZ'Y'?\$MOB%_P6$\=VGBIO^"K7@3PMX+F@>'^PAX:FCF$ZD'S
M/-\N^O,8/3.W\:_7&BBO7/S8**** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** /_0_OXHHHH **** "BBB@ HHHH **** "BBB@ HHHH
M*_./_@K%_P F)>-O^N47_H8K]'*XKXA_#GP1\5_"5UX$^(NFQ:MI%Z )[6?.
MQP#D9P0?UKFQM!UL/4I1>LDU]Z/>X6S:GE><X/,JT6X4:D)M+=J,DVE>ROH?
MYPE%?WG?\.UOV%/^B::1_P!\R?\ Q='_  [6_84_Z)II'_?,G_Q=?G'^HN+_
M .?L?Q_R/[@_XFWX<_Z *_\ Y3_^3/Y7?V8_^"E__!3O]D[X4#X=?LM_LGZM
M\7?"232W8\06DL\<;2OC?&!';R E,=F[U^]O_!)'_@LC\'_^"H'@[4] N].;
MP+\4_"LCP>(?!]])FYMF1MI>/<J-)'G@G:"K<,!QG]:_!'@3P;\-?#-KX,\
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
M]4O\SY##_1'S12<L9FE*%-:MJ,I.W>S<5^)^[WPA\/?\$5O^")GAN?2?V6-
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
MGP]^ OP]T_X8_#'3X].TK3HPB(@^9V_B=SU9V/))Y)J/X+_!CX>? 'X>:?\
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
M+> ";4M3F -[JEZ0!)<W,@ W.V.%&%1<*H"@"ONJ@ HHHH **** /DW]K?\
M8V^$'[8_@:/P?\3+=HKBT<26>HVV%NK8Y&X*Q!RK#@J01WZ@5Z[\%_@O\//@
M#\/-/^&/PQT^/3]+T^,*JH/F=N[NW5F8\DGDFO@S_@L/^WMXR_X)K?L2ZO\
MM8>!]%M/$-YHU_:6[6%ZSQQ2QW)93\R<J0<'//3'>OMO]FSXE:O\9/V?_!GQ
M8U^*."]\1Z/::C/'""(T>XC#D+DDX!/&36"PM)57745SM6;ZV/7JY_F53+J>
M4U,1)X:$G*-.[Y5)[M+^K7;6K=_;:***W/("BBB@#XE_;[_8$_9]_P""C/[/
MNI_L_?M!:6MU:72E[&^10+K3[H#Y)X'ZJRGJ.C#@U_,?^PG^W;^T?_P0_P#V
MD;'_ ();?\%2;Z;4OAGJ<WE?#[X@2[F@6!FQ'#-(<_NQP""<Q'_9K^TJOB;]
MOO\ 8$_9\_X*,_L^:I^SY^T%I:W5G=*7L;Y !=:?= ?)/ _564]1T8<&@#[/
ML;ZRU2RAU+39DN+>X19(I8V#(Z,,JRL."".01UJU7\_7_!$;]GK_ (*>?L8R
M^-?V/_VO[NS\4_"[P=(B>"/$SW.^^N+=R2(O+Y/EHO4.05;A<BOZ!: "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@#__3_OXHHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** /FSQ9^R5\#/&OQYT?\ :2\0:.LWBO0XO*MKG<0IX(5G
M0':S*"0I() ^@KZ3HHK.G1A!R<(I7=WYONSMQ>98K%1I0Q-64U3CRP3;?+&[
M?+&^RNV[(****T.(**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ KY^F_9A^#=Q\?HOVF)=+!\70V9LENMQV^7R,[,[=P
M!(W8SBOH&BHG2A.W.KV=UZ]SKPF88G"\_P!6JRASQ<)<K:O&6\7;=/JMF%%%
M%6<@5Y/X\^!WPJ^)OBOP_P"-_'.BP:CJGA:X-UIEQ(#NMY3CD8(ST!P<C(!Z
MBO6**F<(S7+-77F=&&Q=?#5/:X>;A*S5XMIV:::NNC3:?=.P44451SA1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 <QXV\&^&OB+X.U7P#XS
MM$O](UNTFL;VVD^Y-;W"%)$/LRD@U\M_L/\ [ W[,'_!._X0?\*5_9;\.QZ%
MI,MS)>7,C,9;JZGE).^:9LO(5&%7<3M4 #@5]ET4 %%%% !1110 4444 ?)7
M[;7[%?P1_;_^ &H?LU_M"6]U<^&=3GAN)TLYVMI2]N=R8=,$<]:]]^&?P]\.
M_";X>:)\,?"*NFEZ!90V%HLC%W$,"A%!8\DX')KN** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH __
MU/[^**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** /_5_OXHHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M_];^_BBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *_F1_P"#C[_@
MI'^V[_P2WTCX+?M ?LWW]FO@75M?GT?Q;97=A%<M,P$=S;I%*XW1F6"*[4X(
M^Z".17]-U?AG_P ''_[+W_#5'_!'OXMZ%I]O]HU;P=91^,=.(&YD?1&\^X*C
MJ2UF+A!CGYOPH _8Z_\ B?X'T[X73?&>YOX_^$:@TIM::]!S']A6'SS+_N^7
M\WTK^,S_ (-Z/^#A']J[_@HO_P %!?%?[-W[4]_IIT/6-#O]5\*V]K916LMO
M<6=Q&_V=I(P&E_T5Y&);)_=9[FD\8?\ !2K?_P &>5E\35U#_BIM2\,Q?";:
M6_>&=)SI4H8]=[:9&\^>ISSR37YR^(OV3A_P1C^(O_!,C]N.*U_LHZC9PZ)X
M[G"[&ADUR9[NX\\\;I%M=6NH1G^"U5<X H _J%_X./O^"G?Q<_X)>?L.:/\
M$G]G>]M++Q[XK\36FC:<]W;I=I';K%-<7,GE295@%B6/)!P9017[!?LE77QI
MU#]EWX>:I^T?<I=_$"\\.Z;<^(Y(H%MHQJ<\"27*+$@"JJ2,R  =!SS7\BW_
M  7=T_\ X;Y_X+V?L@?\$UK8?;=%\.$>*-?MUY0P7$YN;N.0=-PL=,.TG@";
MCJ17B?[3_P 8M5_X+E?\%<_BC^Q3\9OCF?@K^S+\"II]*O[*UU6WTJX\0:G:
MS&UF^:X81S.\Z3;&D26.&")=L>^5G(!_>U17^<S^V!\/? W_  ;F^._AU^V/
M_P $GOVAKCQ]X!O]>BTGQA\/K[Q#9:LMS$Z/-O\ *M/+0Q21Q21B5H?,MY2A
M60A]H_T0_!_BK1?'?A'2O&_AN3SM.UFS@OK60C&^&X02(<>ZL#0!T=%?S3?\
M%2?^"5'[9_\ P4:_:ZL;CX[?'F'X=?LDZ-8*;GP_X>O9;#5KFY5%WO=-+#]D
M<R2%MLLKR+#$@"0[W=S_ #;?M<>'_@!_P;]?MH_ _P"(W_!)?]H.\\7:/XDU
M=K3QIX'DU^UUB+[+%+;JWVB.S"(([F.614\Z,21RIOB?(^0 _P!**BOX*_\
M@OE'^U#XO_X./OV=O@]^RCXOE\'>*O%7P_L=+LM3+R&'3SJ%]KEO/>B)67=+
M;V[/+'T.]%P>!7;_ +;O[//AK_@UQ_8K\>?M$_LN_$7Q/XT^,WQ[NM/\)#6/
M$S6]P+6XC6XNKC48HQ"&+K&'51-+-B5XR=P5@0#^YVBOX*OA]_P0!_8$^)/P
M=L_B_P#M1?MJ7UQ^T;JUDM_>>)(/&&FS6UAJDJ[_ "PLK-=3I"YVN_VJ-I-N
MY?*SM'Z<?\&P_P#P46^/_P"U%\._BO\ L;?M8>(U\9^./@+K,6F1>(_/%V^J
M:;,]Q A:X!/VEH9;63%P3NECDC)+,"Q /ZG:*** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
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
M8O,=;>6%XU.#@ ']F]%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %?C3_P7K_:5_:Y_8W_X)O>)
M_P!J3]C/4K;3?$G@K4-.N[_[5917R2Z7<3"UF41R@@%'FCE+#D+&>V:_9:OG
M_P#:N^ NA?M2_LQ_$']F[Q+M6R\=>'M2T.1W&1$;Z!XED'O&S!U(Y! (H \-
M_P""7W[5]W^W%_P3Y^$G[5&K212ZKXN\.VTVJM H2+^U+?-O?!%'"J+J*4*O
M8<=J_E<T?_@X^_:/OO\ @X=/[%$NK:6?@1)X[D\!I:BRB^TFZ$9T])1=X\PA
MM3 DSG:4.T<8-=1_P;,_MQ/^SE_P1]_:'\'?%H>3JO[,.I:YJL]C,<&*UFMI
M+E(",YW/>V]VH ZL<#FOY^G_ &!O&^C?\&]6E_\ !6^!9/\ A9,7Q=/C#^UV
M7]^-':8:8K'C.?[419@>A#9QT- '^C5_P5:_:ZU']A+_ ()V?%K]JGP_+%#K
M/A;0I?['>=1)&-5O&6UL2R'AU%S-&64_> (KP/\ X(2_M&?M:?M>_P#!-SP?
M^U!^V7J5MJ/BGQO=:A?6OV6SCL4ATR*=K>W4QQ *=_DM,&/)60>@K\&/^#H'
M]LA_VE_^"7O[-GPK^"G[[4OVG=7T?6K&SC;)FLTM8I5@QUS]KO;0<]&7'6N#
M_P""H/Q<^)#?M1? /_@W'_9J^*</P4^'GAGPCI<7CKQ?]K73I&M;6S)$!F:2
M(X:V@#^6)%^T3W"K(=JDD _NGHK_ #Q?VX/^"7G[*_\ P2M_9]O_ -NG_@D+
M^UIJ5K\3O 3P:C?Z9<^*=,OSKEOYJ+,!#:I#YCJ&,CQ2I-%+&K(4R<G^TO\
MX)B_MAG]OS]@?X7_ +75Q:QV-[XRT=9=0MX<^3'J-K(]K>+'DD^6+F&38"20
MN,G- 'W?17\@7_!Q)^W;\>]>_:V^#O\ P1S_ &9_B)%\(Y/BC"FJ^,O&3W0L
MFLM(FEFC6(7&^(QJ$MKB655D1YL11!U5W#?G%^US_P $;_V*_P!@W]F[Q!^V
M/_P3&_:^U2Q^-7P_L9-?<S>+=,F_MM;-?-N8ECM5AE\UT5C'&S3)*0(G1M^X
M '^@U17^=C_P6B_X*(^/?V^?^#<;]G3]K#4KI])\6ZG\0H]*\0'3W:V5M0TZ
MQU6"9U$9&U)_+6<(.%WA>U?47[?/_!OQXU^(_P"PKXM_X*D?';XZ^,-3_:*\
M.^%+KQ[-LN(T\/V"V5J;]]-T^ 1_:;>.")#!!(ER!N4.8P"5 !_=96)XEOKC
M3/#FH:E:$"6WMI94)&1N121^HK^$C_@G)_P3C^+7_!QG^P[H_P"TI_P4S^.G
MC2;3]#W^%O"NB^'KB"WM@NDHL<FHZB+B&X%U>7$I/F/M21@@)D.X!/8_^#;'
MXJ_M#_!3]HG]K'_@D[\6_&%WXV\.?!N6]70;J\=W-O\ 8;J:RF$(=G:*&X'E
M2^1N*1N&V\LQ(!^EO_!LW_P4F_:I_P""F_[)7CSXN?M9ZG9:IK>@^+GTBSDL
M;**R1;46=M,%*1 !COE8[CS@XK^D*O\ ,0_X-Q/^":?Q._X*F?LU_$#X)_%7
MXCZ_X'_9_P##OB1;_4=*\+2I:7WB'7;RUB01W$\B31_9K2""-O+:)LO/D<@,
MOW%XX^%_QD_X-;?^"F?P7TCX,_$37O%G[-/QLO\ ^R]1T/79A,;0I-##=,RQ
MK'!Y]N+F*X@GBBA:0!XF!4,6 /\ 0-HK_/?_ &YOAQ^U5^TU_P '3_C?]DW]
MF_XBWWPX;QIX6L-/U/7+9Y&ETW2/[&M9[U[6-9$ N)4C\E&!!!E)ROWA^TMG
M_P $)_VB?V$/V$?B+^SA_P $@_C!=:+XY^)VK6=]J_B7QM<[;B&""&1)EL9[
M"S+P33%E'FLDCQKN*L'*NH!_3W17\ G[8'_!!+_@GG^QO^RCXK^.OBO]K36-
M/_:4\*Z%=:Q'K-[XHL[9K_6K6$S"VBM2!?8GD7RX@L[3AF#9<_(?J#X ?\%Y
M?VA/AO\ \&SUS^V]\1KU?$'Q;TC6)_A_H^J7RB0WFHLZFWN[D'B22"T=I'W
M^<\/S_?8T ?VMT5_#9^R%_P;%V_[?7[,OAW]M/\ X*.?&WX@ZI\9/B-ID/B.
MUN+._A,6D1Z@@GM4<7,,TDCJC(TB1R0(F?*0#8'/V/\ LA_%S_@JI_P1H_X)
MZ?M%ZO\ \%,8?^$X\.?!ZW:X^&GB:]U2"]FUD2RO:6]M/LGDNX[=YVM7B\\"
M6..5X\_(B* ?UF45_GC_ +$G_!-?]FW_ (*W_!6W_;V_X+'?M87LOC_QU-<7
MVE:%8^*--TT:':+*Z1 P723B%FV^9'##'%'%&5!#,3C[B_X(<_M;?&7]DC_@
MJKX\_P""*_Q&^+ ^-OPY739-7^'_ (E:]34)(EAACNOLZS+))A#;/(LL6\I%
M-;GRPJNV0#^U:BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
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
MTBXU/^R-(O;E[.TF16G<K$C7+RW+M/E9&:);=7!"J/\ 02KX)_;1_P""7O[
M_P#P4-&G2_MB?#33?&5WI,9AL[YY)[*_AA)+>4MW9RP7'E[B6\OS-F23C)-
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
M\$*/^"2?PR^#NM_ 7P=\$=%B\,^))K>;5(;B6[N[FZ:T?S(5DO+B>2Z*1O\
M,L?G; W.V@#^>?\ X+=Z#K&L?\&HG[/VH:9;23PZ5H7PUNKMT4D0PMI*0AV/
M93)*B9/=@.]?3W[1GB'X/_\ !6?_ (-N=2_9Y_8I\6Z;XY\>^#_AYX0U&]T#
M2[A9]2M;K1Q;SR6L]JI\U)I%L[B*)"H+R ;=P(S_ $_M^SU\$)_@/;_LOW_A
M?3[WX>VVCP>'TT"[A%S9?V9;1+#%;M'+O#(D:*HW9/ .<\U\R_L<_P#!+?\
M8*_X)_>*/$'C/]C[X>6W@G4?%,4<&IRVUY>7"SQ1.710ES/*B!6)("*N,XZ4
M ?QJ_P#!'K]EG_@US_:S_8E\+Z[^U/I?AKPQ\6?#]E]B\86WB3QIJFA337EL
M2K7D<<FIV\+13J%E)@4)&S%"%(Q7ZG_\$7- _P"" WBG_@H1XYTK_@E=\(/$
M%GXI^%^GS1R^/5U#4;WPY<6UV4@>.![S4Y]SRL7$6^U'F)$\D;%1FOU@_:._
MX(*_\$B?VL/B1=_%WXW_  2TF]\1:A*T]Y>:==7VC&YF<Y:2=-.N;9)9&/+/
M(K,QY))K[Q_9D_9*_9J_8S^&T?PB_9:\%:7X(\/)(9GM=,A$9FF( ,LTAS)-
M(0 #)*[O@ 9P * /HBBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@#_ "J_^"U=[\6/^">W
M_!2']KC]D/X46$C:#^U5;:+J5ND!*.SWU_;ZB[1J 0VZZ6^M-HZK(>G2O] #
M7/\ @G%X<N?^".,W_!,:VCA8)\-AX4BEXV'5([,*EUSQN^V@3YZ;J^@_CM_P
M3L_8G_:;^-WA?]I#X]?#K2_$_CCP6+4:+J]V)/.M197#74  5U1ECG9G =6&
M2>Q(K[1H _RRO^"&VK?%#_@HW_P4M_9-_9W^*-C+_87[)^A:M?SK-EG#Z?J%
MS>6\K*0-ACN9]/M=IZ" 'J<5^BO_  74_9J_9B^#G_!P3X!_:7_X*4>%KCQ#
M^SE\7](MK'4KV.:]MH;+4+*U:R^>6QDAG!MV2VN)%5OFAD8A7*E:_M1_9_\
M^"=_[%/[*_Q>\4?'K]GOX=Z7X5\7^,_/&LZG9B3S;H7,WVB4$.[*JO, Y"*H
MR!Q@"O:?CY^SO\"_VI?AI>_!W]HOPGIGC/PQ?E6FT[5K=;B'>F=LBAAE)$R=
MDB$.IY4@T ?QJ_M@?LO_ /!G+^R!\"S\;[[P_H/CXSF$:?H7@WQUJFK:M?"5
MPI,4,>M!45%)=WF>-!MV[MY53_51_P $T/!/[.?@']A3X;:-^R1X)U;X=?#B
M\TQM6T/P]KKS/J-E;ZK-)>D3F>XNY TDD[2[6G?:' &  H^3/@Y_P;T_\$:?
M@-\1;;XJ_#KX$Z0-:LIA<6[ZG>:AJ]O%*IRKI;7]U<6ZLIY4B/Y2 1@@5^S=
M '\"_P#P<P?LY_!GX;_\%?O@!^VS^VQX5NO%7[.WBC3K?PKXL%O)=0BWGM)+
MHDM+9213H4BN8[F-$</+]GE4!@&6O</VDOV2O^#.#]F_]G6[_:+GTOPUXPME
MMA-I^C>&O'>K:AK&HRM]R*&U36-ZMD@.90BQ?\M"N*_LL^,'P8^$O[07P[U+
MX2?''PWIWBWPQJ\8CO-,U6W2ZMI@#D%DD!&Y2 RL/F5@""" :_)OP!_P;G?\
M$5?AIX_A^)GACX"Z1)J=O,)T34;[4=3L@X.1_H5Y=36I /13#M]J /Y7/^"[
M?A;]D'0O^#=WX ^)/V%OA]K?PQ^&OBOXE1Z[I>A^(I)I-047>GZH#,_GW=ZX
M6<()8L3LK1LK+@-7]C/[?_\ RAE^-G_9%O$G_ICGKZ3_ &I_V)/V5/VVOAYI
MOPG_ &I_!5CXQ\.:/>QZC96%V9(XH+J*)X4D7R7C(*QRNH&<8;ITKV?QI\+/
MA]\1/A9JWP2\::7%J'A77=*GT._TZ0L(I]/NH3!+ Q!#;7B8H<$'!ZYH _G4
M_P"#1S_E#'X8_P"QDU__ -*:_.#_ ((O?\I_O^"AG_777_\ T[-7]AG[-/[+
M?P _8[^%=O\ !+]F?PQ:^$?"MK/-=1:=9F1HEFN&W2,#(SMEFY/-<+\*OV#_
M -D7X(?&CQM^T/\ "GP-8Z+XU^(YF/B7586E,VHFXE\Z3S TC(-TAW':J\T
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
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 445Y5\:?CI\&?V<?A[>_%CX^>*=+\&^&M/P+C4]8NH[.V1F^ZN^1E!
M=CPJ#+,> ": /5:*_.[X4_\ !6O_ ()J_&_P1XH^(OPL^-/A?5](\%VC:AKD
MJ7@CDL+-6"&XEBD"RB$,0OF;"F2!G)%?0'[-/[8/[,'[9'AC4/&G[+7CG2?'
M>E:5="RO+K2)Q/'#<%!)Y;$=&V,&QZ&@#Z1HK\XOC[_P5[_X)C_LO>/9OA;\
M=?C;X5T+Q':R>3=::;P7%S:R?W;B. 2&!AW$NP@<]*^P_@G\>_@C^TGX!MOB
MG^S]XMTCQIX<NV*1:EHMY%>VQ=<;D+Q,P5UR-R'#*>" : /6J*^8_P!IG]M'
M]DW]C/P[;>*?VJ/B'H/@.SOBRVG]KWD=O+<LF-P@B)\V8KD;A&K8'6O/_P!E
MS_@I+^P9^VMJ4^@_LL_%?PYXSU2VC,TNG65XHOUB7K)]EDV3[!T+[-H/>@#[
M<HKSKXL?%_X5? ?P#J'Q4^-?B/3?"?AK2D$EYJFK74=G:0J3@;I96506) 49
MRQ( R2!7XG_MI?\ !5+]C#]J'_@FS^TA_P ,2_&?2->\7>&OA[K]_&FB7[6^
MJ6IAMI,7$*_NYPJ/C$T8*J2/F&1D _?6BOXM/^#-#X\_'+XZ_!3XYW_QN\9Z
M[XQGT[6]&CM9-<U&XU%X$D@N"RQFX=R@8@$A< D<U_6#^TI^UO\ LT?L=>#K
M+X@_M1^-M*\"Z)J5XNGVM[J\X@AENF1Y!$K'JQ2-VQZ*: /HJBOSO^)__!6G
M_@FM\&/AWX8^*WQ-^-/A?2M!\:6YO-"N'O!(^H6RNT9FABC#2O$'4J9 FP,,
M$YKZT^"'Q\^"7[2WP\M/BS^S[XKTKQGX:OBRPZEH]U'=V[.F-R%XR0KKG#(V
M&4\$ T >N45\<?M2_P#!0G]B+]B;[+#^U9\4/#W@>ZOX_-MK/4;Q5O9H@2#)
M';)NG= 0075"H/&<UT?[,?[;G[(O[9^B77B#]E;XC:#X[@L"!=II-Y'//;;O
MN^=#GS8MV/EWHN[M0!]245X_\<?V@O@9^S-X"G^*/[0WB_1_!/AVW81OJ.M7
MD5E;^8V2J*\K*&=L':BY9NP-?(_[/G_!73_@F;^U1X[B^%_P$^-?A;Q!XCN7
M,5MIBW@M[JY<?PP1SB-ICWQ$&..>E 'Z,45\U?M,?MC?LM_L;>'=-\6_M3>.
MM(\":;K%RUI97.KSB".>=5+E$)ZL%!./2O _BW_P5J_X)J_ GPAX7\=?%CXT
M^%]'TWQI91ZGH;O>"22^L93A+B.*,/*86(($I0)D$9X. #]$:*^;H?CK\*?C
MQ^S1K/QC_9]\5Z=XJT"]TB^DLM7T2[2ZMV>.)\[98F(#HPP1D,K#! (K^'?_
M (,V_P!I?]H[XY_M1?&+2/C9\0/$GC&TL?"UE-;0:YJMUJ$<,C784NBSR.%8
MC@D ''% '^@S17PU^U#_ ,%,/V _V+=<A\+?M1?%KPYX.UB=%E33;R\5K_RW
M^ZYMHM\RHW9R@4\X/!KU_P#9R_:U_9C_ &O?"$OCS]E_QYH?CO2K=UCN)]&O
M8[K[/(PR$F1"7B<@9"R*K8YQ0!]#4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !117G'Q=^+WPS^ GPW
MU;XO_&36K7PYX8T*$3ZAJ5Z^RWMHBP3?(W.%W,!GMF@#T>BO+O@M\;?A)^T9
M\,M+^,_P*\0V7BKPIK:R/8:KITHFMK@0R-#)L<<';(C(WHRD=J\F^ O[<?[(
M7[4?C7Q%\.?V=_B+H?C'7?"3;=8L=+NEGFLR)&B_>*.@WJRYZ9% 'U53$DCD
M+*C E#AL'.#UP?P-?-7CK]LO]ECX9?'WP]^RQX^\=Z1I7Q&\5PQW.D>'9YP-
M0O(96D1'CBY)4M#( >GR-Z5_/_\ \$J?AG_P34_X)A>)_P!IK]HS0OVKXO'^
MDZCX@LO^$L?5KI(X/#]S<W5TENEZX=_.O)IFDB,[",ML(V#F@#^IBBOY ?\
M@B%_P<2:9^U+XT^)_@C_ (* _$[PGHFH)XEL-+\!6RQII\FHP74D\>(P"?.9
MF$ !XY;WK#\'_M(_$?PW_P '<7Q6^'GCCQ[J5A\-]"\")J,NF7VJRQ:'9K'H
MFG323M#)(+:(*6>1I"HP2S$\DT ?V-45^</P5_X*^?\ !,;]HKXK1? _X+?&
M_P *:_XJN9?(M=/@O0CW<O\ <MFD"I<,>RPLY(Y'%?H]0!S=YXR\(:=XEL_!
MFH:K9P:QJ$;RVMC).BW,\<?WVCB)WNJ]RH('>NDK^-']OG]@;]BCXF_\'!O@
M/]I_Q_\ M9:;X*\;V&L>%9#\/I^=7>]L_(%C:V4OG*(HK[]V64QD[I78;O,^
M7^E[7?\ @HI^PWX8_:03]D#Q!\4?#]I\3Y+NVL%\-270&H&YNXTEAC\KKNDC
MD1E'<,* /K;6_#?AWQ-;I:>)+"VU"*-MZI<Q+*JMC&0'! ..];(  P. *_-3
M_A\C_P $L/\ A<A^ )^/7@T>*A<_8_LQU*/R?M.[;Y/VG_CV\S=\NSS=V[Y<
M9XKY>_X+V_\ !4NR_P"":W[$WB3Q'\*?&&B:/\9[R+3[CPII&J*MQ)?0_P!H
MVL-X\=NQ'F".VDE8G/RXSVH _<VBOYA?^#?#_@N/IO\ P4"^"<'@K]L/XA>&
ME^..K^)-2M-)\.V:)975SIMK:17"NENI.[ %PQ;/(0^E?MM^U+_P4&_8E_8F
M2T7]JWXG^'_ ]Q?H9;6SU*\5;R>,$@O';+NG= 1@LJ%0>,YH ^Q**^6/V8OV
MW_V0OVT-&NM<_95^(^@>.X;#'VM-)O(YI[;=POG09$L0;^$NB[NV:Z3]I#]K
M#]FG]C_P,/B5^U!XYT;P+HDDGDQ7.KW26XGEQGRX58[Y7QSLC5FQSC% 'T'1
M7YY^&/\ @K+_ ,$U_&?P0U3]H_PS\:O"MUX*T.YM[34M3%\JI93W9VP)<1MB
M6$RD$1^8B[L'&<&NKO?^"EG[ ^G?L\VG[65]\6/#L7PUO]1.DV_B-KM1827R
M[\P+)T+_ +M^/]DT ?<-<W#XR\(7/BF;P-;ZK9R:W;P+<RZ>LZ&ZCA8X$C1
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
M+6[W2]'M;74)K)+6*S"B2Z=XB'EGDG=QB0M&%0$JQ8X_:#P+_P $<]=^,_\
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
M]M+;VR7TQ4BUA6.4H[!CO1'< ']XU%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 5XE^TK\#_  U^TS^S
MQXY_9V\9 ?V7XYT'4-"N6(W;([^!X2X_VDW;E/4$ CFO;:* /X4_^" G[>>N
M_L<_\$7OVJ?AI\39!:>+OV6]0UR:&TE/^IEOXI!:V^#W;5(+A<],OTK\Z_\
M@WR\!?%#_@FU_P %+/V;?&7Q4O)!HO[8'P[U1P\P(2.>2ZGGM(R2?GDD6SLY
M _7_ $S;TR3Y;_P7'^ OQU^!/_!9'XJ_L4_ D?9?#_[:,_A:[^S[21-<7VIP
MN7^4@$C5()V.?X)#GUK^B;_@YJ_9XN?V9_V%/V?_ -KS]G"T6WU/]DKQ7H+:
M274E(-* @MXU?;@E#<VUBC#@%210!XI^PEI__#P?_@ZM^/G[65R/MGAC]G?3
M9/#.DR??2'440Z2%!Z8=EU.52.^,>M>-?\&U7[/_ ,%?VGOC-_P4"^#7[0?A
MFP\7^%=2\<:')=:7J40FMI6M]0UR6,LIZE'56'H17Z,_\&CG[/.M^!/^"<>M
M_M5>/@T_B?XY^*M0UZ>[E&)9K.S=K6+?WYN%NI0>XER..3\C?\&F?_)V7[>O
M_8ZZ3_Z6:]0!\G_\&IO[#7[(7Q\\>?M%>+?C/\/-%\2ZG\/?&NEGPW<WUN)9
M-,,<EXZ_9R?N8:*,C'=1Z54_:%_8_P# ?[='_!WM\0?V>/B]<W@\$W_A_2[S
MQ#I]G</:MJME8Z'I\ZV<DD15Q#)<+"TH4ABBD J2&'%?\$8OV]_ /_!$C]O7
MX_?L/?MY^&?$.A:]\2?'.FPZ-?6UJCV@#75S D\IEEB;[+*MS'-'/$) T88X
MR #]X?"W_E=8^)'_ &)4'_IATZ@#Q3_@Z$_X)%_L,?LA_L.^'?VOOV/O!-I\
M,O&'A7Q1IUCY^@M);)<VUTLI!= ^!-%*D;QS+AQA@2<C;_9G^QC\1_$?QC_8
M]^%'Q=\8R>=J_BKP=H6L7T@ &^YOK*&:4X' R[DU^ 7_  > _P#*'B]_[''0
M_P#VM7[??\$VO^4=?P#_ .R<^%O_ $V6] '\ ?\ P5Q_Y6[_ (>?]CY\+O\
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
M)LM%TZ'CY+6PA6&('&.0B#)[F@#TJBBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH _F)_X.JOV+?V??C=_
MP32\7_M7?$32IKOQM\(].3_A&;Q+J6*.V_M74+&&YWPHPCEW( !YBG;U&#7Y
M"?\ !GW_ ,$W?V2_C1\#[O\ X*!?$#0KFZ^*'P]^(>H:9HFHI?7$4,%LFEV+
MA6MT<0R'-W-RZD_,/05_4?\ \%SO@%\3?VG?^"3/QN^"WP<TV76?$NIZ''<V
M-A;J7FNFT^Z@O&BB4<O(Z0,L:#EG(4<FOXXO^#3G_@K+X<_9<\;6W_!)_P"(
M_@R[CU#XE^.+[4;?76N!"+&[?38X?LT]J\>\LTEBB AP0TIR/EY /R4_X)=?
ML 6/_!3+_@K[X_\ V4O%WB;4?#'@_4;CQ#J'B=M*94N[W3;#4(YEM4+JZ O=
M"W?<Z.%V;MI(%?U=_P#!27_@A=_P3P_98_X)[V'[.NH?M)ZE^S[\'T\6WGBN
M_AUL)K+:UK5S:6MK$BQH]M-/]GBM"\<$2R-N=W/W5V_C!_P:\_\ *P)\4?\
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
M??V*O"&M^(]2E(OK?Q7X7M-0DG+%558XM/DA6"&/EI;B6<*%/(0*6(!\,?\
M!S7^T1K/[6OA+]CG]I;Q+&D6J^-OA);ZKJ"1KMC%[/*#<; .B>=OVCTQ7ZU?
M\%!_^#9_]E?X9?\ !)SQ?^V==^*O$NL_'#1/#H\::UX@O[Q9K;5+YU6XO8WM
M_+ 6-]T@B*MYBMM+NXR#\ ?\'?7AOQ5X/^)O[,_ACQWI^BZ5KUE\./*U2S\-
MVYM-'@OA<?Z0EE"S.T=N)=PB5F+!,9).:_M4_P""L7_*##XR?]DNNO\ TC%
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
M1G^\650 Q/<GK7144 4;'2],TM633+:*W#\L(D"9(]<"OY=/^#LS]D?]I?\
M;&_84^'_ ,/OV7/!.J^.M;TWQY;ZC=66DP&>:*U73[Z,RLHZ*'D1<^K"OZF:
M* /R"_X(H?L\>+OA5_P2/^"WP*_:1\)-IFOZ#I<Z7^C:S;*9;:;[9<.N^-P0
M&VL&'?!K]>888K>)8(%"(@"JJC  '0 =@*DHH Q/$'AKPYXMTQM%\5:?;:G9
MN06@NXEFB)'0E7!!Q]*70/#?AWPIIB:+X6L+;3;.,DK!:Q+#$I/7"H !GZ5M
M44 130PW,+V]PBR1R*596&593P00>H-<MX7\ > _!!G;P7HEAI!N2#,;*VCM
M_,(Z;O+5<X]ZZZB@#^2__@[;_8X_:D_;*_9=^%/A+]ECP+J_CO4M'\4W%W>V
MVD0&>2"!K1T#N!T4L0,^M?L3_P $E/@)KWP^_P""6/P,^"W[0GA;[%KOASPS
M907^DZO;*TMI=19X>-P0KK^8K]1Z* &".-8Q"J@(!C;CC'IBJ%CHVCZ6[2:;
M:0V[,,,8HU0D>^!6E10!SOB7PAX3\:6 TKQCI=IJUJ&#B&\@2>,,.AVN",CU
MQ5_1]%T?P[IL6C>'[2&QLX!MB@MXUBB0>BJH  ^@K3HH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH HSZ9IMU<QWMS;Q231?<D9 67'/!/(J>ZM;6^@:UO8UFB?[R. RG'/(/
M%3T4 0V]M;V<*VUI&L4:#"H@"J![ 5!::9INGO))86\<#2G+F- I8\\G'7J>
MM7:* ,;4?#OA_5[RWU#5K&WNKBS;=!+-$KO$W!RC,"5.0.GI5P:9IJWIU-;>
M,7+#!EV#>1T^]UZ5=HH JWEC9:C#]FU"%)X\YVR*&7(]C4\44<,:PPJ$1 %5
M5&  .@ I]% &9-HFC7%X-0N+2%[A2")6C4N"O0[B,\=J'T31I+W^TI+2%KG(
M;S3&I?(Z'=C/%:=% %2]T^PU*$6^HP1W$8.[;(H<9'?!I]K:6MC MK91)#$F
M=J(H51GG@#CK5BB@#!M_"WABTUJ7Q):Z=:Q:C.-LETD*+.X]&<#<1P.IJ3Q!
MX;\.^+-,?1?%-A;:G9R$%H+N)9HF(Z95P0<?2MJB@#$\/^&O#GA/35T7PKI]
MMIEFA)6"TB6&($]2%0 #/TK^6K_@MAIO_!P[\%?VD]%_:9_X)I>([CQY\*K?
M['<7/@2TL+*2>SN;4!9HI8Q%'>WMI=[=Y\N=ID9W4"-5C:OZL** /\Y?]N_X
MV?\ !Q;_ ,%Q?ACI7[%VI_LIZC\,_#KZI;7VJ7-YIE[I$-S/:YV&2[U5HXDM
MT+&39&'=F5<,V-I_LZ_X)._\$^=/_P""<?\ P3^\"?L?:[>6_B'4]#BGO-7O
M$0FWFU*_F>XG,0< ^7&TGE1L55F1 2 217Z744 5[6SM+"!;6QB2&)<X1%"J
M,\G ''6JB:)HT=[_ &E':0K<Y+>:(U#Y/4[L9YK3HH S-7T71O$%@^E:_:0W
MUK)C?#<1K+&V.1E6!!Q]*_';_@LO\?/^"D?[,/[//A2Y_P""5'PR3QSXJN=:
M$.HPK8B\M[+2HX),_P"CI+"^YYFBV,F0H1LCD5^SE% '\+G_  ;]?\$._P!M
MK0_V\];_ ."KO_!3C2?[!\2R7.J:II6E7CPO?W>M:T9!<W\\4):."-%FF$<3
M8?S'#!45%W?W1T44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 5@Q>%?#$.N/XFATVU34I!M:[6%!.
MPQC!DQN(Q[UO44 9EKHFC6-P;NRM(896R"Z1JK'/7D#-6[NSM-0M9+&_B2>"
M92DD<BAD96X((.001U!JQ10!S&B>"/!GAG1V\/>'-(LM/T]V+M;6UO'%"6/4
ME% 7/ YQ6D-"T1;,Z<MG +=FW&+RUV%O7;C&:U:* *MG8V6GPBVL(4@C!R$C
M4*N3["JT.B:-;79U"WM(8YV))D6-0Y+=?F SSWK3HH Y_P 2>$O"OC/3_P"R
M?%^F6FJVFX/Y-Y"D\>X=#M<$9'KBK.A>']!\+Z9'HGAJQM].LX<^7!:Q+#$N
M>>$0 #\!6O10!_ +\/?^"<O[=&F_\'5UQ^U]?_"WQ!%\,6\=:GJ \2M:D:>;
M673YHTE\W.-K.P4'U-?WMVWA3PO9:[/XHL]-M8M3NE"37:0HL\BKT#2 ;F [
M FM^B@".6**>)H)U#HX*LK#((/4$>E<SH'@7P1X4LKC3?"^C6.FV]TQ>>*UM
MXX4D8\$NJ* QQW-=510!E1:%HD-K)8PV<"02G+QK&H1B/48P:LV6G:?ID1@T
MV".W0G<5C4("?7 [\5<HH K7ME9ZE:2Z?J,*7$$RE)(Y%#HZG@A@>"#W!KG?
M"W@/P/X&AEM_!.C6.CQSD-(MC;QVX<CH6$:KD_6NKHH S;[1='U-UDU*TAN&
M48!EC5R![9%7)K:WN(&M9XU>)AM*, 5(]".F*FHH HV.EZ;I:-'IMO%;JQRP
MB0("??%8'BCP!X$\<>3_ ,)IHEAK'V8DQ?;;:.X\LGKM\Q6QGVKK:* ,F_E&
MA:'-/IEFUQ]C@9HK2W"JS^6ORQQ@E5!.-JY('N!7^;3^UM^Q_P#\'('_  7>
M^-G@KX:_M9_"Z/X<^%O"-W=""]NK>/3=,T^*^=/.N)29I);R58XT11"&SCY5
M7<[5_I644 >#_LN_L\^!?V3/V<_!/[,_PS1ET+P-HUIHUHS@"25;6,(99,<>
M9*P,CGN[$U[Q110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% '_
MT_[^**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** /_4_OXHHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M_]7^_BBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@#_UO[^**** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M /_7_OXHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH _]#^_BBBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@#_T?[^**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
; "BBB@ HHHH **** "BBB@ HHHH **** /_9

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>18
<FILENAME>fsly-20231231_g3.jpg
<TEXT>
begin 644 fsly-20231231_g3.jpg
M_]C_X  02D9)1@ ! @$ 8 !@  #_[@ .061O8F4 90     !_]L 0P " 0$!
M 0$" 0$! @(" @($ P(" @(%! 0#! 8%!@8&!08&!@<)" 8'"0<&!@@+" D*
M"@H*"@8("PP+"@P)"@H*_]L 0P$" @(" @(% P,%"@<&!PH*"@H*"@H*"@H*
M"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*_\  $0@!
M] 5X P$B  (1 0,1 ?_$ !\   $% 0$! 0$!           ! @,$!08'" D*
M"__$ +40  (! P,"! ,%!00$   !?0$" P $$042(3%!!A-180<B<10R@9&A
M""-"L<$54M'P)#-B<H()"A87&!D:)28G*"DJ-#4V-S@Y.D-$149'2$E*4U15
M5E=865IC9&5F9VAI:G-T=79W>'EZ@X2%AH>(B8J2DY25EI>8F9JBHZ2EIJ>H
MJ:JRL[2UMK>XN;K"P\3%QL?(R<K2T]35UM?8V=KAXN/DY>;GZ.GJ\?+S]/7V
M]_CY^O_$ !\!  ,! 0$! 0$! 0$        ! @,$!08'" D*"__$ +41  (!
M @0$ P0'!00$  $"=P ! @,1! 4A,08205$'87$3(C*!"!1"D:&QP0DC,U+P
M%6)RT0H6)#3A)?$7&!D:)B<H*2HU-C<X.3I#1$5&1TA)2E-455976%E:8V1E
M9F=H:6IS='5V=WAY>H*#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6V
MM[BYNL+#Q,7&Q\C)RM+3U-76U]C9VN+CY.7FY^CIZO+S]/7V]_CY^O_:  P#
M 0 "$0,1 #\ _?RBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **Y;XE_&[X1
M?!R.S;XG_$32M%DU&0QZ;:WMVHGO7'5881F28CN$4D5F^'_VG/V?_%%U%INC
M?%G1FOIKN"VCTJ>Y\F],LS;8E^S2!91N/0E<'!/0' !W=%%% !1110 4444
M%%</X)_:2^!?Q)^*&M?!GP#\2M.UCQ)X=M$N-;T[3RTHM$9MHWRJOE[L\% Q
M8=P*[B@ HHKD?BW\>/A+\"HM"F^+'C*'1U\3>(+?1-$,MO+)]IOY]WEP_NT;
M9G:?G;"#'+"@#KJ*** "BBB@ HK@/'G[5G[,WPM\5OX$^)'Q_P#!^@ZW%$DD
MFDZMXBM[>Y5&7<K&-W# $<@XY%8A_;T_8E$!N3^UK\.A&&VF3_A,+/:&],^9
MUH ]:HJKHFMZ/XET6S\1^'=4M[[3]0M8[FQO;24217$,BADD1EX964@@C@@@
MU:H **** "BN'^*G[2?P+^"7B#0?"?Q1^)6G:3JOB?4K>PT'2Y"TES>3SRB*
M(+%&K.%+G;O("#G+#!KN* "BO.?%_P"U]^RO\/O$<G@_QY^T1X,T75HO]9IF
MJ^(K>WN%Y(SY;N&QP><=JW?AK\</@Q\9H;BX^$7Q9\-^)ULV"WG]@:W!=FW)
MZ"01.Q0\=&Q0!U-%%% !1110 4444 %%%(S!5+,< #)- "T5YAKG[;'[('AC
M6KCPWXE_:<\"Z=J-H<75A?>*+:&>$XW?.CN&7@YY'3FNV\"?$;X??%'0$\5_
M#/QUH_B+2Y'*)J.AZG%=P,PQE1)$S+D9'&>] &S1110 44RYN;>SMY+N[G2*
M*)"\LLC!510,DDG@ #O7F7AK]LS]FSQ9\2M-^$>D?$?9KVN6C77A^WO]'O+2
M'68 "?-LKB>%(;U, D- [@@9&1S0!ZA1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
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
M^)8? ,%G=^'["Y$U[:20WD0E:>%,O!&N!^\D"I\Z $ET# 'UG\?/V^?#_P
M4^&=WKOP?\27UC\2]1L+2QU2R>!H+22Y57\LHKM/),JMD(L6'(P'SQ7*_$S_
M (*4>,O@G\,M7^)/QC_8E\?>'(=.\71:);_;M0L&AF$NWR[@R)*25.2,PI,@
M8;=YSQYC^UC\3?AYKO@3]C3Q-I'C?2KFP;XJ>&Y/M<-_&T:K';JLA+ X&QF"
MMG[I.#BN^_X+7:GING?L6QMJ%_#")/'>B",RR!=Q6Z#G&>N%5F/L": .VU3]
MNW4O"/Q]\'_"CXE_LX^)_#7AWX@:A)I_@[QEJE[;8N[M5W)'+9HS36HDR-GF
M[9/F&Z-</L^@Z^0O^"G.N:+9_%K]F![K5K:,/\=--E1GG4;HP,%QS]W+H,]/
MF'K7U[0!\1> -:\-^'/^"Y?Q-NM>U>RL$N/@W9*DEY<)$)'\VPX!8C)VJ>/1
M?:N=_8I72[W_ (*U_&SQ?^S=-$OPE_X1^)/$=YI9 TB;6PML3Y17]VT@?[4Q
M9>!F4YPRYU/ R_#KQE_P7+^)WAKQ-!H^JQO\(K2!;&_CBG5KA)+!V0(^075"
M21U R>QKZ]^)7P[75?@CXG^&?P\T^TTJ74_#=_8Z9'9PK!%#-- Z(P"@!?F8
M'- 'DOQ(_;QU7P1\')?VH=#^ FHZY\+[:19)O$%MK4,5_+8F41_VA!9.O[RW
M)(92TJ2,A#[ O-+\6O\ @HEX%^&GC#X8:#I'PN\2>(M+^*\/G>%?$6EFW-O>
M(;=)D2*/S#,96\V%0LB1+F3._"MCYL_8F_:&_P"";-G^S9I?PD_:I^%G@3P_
M\0O!=F-"\4^'?%'@:"6^OI[<^4KHI@9[J20*N4&Z3S"P(.5+=[^U5JGA7PS^
MTM^QI9MX5T[P5 NNZD8/"Z>3 NE))90)';[(PJ)M9ECPHVAOE!/4@#OVYOVE
M_P!H'QK_ ,$Z/B;KNI_LN^(O <X2\T;5QK>MVXEMK;S;:,7$>S_CYBF6>6/*
M' */@LI#'TVQ^)?@#X>_LW^%/C=^TW\#+/3I/!=EIT7@@(]MJE_<75Q;QV\2
M6(4 QS2EE0+D>K$!2P@_X*_ZEI^F_P#!.7XF'4+V*'S].M(8/-D"^9(U[;[4
M7/4GT'H:\S_X**67BG5/V(/@S\>/A[9RZYI'P[\5^&O%FN6FF_O?/T^WMSNF
M4+]\(74GL%9F. I- 'MGCC]LS6/@9XN\*Z9^TM\&Y/"6@^,]333-)\46>OQZ
MA;65_("8K:_ CC^S,X# .AFCRIRX4%A3^+?[>?\ PK#]I>T_9;M/V>?%FL:_
MJGANYU70GM+FS5-6\LE5C@_?':"R2;GG,/EJA8@@C/G?_!4;4_!O[5W[&VA_
M"_X*^)=.\0ZS\2?$^D)X)73KA9FE'GK++=84Y6** 2-(YP$'#$$XI_Q'U?1-
M(_X++?"S0[W7X#<_\*<U&W43SJ)))#/(R@C.=S*CMCO@T ='=?\ !2'5O"^I
M_"[PY\4OV1O'OAC5?B9>WMM!97WV>5K22V+!T"1N9I';]V5#11*RRA@V V+M
ME_P4$UW1_CQ/^SK\5OV5?%_A[Q-?Z$^K>"]/M;^RU)]?B5]AB#02>5;2@@EO
M,D\M%1V>15"EN6_;]UG2;#]M[]E&VO=3@AD/C75R$DE"G#6L**<'U=E4>I(%
M+\;]8TF'_@L7\%;"74[=9_\ A7.NKY+3*'RPD*C&<\[&QZ[3Z4 >F?L\?MB:
MA\7/C3XJ_9S^)_P6U/P%XU\,:=!J9TJ]U6WOXKW3YB%6XBG@^4X8JK+V+ 9)
M#!>.US_@I+!;? [6_P!J[PO\$KS5OA?H&OR:=>ZRFN)%J<T4=RMM+>0V31;7
MA$K8 >=)" 2445SGA[Q#IEI_P6K\:)!<QW%S%^S] %LX95,LDBZA%(8P,_?V
MD''7!!Z5\\_%_P#:8\ ?M4_\$RO'OQ,\>_%6*+QK?"\%A\)]!OG@A\.1Q:B
M/-LK?#W!,86:2ZN@R!Y?E\L\4 ?:G[1_[=/AC]G76/AW:WOPO\1:WIGQ&URS
MT_3-?TU8FMXC.00/+5FN9)=AWK&L.'^Z&W<5!X'_ &V]9U#]I_3OV8_BY^SO
MK_@2^\3:1<ZCX*U#5-5L[I=6BMP6E1UM9'%O*J OL+,0!R1E<^!?M3_$[X>^
M+O!7[&^N>&_&&GWEE_PM[PX%O(;@&)_*@1)2K_==4=@C,I(5\J2&! [W]JG5
M]*M/^"L/[+UM<ZE!'(-,\6AD>4 CS--*1Y&>-S JOJ00.: /8=>_:7U_6_%_
MBGP/\ /A9_PFEYX(*Q>)KF?6UT^UBO&B\T6$,ACE,]T$*%EVK&GF(&D#$J,G
MX9?M[?"'XJ?LS:+^TKX?T?61!KVJIH^F^&I+9!J%QJS3F!;% 6$;.9 ?G+!
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
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
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
M^@W9?^ Q_P : -BBL?[%XW_Z#=E_X#'_ !H^Q>-_^@W9?^ Q_P : -BBL?[%
MXW_Z#=E_X#'_ !H^Q>-_^@W9?^ Q_P : -BBL?[%XW_Z#=E_X#'_ !H^Q>-_
M^@W9?^ Q_P : -BBL?[%XW_Z#=E_X#'_ !H^Q>-_^@W9?^ Q_P : -BBL?[%
MXW_Z#=E_X#'_ !H^Q>-_^@W9?^ Q_P : -BBL?[%XW_Z#=E_X#'_ !H^Q>-_
M^@W9?^ Q_P : -BBL?[%XW_Z#=E_X#'_ !H^Q>-_^@W9?^ Q_P : -BBL?[%
MXW_Z#=E_X#'_ !H^Q>-_^@W9?^ Q_P : -BBL?[%XW_Z#=E_X#'_ !H^Q>-_
M^@W9?^ Q_P : -BBL?[%XW_Z#=E_X#'_ !H^Q>-_^@W9?^ Q_P : -BBL?[%
MXW_Z#=E_X#'_ !H^Q>-_^@W9?^ Q_P : -BBL?[%XW_Z#=E_X#'_ !H^Q>-_
M^@W9?^ Q_P : -BBL?[%XW_Z#=E_X#'_ !H^Q>-_^@W9?^ Q_P : -BBL?[%
MXW_Z#=E_X#'_ !H^Q>-_^@W9?^ Q_P : -BBL?[%XW_Z#=E_X#'_ !H^Q>-_
M^@W9?^ Q_P : -BBL?[%XW_Z#=E_X#'_ !H^Q>-_^@W9?^ Q_P : -BBL?[%
MXW_Z#=E_X#'_ !H^Q>-_^@W9?^ Q_P : -BBL?[%XW_Z#=E_X#'_ !H^Q>-_
M^@W9?^ Q_P : -BBL?[%XW_Z#=E_X#'_ !H^Q>-_^@W9?^ Q_P : -BBL?[%
MXW_Z#=E_X#'_ !H^Q>-_^@W9?^ Q_P : -BBL?[%XW_Z#=E_X#'_ !H^Q>-_
M^@W9?^ Q_P : -BBL?[%XW_Z#=E_X#'_ !H^Q>-_^@W9?^ Q_P : -BBL?[%
MXW_Z#=E_X#'_ !H^Q>-_^@W9?^ Q_P : -BBL?[%XW_Z#=E_X#'_ !H^Q>-_
M^@W9?^ Q_P : -BBL?[%XW_Z#=E_X#'_ !H^Q>-_^@W9?^ Q_P : -BBL?[%
MXW_Z#=E_X#'_ !H^Q>-_^@W9?^ Q_P : -BBL?[%XW_Z#=E_X#'_ !H^Q>-_
M^@W9?^ Q_P : -BBL?[%XW_Z#=E_X#'_ !H^Q>-_^@W9?^ Q_P : -BBL?[%
MXW_Z#=E_X#'_ !H^Q>-_^@W9?^ Q_P : -BBL?[%XW_Z#=E_X#'_ !H^Q>-_
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
MI1;T^&+3:WOI]1T445]@?SJ%%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !117%_'3X[^"OV?_  I9^)?&$5[=SZMK
M-MH^@:-I<2R7>JZC<-MAM8%=E3>V&.795559F8 $T =I17A/PZ_;%\5:CKNG
MZ)\6/@%KF@P:WXTOO#NE:U875M>V<5U#/-&D-UY<IDA=A"PWA&B+# 894'L?
MVE/VC]#_ &;/!]GXCO?A_P"*?%VHZIJ L])\+^"=(-_J=Z^QI)&CA!!*1QHS
MNV<* .Y (!Z+17EO[,?[3&J?M)6&KZE??LX_$?X?1Z5-%%&GQ%\/C3I+XN&)
M,";V9E3:-S$ 9< $D''.7_[='AR70/$WQ/\ !?PNU[Q#X \&7]Q:>(_&>FRP
M>7NMSBZEM8&<27<,'/F2* #L?RQ+MH ]UHKA_B/^T9\(?A;\$9/VA_$GBR*3
MPJ-/@O+.^L%,YOUGV_9T@5>97E+HJ*.I8=!DCG_#O[48A^(_AWX7?&+X7:KX
M'U/QE:S3>$CJ=[;7$5])"@>6T=X'80W2H0_EG*L VQW*D  ]8HHKRCQ#^U&E
MQ\4-?^$/P<^&.J>-]8\(V<-QXL.G7UM;0:<TREX;423NHENG0%Q&/E48WNF0
M" >KT5Q'PT_:*^$OQ5^"L?[0'ASQ.D/AD6,]S?W>HKY#:<(-PN([A6_U3Q%'
M#@]"IY(P3P&F_MU>&SX9\._%GQ7\+M>T'X=^+=1@L]!\:ZG+ $_TAMMK<7-N
M',MK;3G:(Y6!QYD9D6,-F@#W:BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
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
M &6_U*.*0 '8QYQ47_"8^&/^@U!_WU5Z6SM)FWS6L;MZL@)IO]G:?_SXP_\
M?H4 4_\ A,?#'_0:@_[ZH_X3'PQ_T&H/^^JN?V=I_P#SXP_]^A1_9VG_ //C
M#_WZ% %/_A,?#'_0:@_[ZH_X3'PQ_P!!J#_OJKG]G:?_ ,^,/_?H4?V=I_\
MSXP_]^A0!3_X3'PQ_P!!J#_OJC_A,?#'_0:@_P"^JN?V=I__ #XP_P#?H4?V
M=I__ #XP_P#?H4 4_P#A,?#'_0:@_P"^J/\ A,?#'_0:@_[ZJY_9VG_\^,/_
M 'Z%']G:?_SXP_\ ?H4 4_\ A,?#'_0:@_[ZH_X3'PQ_T&H/^^JN?V=I_P#S
MXP_]^A1_9VG_ //C#_WZ% %/_A,?#'_0:@_[ZH_X3'PQ_P!!J#_OJKG]G:?_
M ,^,/_?H4?V=I_\ SXP_]^A0!3_X3'PQ_P!!J#_OJC_A,?#'_0:@_P"^JN?V
M=I__ #XP_P#?H4?V=I__ #XP_P#?H4 4_P#A,?#'_0:@_P"^J/\ A,?#'_0:
M@_[ZJY_9VG_\^,/_ 'Z%']G:?_SXP_\ ?H4 4_\ A,?#'_0:@_[ZH_X3'PQ_
MT&H/^^JN?V=I_P#SXP_]^A1_9VG_ //C#_WZ% %/_A,?#'_0:@_[ZH_X3'PQ
M_P!!J#_OJKG]G:?_ ,^,/_?H4?V=I_\ SXP_]^A0!3_X3'PQ_P!!J#_OJC_A
M,?#'_0:@_P"^JN?V=I__ #XP_P#?H4?V=I__ #XP_P#?H4 4_P#A,?#'_0:@
M_P"^J/\ A,?#'_0:@_[ZJY_9VG_\^,/_ 'Z%']G:?_SXP_\ ?H4 4_\ A,?#
M'_0:@_[ZH_X3'PQ_T&H/^^JN?V=I_P#SXP_]^A1_9VG_ //C#_WZ% %/_A,?
M#'_0:@_[ZH_X3'PQ_P!!J#_OJKG]G:?_ ,^,/_?H4?V=I_\ SXP_]^A0!3_X
M3'PQ_P!!J#_OJC_A,?#'_0:@_P"^JN?V=I__ #XP_P#?H4?V=I__ #XP_P#?
MH4 4_P#A,?#'_0:@_P"^J/\ A,?#'_0:@_[ZJY_9VG_\^,/_ 'Z%']G:?_SX
MP_\ ?H4 4_\ A,?#'_0:@_[ZH_X3'PQ_T&H/^^JN?V=I_P#SXP_]^A1_9VG_
M //C#_WZ% %/_A,?#'_0:@_[ZH_X3'PQ_P!!J#_OJKG]G:?_ ,^,/_?H4?V=
MI_\ SXP_]^A0!3_X3'PQ_P!!J#_OJC_A,?#'_0:@_P"^JN?V=I__ #XP_P#?
MH4?V=I__ #XP_P#?H4 4_P#A,?#'_0:@_P"^J/\ A,?#'_0:@_[ZJY_9VG_\
M^,/_ 'Z%']G:?_SXP_\ ?H4 4_\ A,?#'_0:@_[ZH_X3'PQ_T&H/^^JN?V=I
M_P#SXP_]^A1_9VG_ //C#_WZ% %/_A,?#'_0:@_[ZH_X3'PQ_P!!J#_OJKG]
MG:?_ ,^,/_?H4?V=I_\ SXP_]^A0!3_X3'PQ_P!!J#_OJC_A,?#'_0:@_P"^
MJN?V=I__ #XP_P#?H4?V=I__ #XP_P#?H4 4_P#A,?#'_0:@_P"^J/\ A,?#
M'_0:@_[ZJY_9VG_\^,/_ 'Z%']G:?_SXP_\ ?H4 4_\ A,?#'_0:@_[ZH_X3
M'PQ_T&H/^^JN?V=I_P#SXP_]^A1_9VG_ //C#_WZ% %/_A,?#'_0:@_[ZH_X
M3'PQ_P!!J#_OJKG]G:?_ ,^,/_?H4?V=I_\ SXP_]^A0!3_X3'PQ_P!!J#_O
MJC_A,?#'_0:@_P"^JN?V=I__ #XP_P#?H4?V=I__ #XP_P#?H4 4_P#A,?#'
M_0:@_P"^J/\ A,?#'_0:@_[ZJY_9VG_\^,/_ 'Z%']G:?_SXP_\ ?H4 4_\
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
M_OT*/[.T_P#Y\8?^_0H I_\ "8^&/^@U!_WU1_PF/AC_ *#4'_?57/[.T_\
MY\8?^_0H_L[3_P#GQA_[]"@"G_PF/AC_ *#4'_?5'_"8^&/^@U!_WU5S^SM/
M_P"?&'_OT*/[.T__ )\8?^_0H I_\)CX8_Z#4'_?5'_"8^&/^@U!_P!]5<_L
M[3_^?&'_ +]"C^SM/_Y\8?\ OT* *?\ PF/AC_H-0?\ ?5'_  F/AC_H-0?]
M]5<_L[3_ /GQA_[]"C^SM/\ ^?&'_OT* *?_  F/AC_H-0?]]4?\)CX8_P"@
MU!_WU5S^SM/_ .?&'_OT*/[.T_\ Y\8?^_0H I_\)CX8_P"@U!_WU1_PF/AC
M_H-0?]]5<_L[3_\ GQA_[]"C^SM/_P"?&'_OT* *?_"8^&/^@U!_WU1_PF/A
MC_H-0?\ ?57/[.T__GQA_P"_0H_L[3_^?&'_ +]"@"G_ ,)CX8_Z#4'_ 'U1
M_P )CX8_Z#4'_?57/[.T_P#Y\8?^_0H_L[3_ /GQA_[]"@"G_P )CX8_Z#4'
M_?5'_"8^&/\ H-0?]]5<_L[3_P#GQA_[]"C^SM/_ .?&'_OT* *?_"8^&/\
MH-0?]]4?\)CX8_Z#4'_?57/[.T__ )\8?^_0H_L[3_\ GQA_[]"@"G_PF/AC
M_H-0?]]4?\)CX8_Z#4'_ 'U5S^SM/_Y\8?\ OT*/[.T__GQA_P"_0H I_P#"
M8^&/^@U!_P!]4?\ "8^&/^@U!_WU5S^SM/\ ^?&'_OT*/[.T_P#Y\8?^_0H
MI_\ "8^&/^@U!_WU1_PF/AC_ *#4'_?57/[.T_\ Y\8?^_0H_L[3_P#GQA_[
M]"@"G_PF/AC_ *#4'_?5'_"8^&/^@U!_WU5S^SM/_P"?&'_OT*/[.T__ )\8
M?^_0H I_\)CX8_Z#4'_?5'_"8^&/^@U!_P!]5<_L[3_^?&'_ +]"C^SM/_Y\
M8?\ OT* *?\ PF/AC_H-0?\ ?5'_  F/AC_H-0?]]5<_L[3_ /GQA_[]"C^S
MM/\ ^?&'_OT* *?_  F/AC_H-0?]]4?\)CX8_P"@U!_WU5S^SM/_ .?&'_OT
M*/[.T_\ Y\8?^_0H I_\)CX8_P"@U!_WU1_PF/AC_H-0?]]5<_L[3_\ GQA_
M[]"C^SM/_P"?&'_OT* *?_"8^&/^@U!_WU5RQO[/4H!=6-PLL9) =>F:/[.T
M_P#Y\8?^_0J2.**%=D,:HOHJX% #J*** "BBB@ HHHH **** ([:SM+)&CL[
M6.%7D:1UB0*&=B2S''4DDDGN34E%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 445\9_\ !2'_ (*M>&/V7EG^"OP+
M%OXA^)=T!"R1KYUOHC/PIE _UDYR-L Z<%^,*_'CL=A<NP[K5Y62^]OLEU9]
M#PQPOG?&&;PR[*Z3G4EOTC&/64WM&*ZM^BNVD^^_;_\ ^"CWPI_8>\)&QG,.
MN>.-0MRVB>%XIL%0<@7%R1S%"#T_B<@A>C,OR-^R)_P3]^-__!0?XE)^V=^W
M_JM^VA7S+-HOAV;=!)J4 .Z-%08-K9#/RJ,/("6R WF/VW[ '_!*;Q1XG\6C
M]KS]OXW&N^*=4N!?V'A?6F\UHY#@K/?!N&<<;;?[J  ,,C8GZ(@!0%48 Z 5
MX5#!8K/*JQ./CRTEK"G_ .W3[OR_X-_U7,N)LB\,<!4R;A2HJV-FN6OC5T[T
M\-_+'O46KW3;Y7&KH>AZ+X9T:U\.^'-)MK"PL;=(+*RLX%CB@B485$10 J@
M  #  JU117U"22LC\+E*4Y.4G=O=A1113)"BBB@ HHHH *\<_:W_ &%/V>_V
MS?#/]E?%CPJ(]5@A*:7XGTT+%?V77 63!$B9)_=N&3DD '!'L=%8U\/1Q5)T
MZL5*+W3/0RO-<RR3'0QN K2I58.ZE%M-?=T?5;-:/0_)B^\,_P#!0O\ X(N^
M))-7\,7A\=_"26[W3ILD:Q 9N3+&"SZ=.<_?4F-F*Y,F-H^\/V-?^"B/[/'[
M:>BI'X"U[^R_$L4._4/".K2*EY#@?,T?:XC']].@QN"$XKW*]LK/4K.73M1M
M(KBWGC:.>">,.DB,,%64\$$$@@]:^!OVRO\ @BMH>O:R_P ;?V'M=_X0GQ9:
M3?:XM ANFM[.693N#6LJ'=9R9Z ?N\X \H9-?./ YEDCYL"_:4>M-O5?X'^C
M_%G[+'B?@KQ-BJ/%$5@LP>D<93C^[J/I]8IJRN^LXV\^6*L_OZBOS4_9E_X+
M _%GX ^,Q^SE_P %)? ^IZ=J%@RP#Q6=/*W,*]%>ZA08GC(Y$\.2P .V3)>O
MT7\&>-O"'Q&\,6?C7P%XFL=8TC4(1+9:EIMRLT,R>JLI(//!]""#R*]?+LUP
M>9P;I/WEO%Z27JOZ1^>\7\!\1<$XB,<?33I3UIU8/FI5%NG":T=UK9VE;6UK
M&I1117I'Q@4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 50\3^*
M?#/@G0+OQ7XR\16.DZ781&6]U+4KM((+=!_$\CD*H]R:OU\S_P#!4GP3\:=?
M^#/A3X@_!;PA)XHG^'WQ%TOQ3K/@^(G=K5G:&1FA50"9"&*/LP2=N0&95! /
M3_A?^UY^SG\7];/ACP5\5-*DU5KRYM[72KJZ6"YO/(D:-Y((W(::/*DAD!X(
MSC->DU\G_L4?$S]GW]N3X:)XJ\.ZE$NM^&OBE?\ B:+1[Y(QJ6BR2W\\B"6/
M)*"2&5XRZDJ=S $E2!ZY\=O$>O\ COQ%:_LS?#?5Y[+4M:L_M7BW6[)]LFA:
M(6*,Z,/N7-RRO!!W7$TPSY&& .U^'OQ2^'?Q8TZ^U?X;>,+'6K33=5GTR]N=
M/F\R.*[A($L6X<$J2,XR.>M9'B+]I#X#^$O&1^'_ (D^+&B6>KQS0PW%I->J
M/LTLV!#',WW87DR-BR%6?<-H.17R?_P38\66'P!_X)_?&;QSH.FQI;>"O&WC
M"^LK/DH$LX5D2/KG&(P*ZC]@OX5:=\3/^"5/]G>/U&I:A\3=$US5/%>H70#2
MW]W>S7'[]SW<((@&ZCRUQT% 'UQJ.HZ?I&GSZMJU]#:VMK"TMS<W$H2.*-02
MSLS8"J "23P *Y7X<_'_ ."WQ<U&72/AM\2=*U>ZBM5NC;6MQ\\ELQVK<1J<
M&2$G@2IE"> U?G,W[3GCC]H;_@GY^S'\%O%6L3SS_$GXHV?A7QC=22$O?Z99
M7XB:-VZMYB&V+D\L58'.XU]'?\%5_$\WP(@^"G[2?A+%KJ7A7XL66F.80%\W
M2KV"9;NU./X'6&,8Z#:".0* /KNN0^(WQ]^#/PCU"#2/B1\1]+TF[N+5[J.T
MN;C]Z+9#A[AD7)2%3PTK (IZL*Z^OD#_ ()4>*;GX\:C\<?VG?%.+C4?$OQ6
MNM'M7E&XPZ38P1"TMEST15G?@<$Y8\F@#ZXTS4]-UK3;?6-&U""[L[N%9K6Z
MM95DCFC8!E=&4D,I!!!'!!KD- _:0^ _BGQF/A]X=^+&B7FKO<2V\-I!>JPG
MGBSYL,3_ ')98\'?&A+)M.X#!K\\Y/VG?&G[.G["7[4OP?\ !VL30/\ #CXH
MWGAOP3<1R$/IVFZA?&)8HV'*&)!<LA'W2R@8VC'T%^VG\*-,^&7_  26&B^#
M%&EW_P .?#.BZKX;U"T 26QO[*2W?[0C=I&_>Y;J?-;/4T ?8%%<E\ OB)/\
M7O@5X+^+%S"L4OB?PGIVK2Q(,!&N+:.8J/H7(KK: "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HZ=:K:QK&D^'M*N=>U[5+>RL;*!Y[R\NYECB@B4$L[NQ 50 2
M23@ 5^8O[8?_  4-^-/[>?Q';]B__@GUIE_-I-^S0:SXDMMT,FI0@[9"'./L
MMD,_,[8:0$+P#M?S,SS3#Y923G[TI:1BMY/LO\_UT/M>"N!<WXVQLH8=JG0I
M+FK5IZ4Z4.KDW97M>T;W?DDVNW_X*"?\%7?$.I>*F_9(_8*$^O>+M3N387WB
M;1D\XP2G@V]CMR'EZ[IONQ@':2WS)W/_  3>_P""47A_]FIX/CI^T%Y'B+XE
MW1-Q&)I//@T1WY.QCGS;DDG=-S@Y"=W?O_\ @GW_ ,$VOA9^P_X675G$&N^.
M[^W"ZSXFDAXB!P3;VH/,<0/4_>D(RV!M1?I2O/P.5XC$XA8W,M9_9A]F'^<O
M/_@'U_$_'649-E$^&>#4X85Z5J[TJXEK1W>\*6]H*UT]4KR3****^C/QL***
M* "BBB@ HHHH **** "BBB@ HHHH \T_::_9%^ W[7/@T^#?C7X*AOO*5O[.
MU6WQ%?:>Q_BAF RO."5.4; W*PXK\Z?&/[.G[?G_  1]\4W?Q0_9U\3S^-/A
MF\WGZK:-;-+ L8_Y_;53F)@!C[3"0, ;F0'97ZPTC*KJ4=001@@C@BO'S')<
M-CIJM%NG56TXZ/Y]UY,_1.$/$G.>%L/++ZT(XK 3^/#U?>@^[C>[IRZJ4>MF
MTVD?-?[$?_!43]GO]LRU@\.6M\/#'C7R_P#2/"FK7"[IF R3:RX"W"]3@ 2
M DH!R?I6OA_]MS_@B_\ "[XU7<_Q3_9FN[;P'XT23[1]DMP8],OI@=P;;&,V
MLF<'S(QMR,E"26'D'P&_X*E?M.?L2^.8OV<?^"CO@+6+NVML1VOB9XP]_%%G
M:)2X.S4(>/\ 6*WF<-EI#\HX*>;XO+)JCFD;)Z*I'X7_ (E]E_A\M3ZK&>'O
M#_&N%GF/ M5RFES3P51KVT.[I-NU6"Z:\R5DVY/E7Z?T5SWPN^*_PW^-?@NT
M^(?PH\9V&O:+>KFWO]/G#KGNC#JCC."C ,IX(!KH:^EC.,XJ47=/J?BU>A7P
MM:5&M%QG%M-----;IIZIKJF%%%%49!1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 5PWQ>^/\ X!^"'B+PAH_Q#U:VTVU\8:W)I5GJ=]=+###<BWEGC1V;@;_*
M*+DCYF4<D@5W-4]>\/:!XITJ70_$^AV>HV4XQ/9W]LDT4@]&1P0?Q% 'YY_%
M7X4>%]#_ &COAY\;_P!G.^-C\7]:^/VK6.KVFCW&3K'AL:E=&\FO(E.#!%&B
M*92!PX7DB/;[UJO[%W[8MA\2O&'CKX6?\%%+GPS:^+?$,NIR::WPITN_>W4@
M)#!]HN',DB10I'&N< !<A06.?;OA-\ O@]\#8+^#X5_#W2=%_M._GN[Q]/TZ
M*%I&EE:0H2B@[%+$*O10 !TKL* /SP_X)<?L_P#Q>^(_[//QA\*^+?VAGOO"
MOB/6_%GAJ[\,-X6M85;49Q'%)JOVE/WH+*SC[./W8W9'(%>@_LB?&;3_ (#_
M /!,34_"7Q/N(M*\6_"S3M6\/:YH$TH^T#44DF^R01I]Z0W"R6YB*@B3S!MS
MUK[#T?0-"\.V\EKX?T6TL8I9VFECL[98E>1OO.0H +'N>IJC?_#KX?:KXKMO
M'>J>!-&N=<LDV6>LW&EQ/=P+SPDQ7>HY/ (ZT ?GCKG[''Q _9O_ ."?W[/7
MQ&U3P]<R:W\'/B!9^,O&NF0Q%YH+"XO/M%VNQ<DO GD!P,X$4C=!7L__  48
MTG3?VM?$/P2_9I^&>KVNKMJWQ L_%NMW&FW"S)::#9PR^9=.R$A4D\]5C8D"
M1\*I/-?7[*K*59001@@CK61X2^'?P_\   NE\">!='T07LOFWHTC3(K;[0_/
MS/Y:C>>3R<GF@#$_X:#^#G_"\_\ AFK_ (3B#_A-_P"P_P"V/[!\B7?]BW[/
M,\S9Y><_P;M^/FVXYKYS_P""=>FZ9^R7XE^-_P"S3\2]7M='_L?Q_=^+M%N]
M2N%ACNM!O8HQ'<HSD!DC-NR2,#A'.UB.*^K_ /A$_"O_  D__";_ /"-:?\
MVU]B^Q_VO]B3[5]FW;_)\W&_R]WS;,XSSC-5O%GPZ^'WCU[27QSX%T;6FL)?
M,L6U;2XKDV[\?-'YBG8>!R,'B@#\\M"_8T^('[1O[ O[1'Q"TW0;F/6_C%\0
M;SQAX*TV:(I-<6%O>?:+1=C8(:=?.5 <962-NAKUC]KGXSZ?\??^"7^F^%_A
MA/'J?B[XIZ7I6@Z#X>AD'VEM0>6 7D#IU0VZI<&4D 1^4=Q YK[.  & *QM,
M^'/P]T7Q1=^.-'\":-::U?KMOM8MM+BCNK@>DDJJ'<<#J3TH I_!KX>6_P (
MOA!X4^%%I<B:+PQX;L=)CF P)%MK=(0WX[,UTM%% !1110!G:EX9T_5;HW=Q
M/<JQ4#$5P5''L*@_X0?2/^?F]_\  MJV** ,?_A!](_Y^;W_ ,"VH_X0?2/^
M?F]_\"VK8HH Q_\ A!](_P"?F]_\"VH_X0?2/^?F]_\  MJV** ,?_A!](_Y
M^;W_ ,"VH_X0?2/^?F]_\"VK8HH Q_\ A!](_P"?F]_\"VH_X0?2/^?F]_\
M MJV** ,?_A!](_Y^;W_ ,"VH_X0?2/^?F]_\"VK8HH Q_\ A!](_P"?F]_\
M"VH_X0?2/^?F]_\  MJV** ,?_A!](_Y^;W_ ,"VH_X0?2/^?F]_\"VK8HH
MQ_\ A!](_P"?F]_\"VH_X0?2/^?F]_\  MJV** ,?_A!](_Y^;W_ ,"VH_X0
M?2/^?F]_\"VK8HH Q_\ A!](_P"?F]_\"VH_X0?2/^?F]_\  MJV** ,?_A!
M](_Y^;W_ ,"VH_X0?2/^?F]_\"VK8HH Q_\ A!](_P"?F]_\"VH_X0?2/^?F
M]_\  MJV** ,?_A!](_Y^;W_ ,"VH_X0?2/^?F]_\"VK8HH Q_\ A!](_P"?
MF]_\"VH_X0?2/^?F]_\  MJV** ,?_A!](_Y^;W_ ,"VH_X0?2/^?F]_\"VK
M8HH Q_\ A!](_P"?F]_\"VH_X0?2/^?F]_\  MJV** ,?_A!](_Y^;W_ ,"V
MH_X0?2/^?F]_\"VK8HH Q_\ A!](_P"?F]_\"VH_X0?2/^?F]_\  MJV** ,
M?_A!](_Y^;W_ ,"VH_X0?2/^?F]_\"VK8HH Q_\ A!](_P"?F]_\"VH_X0?2
M/^?F]_\  MJV** ,?_A!](_Y^;W_ ,"VH_X0?2/^?F]_\"VK8HH Q_\ A!](
M_P"?F]_\"VH_X0?2/^?F]_\  MJV** ,?_A!](_Y^;W_ ,"VH_X0?2/^?F]_
M\"VK8HH Q_\ A!](_P"?F]_\"VH_X0?2/^?F]_\  MJV** ,?_A!](_Y^;W_
M ,"VH_X0?2/^?F]_\"VK8HH Q_\ A!](_P"?F]_\"VK!^)NK_"KX-^!M0^)/
MQ/\ &;:-HFE0&6]U"\OV"H.@  Y9B<!44%F)  )(%5?VD_VF_A!^RA\,[KXI
M?&/Q(ME9192SM(L-<ZA/C*P01Y!=S^ 499BJ@D?FGI6A_M:_\%P_C,->\0RW
M'@[X/>'[\B)(R6@M_5(\@"[O64_-(1MC#=%!"/XN9YNL')8>A'VE>7PQ7YR[
M+^O-?I/!'A]4XBH5,VS2K]5RRC_$K2ZO_GW27VZCV22:76[M%P?$[XP_M)?\
M%@OC'+\!/V8]+U'0/ACI]PCZK?ZC,X1H@WRW-\RD@DXS':J3DC)W;2R?H/\
MLG_L%_ _]D+X?)X-^'=K=2WUPB-KFOSR;;G4I0/O.5^Z@).V,<*#W)9CW/P%
M^ 'PI_9I^&]E\*O@[X5ATO2;,98+\TMU*0 T\SGF21L#+'T &  !V=3EF4/#
MU7BL5+VE>6[Z17:*Z+\S?C7Q!IYO@8Y%D5+ZKE=)^[37Q57_ ,_*TOM2>]KM
M1TW:3,?_ (0?2/\ GYO?_ MJ/^$'TC_GYO?_  +:MBBO</R\Q_\ A!](_P"?
MF]_\"VH_X0?2/^?F]_\  MJV** ,?_A!](_Y^;W_ ,"VH_X0?2/^?F]_\"VK
M8HH Q_\ A!](_P"?F]_\"VH_X0?2/^?F]_\  MJV** ,?_A!](_Y^;W_ ,"V
MH_X0?2/^?F]_\"VK8HH Q_\ A!](_P"?F]_\"VH_X0?2/^?F]_\  MJV** ,
M?_A!](_Y^;W_ ,"VH_X0?2/^?F]_\"VK8HH Q_\ A!](_P"?F]_\"VH_X0?2
M/^?F]_\  MJV** ,?_A!](_Y^;W_ ,"VH_X0?2/^?F]_\"VK8HH Q_\ A!](
M_P"?F]_\"VKCOC;^R7\#/VB?!TG@7XP^$O[9L6RT!N)V\VUD(QYD,@^:)_=2
M,]#D9%>DT5%2G3K0<)I-/=/5'3@\9B\OQ4,3A:DJ=2#O&46U)-=4UJGZ'Y1_
M&']@/]M'_@FAXMN_CA^Q7XUU3Q1X.#>;JFDK&9+B.%>=MY:IA;E ,_OH@'4;
MCB,#=7T;^PS_ ,%/?V<OVLA:>!/&][-X+\<R!8QI%_JC?9=1DZ?Z+,V 6)Z1
M/A^<+YF"U?9]?('[<W_!(#X'?M3F[\?_  U%OX)\<R;I6U&RM\66HR=?])A7
M&&)ZS1X;))828 KYJ65X[*9.IECO#=TI/3_MU]'Y;?D?M-#CGA;Q HQP7&U/
MV>(2M#'4HKG795X+2I%=TN9+1)7<CZG_ .$'TC_GYO?_  +:C_A!](_Y^;W_
M ,"VK\QOA-_P4 _;1_X)H>-K7X _MX>!=4\1^%U/EZ7K9E\ZZ2!2!OM;HG9>
M1@$?NY")%R 63&ROT?\ @;^T!\'_ -I'P-!\1/@OXZLM<TR7 D>V?$MM)C/E
MS1MAXG']UP#CGH0:]++LXPF8MP5XU%O"6DE\NJ\U^!\7QCX=9]P?&&)GRU\)
M4_AXBD^:E-/;WE\,O[LNM[72N;7_  @^D?\ /S>_^!;4?\(/I'_/S>_^!;5L
M45ZQ\"8__"#Z1_S\WO\ X%M1_P (/I'_ #\WO_@6U;%% &/_ ,(/I'_/S>_^
M!;4?\(/I'_/S>_\ @6U;%% &/_P@^D?\_-[_ .!;4?\ "#Z1_P _-[_X%M6Q
M10!C_P#"#Z1_S\WO_@6U'_"#Z1_S\WO_ (%M6Q10!C_\(/I'_/S>_P#@6U'_
M  @^D?\ /S>_^!;5L44 8_\ P@^D?\_-[_X%M1_P@^D?\_-[_P"!;5L44 8_
M_"#Z1_S\WO\ X%M1_P (/I'_ #\WO_@6U;%% &/_ ,(/I'_/S>_^!;4?\(/I
M'_/S>_\ @6U;%% &/_P@^D?\_-[_ .!;4?\ "#Z1_P _-[_X%M6Q10!C_P#"
M#Z1_S\WO_@6U'_"#Z1_S\WO_ (%M6Q10!C_\(/I'_/S>_P#@6U'_  @^D?\
M/S>_^!;5L44 8_\ P@^D?\_-[_X%M1_P@^D?\_-[_P"!;5L44 8__"#Z1_S\
MWO\ X%M1_P (/I'_ #\WO_@6U;%% &/_ ,(/I'_/S>_^!;4?\(/I'_/S>_\
M@6U;%% &/_P@^D?\_-[_ .!;4?\ "#Z1_P _-[_X%M6Q10!C_P#"#Z1_S\WO
M_@6U'_"#Z1_S\WO_ (%M6Q10!C_\(/I'_/S>_P#@6U'_  @^D?\ /S>_^!;5
ML44 8_\ P@^D?\_-[_X%M1_P@^D?\_-[_P"!;5L44 8__"#Z1_S\WO\ X%M1
M_P (/I'_ #\WO_@6U;%% &/_ ,(/I'_/S>_^!;4?\(/I'_/S>_\ @6U;%% &
M/_P@^D?\_-[_ .!;4?\ "#Z1_P _-[_X%M6Q10!C_P#"#Z1_S\WO_@6U'_"#
MZ1_S\WO_ (%M6Q10!C_\(/I'_/S>_P#@6U'_  @^D?\ /S>_^!;5L44 8_\
MP@^D?\_-[_X%M1_P@^D?\_-[_P"!;5L44 8__"#Z1_S\WO\ X%M1_P (/I'_
M #\WO_@6U;%% &/_ ,(/I'_/S>_^!;4?\(/I'_/S>_\ @6U;%% &/_P@^D?\
M_-[_ .!;4?\ "#Z1_P _-[_X%M6Q10!C_P#"#Z1_S\WO_@6U'_"#Z1_S\WO_
M (%M6Q10!C_\(/I'_/S>_P#@6U'_  @^D?\ /S>_^!;5L44 8_\ P@^D?\_-
M[_X%M1_P@^D?\_-[_P"!;5L44 8__"#Z1_S\WO\ X%M1_P (/I'_ #\WO_@6
MU;%% &/_ ,(/I'_/S>_^!;4?\(/I'_/S>_\ @6U;%% &/_P@^D?\_-[_ .!;
M4?\ "#Z1_P _-[_X%M6Q10!C_P#"#Z1_S\WO_@6U'_"#Z1_S\WO_ (%M6Q10
M!C_\(/I'_/S>_P#@6U'_  @^D?\ /S>_^!;5L44 8_\ P@^D?\_-[_X%M6AI
MNG0:5:BTMWD90Q.97+'GW-6** "BBB@ HHHH **** "BBB@ HJ*SO['44>73
M[V*=8Y7BD:&0,%D1BK(<=&# @CJ",&I: "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ KQ']MS]O#X._L0> /^$A\<W8U#7[Z)O\ A'_"UI,!
M<W[CC<>OE0@_>E(P.@#-A3PG_!17_@I_\.?V+-#E\%>%?LOB#XB7EOFQT,29
MATY6'RSW94Y4=UB!#OQ]U3OKYW_8D_X)F?%+]J;Q_P#\-G_\%$KN^U&74Y5N
M]+\*ZH"LMZ.L;W,? @MU&-EL ,C&X*GRO\]F&;5IXCZEEZYJO5_9@N[\^R_X
M9_KO"7 66X?*5Q-Q;-T< OX=-:5<3)?9IK1J'\T]%;9KXH\K^SQ^R1^TE_P5
MK^*\?[57[8^L7FE_#^.0_P!C:5;[H!>0AL_9K)"28K?C#SG+.1@%FRZ?J-X'
M\#^#_AKX2L/ ?@'PY::1H^EVZP:?IUC"(XH8QV 'ODDGDDDDDDFM&SL[33K2
M+3]/M8X(((UC@@A0*D:*,!5 X     Z5)79EF4T<MBY7YJDOBF]V_P!%V1\[
MQOQ[F7&5>G2Y%0P='2C0AI3IQ]-.:;^U)J[UM9:!1117JGP@4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% '-?%GX/?##XZ^"
M;KX=?%WP38:]HUX/WME?P[@K8(#HPPT;C)PZD,.Q%?G!\<?^"8O[57[!_CF;
M]HS_ ()U>/M8U+3H,O>^'$827\4(.3$T6-FH0_[)7S!QA6(WC]1**\O,<HPF
M9)2FN6:VG'22^?Z,^ZX.\0N(.#)3I8=JKAJFE2A47/2J)[WB]F_YE9[7NM#X
MG_8@_P""S7PD^/<]M\,?VAK>V\!^-@X@$ES(4TW4)LXVH\AS;R$Y'E2G&<!7
M8G:/M@$$9!R#T-?,7[<'_!*_]G[]LBWN?%<5HOA3QNR$Q>*-+MABZ;' NX1@
M3CMORL@P/FP-I^/? O[4?[>W_!(KQ99_"/\ :A\)W7C'X<--Y.DWRW#2HL0_
MY\;MAQA1G[-,!@  ",'<?+CF689-)4\Q7/3Z58K_ -+73U7XGW-7@SA'Q&I2
MQ7!L_88RUY8*K)7?5O#U'937]V5FM7[JLC]7Z*\Z_9M_:M^!?[67@I?&_P $
MO&\&I1(%%_I\G[N\L'(^Y/"3N0\$ \JV"59AS7HM?24JM*O352G).+V:U1^+
MX[ 8W*\7/"XRG*G5@[2C).,D^S3U04445H<@4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
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
MQ16/]B\;_P#0;LO_  &/^-'V+QO_ -!NR_\  8_XT ;%%8_V+QO_ -!NR_\
M 8_XT?8O&_\ T&[+_P !C_C0!L45C_8O&_\ T&[+_P !C_C1]B\;_P#0;LO_
M  &/^- &Q16/]B\;_P#0;LO_  &/^-'V+QO_ -!NR_\  8_XT ;%%8_V+QO_
M -!NR_\  8_XT?8O&_\ T&[+_P !C_C0!L45C_8O&_\ T&[+_P !C_C1]B\;
M_P#0;LO_  &/^- &Q16/]B\;_P#0;LO_  &/^-'V+QO_ -!NR_\  8_XT ;%
M%8_V+QO_ -!NR_\  8_XT?8O&_\ T&[+_P !C_C0!L45C_8O&_\ T&[+_P !
MC_C1]B\;_P#0;LO_  &/^- &Q16/]B\;_P#0;LO_  &/^-'V+QO_ -!NR_\
M 8_XT ;%%8_V+QO_ -!NR_\  8_XT?8O&_\ T&[+_P !C_C0!L45C_8O&_\
MT&[+_P !C_C1]B\;_P#0;LO_  &/^- &Q16/]B\;_P#0;LO_  &/^-'V+QO_
M -!NR_\  8_XT ;%%8_V+QO_ -!NR_\  8_XTR>'QC;0O<W/B&PCCC4M)(\&
M%50,DDD\"@$FV;=?"W_!1S_@K';_  AU.;]FW]DQ5\1?$:\F^Q76H64'VF+2
M)G.P0QH ?M%WDX" %4;AMS I7FO[:O\ P4[^+_QQ\=M^QQ^P+>3ZYJ6JS-8W
M_BG08<27!Y#QV<F?DC SONB0  2I"CS#[9_P3U_X)6Z5^R!9P_$GQE?Z7K?Q
M#NH/WVI20-+#I08?-%;;L?,<D-,0&89 VJ2#\OB<PQ6;5WA,N=HK2=7HO*/>
M7GT_$_<<FX0R+@'+:>?\90YZTUS8?!;2GVG7_DII_9:O+9IV<7R'_!.K_@DY
M/X'UR+]J+]LUF\0^/[ZX^WV>C:E/]I339F.[[1<LQ/GW63GDE8SS\S89/O:L
M?[%XW_Z#=E_X#'_&C[%XW_Z#=E_X#'_&O:R_+L+EN'5*@K+J^K?=OJS\UXMX
MOSSC3-GC\SJ7EM&*TA3CTA".T8K[WNVW=FQ16/\ 8O&__0;LO_ 8_P"-'V+Q
MO_T&[+_P&/\ C7<?,&Q16/\ 8O&__0;LO_ 8_P"-'V+QO_T&[+_P&/\ C0!L
M45C_ &+QO_T&[+_P&/\ C1]B\;_]!NR_\!C_ (T ;%%8_P!B\;_]!NR_\!C_
M (T?8O&__0;LO_ 8_P"- &Q16/\ 8O&__0;LO_ 8_P"-'V+QO_T&[+_P&/\
MC0!L45C_ &+QO_T&[+_P&/\ C1]B\;_]!NR_\!C_ (T ;%%8_P!B\;_]!NR_
M\!C_ (T?8O&__0;LO_ 8_P"- &Q16/\ 8O&__0;LO_ 8_P"-'V+QO_T&[+_P
M&/\ C0!L45C_ &+QO_T&[+_P&/\ C1]B\;_]!NR_\!C_ (T ;%%8_P!B\;_]
M!NR_\!C_ (T?8O&__0;LO_ 8_P"- &Q16/\ 8O&__0;LO_ 8_P"-'V+QO_T&
M[+_P&/\ C0!L45C_ &+QO_T&[+_P&/\ C1]B\;_]!NR_\!C_ (T ;%%8_P!B
M\;_]!NR_\!C_ (T?8O&__0;LO_ 8_P"- &Q16/\ 8O&__0;LO_ 8_P"-'V+Q
MO_T&[+_P&/\ C0!L5D>.O 7@KXG>%+SP-\0_"MAK6CZA%Y=[IVI6RRQ2K[JP
MZ@\@]00"""*3[%XW_P"@W9?^ Q_QH^Q>-_\ H-V7_@,?\:4HQE%J2NF:4JM6
MA5C4IR<91=TT[--;--;-'YS_ +27_!(KXU?LT^-6_:/_ .";'CK5;2ZL2TK^
M%5O<7D"9RR6\C_+=1'',$V20,9E)VUW/[&'_  6J\)^,M5C^#/[:&CIX&\76
MTWV1];G@:"QGF4[2MPC_ #64N>N[]WG))CX6OM_[%XW_ .@W9?\ @,?\:\#_
M &Q_^";'PH_;/T]K_P <P66E^)XX=EEXLTFSV72X'RK,,XN(QQ\K\@9"LF2:
M^:JY-B<OJ.OE4N6^KIOX)>G\K_#T1^T8#Q&R7B[!PRSCNBZO*N6GBZ:2Q%/M
MS_\ /V"ZIWEN[2DTU](VUS;7MM'>6=PDT,R!XI8G#*ZD9# C@@CG-/K\E++Q
MW_P44_X(T:Y%X6\;VA\:?"N6YV6<X=YK%03P()2"]C*>?W3C8QW$!_OU][?L
MG_MH_#/]LKPM_;OP@^)%B=0@B#ZIX<U"V$6H6!/'SQ;CN7)P)$+(>F[.0.W+
M\ZP^,J>PJ)TZRWA+?Y/JO3[CYOB[PTS;AS"+-,'4CC,OG\.(I:Q]*D=73ET:
MEI?2[=TO=:*Q_L7C?_H-V7_@,?\ &C[%XW_Z#=E_X#'_ !KV3\W-BBL?[%XW
M_P"@W9?^ Q_QH^Q>-_\ H-V7_@,?\: -BBL?[%XW_P"@W9?^ Q_QH^Q>-_\
MH-V7_@,?\: -BBL?[%XW_P"@W9?^ Q_QH^Q>-_\ H-V7_@,?\: -BBL?[%XW
M_P"@W9?^ Q_QH^Q>-_\ H-V7_@,?\: -BBL?[%XW_P"@W9?^ Q_QH^Q>-_\
MH-V7_@,?\: -BBL?[%XW_P"@W9?^ Q_QH^Q>-_\ H-V7_@,?\: -BBL?[%XW
M_P"@W9?^ Q_QH^Q>-_\ H-V7_@,?\: -BBL?[%XW_P"@W9?^ Q_QH^Q>-_\
MH-V7_@,?\: -BBL?[%XW_P"@W9?^ Q_QH^Q>-_\ H-V7_@,?\: -BBL?[%XW
M_P"@W9?^ Q_QH^Q>-_\ H-V7_@,?\: -BBL?[%XW_P"@W9?^ Q_QH^Q>-_\
MH-V7_@,?\: -BBL?[%XW_P"@W9?^ Q_QH^Q>-_\ H-V7_@,?\: -BBL?[%XW
M_P"@W9?^ Q_QH^Q>-_\ H-V7_@,?\: -BBL?[%XW_P"@W9?^ Q_QH^Q>-_\
MH-V7_@,?\: -BBL?[%XW_P"@W9?^ Q_QH^Q>-_\ H-V7_@,?\: -BBL?[%XW
M_P"@W9?^ Q_QH^Q>-_\ H-V7_@,?\: -BBL?[%XW_P"@W9?^ Q_QH^Q>-_\
MH-V7_@,?\: -BBL?[%XW_P"@W9?^ Q_QH^Q>-_\ H-V7_@,?\: -BBL?[%XW
M_P"@W9?^ Q_QH^Q>-_\ H-V7_@,?\: -BBL?[%XW_P"@W9?^ Q_QH^Q>-_\
MH-V7_@,?\: -BBL?[%XW_P"@W9?^ Q_QH^Q>-_\ H-V7_@,?\: -BBL?[%XW
M_P"@W9?^ Q_QH^Q>-_\ H-V7_@,?\: -BBL?[%XW_P"@W9?^ Q_QH^Q>-_\
MH-V7_@,?\: -BBL?[%XW_P"@W9?^ Q_QH^Q>-_\ H-V7_@,?\: -BBL?[%XW
M_P"@W9?^ Q_QH^Q>-_\ H-V7_@,?\: -BBL?[%XW_P"@W9?^ Q_QH^Q>-_\
MH-V7_@,?\: -BBL?[%XW_P"@W9?^ Q_QH^Q>-_\ H-V7_@,?\: -BBL?[%XW
M_P"@W9?^ Q_QH^Q>-_\ H-V7_@,?\: -BBL?[%XW_P"@W9?^ Q_QH^Q>-_\
MH-V7_@,?\: -BBL?[%XW_P"@W9?^ Q_QH^Q>-_\ H-V7_@,?\: -BBL?[%XW
M_P"@W9?^ Q_QH^Q>-_\ H-V7_@,?\: -BBL?[%XW_P"@W9?^ Q_QH^Q>-_\
MH-V7_@,?\: -BBL?[%XW_P"@W9?^ Q_QK0TV/48K4)JEQ'++N.7B3:,=N* +
M%%%% !1110 4444 %<3\:?@)X(^.MIHP\57NL6%]X=U4:EX?UC0-7EL[NPNO
M+>(R(R'# QR.A1U9&5B"IKMJ* /$OA3^Q7X:\)^)K;QM\4?'&M>-]4T?Q+J6
MK>&O[<N(A;:;+=3R/]H6W@BBB>YV2$&9U8J2WE[ <5H>(_V/?#FM?&75/C;H
M_P :OB5H-_K44*:KI6B>+WCTZX$<:QJ?L\B.(SM4<QE2#DC!))]=HH Q/A[\
M.?!GPK\,Q^$? NBK962323R S/++//(Q>2>660M)-*[$LTCLSL22237GFN_L
M3_![7'U_2DO]?L/#7BS4VU'Q7X+TW5?)TO5KI\>;)(@7S8Q+M!ECBDCCEYWJ
MVYL^O44 <[X]^$WPX^)OPUO?@_XW\(65]X:U"P%G<:08]D7DKC8J!,&,IM4J
M5P4*J5((!KFO!?[,?@KPOXXTWXE>(O$_B'Q;KFA:?)8^'-1\5ZBMRVD6\@"R
MB (B+YCJJJ\[AIG4;6D(R#Z/10!Y[_PS-\./^&F_^&LOM.K_ /"4_P#"*_V!
MY7]IM]B^R^;YN?)Q]_=[[>^W=\U0^,_V8?!7BCQ[J7Q-\/>*/$7A/7-=TZ*P
M\27_ (4U%;9M7MXLB)9P\;CS$#,J3Q[)E5BHD P!Z110!SW@3X4?#GX9_#FS
M^$?@?P?96'ANPLFM+?2$BWQ>2V=ZL'R9"Y9BS,27+,6)))K@?#G[$WP>\/#0
MM%>_U_4?#7A34AJ'A3P9JFJ>=I>DW*DF-XTV"241%CY2322)%QL5=JX]?HH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH ***Y3XU_&[X8?L\?#J_^*GQ=\5V^D:-IZ?O)YCEI7.=L42#YI)&Q
M@(H)/T!-3.<*4'.;LENV;X;"XG&XB&'P\'.<VE&,4VVWHDDM6WT1M>+/%OAC
MP'X:OO&7C37[32]*TVV:>_U"^G$<,$:C)9F;@"OR\_:<_;4_:&_X*D_%*3]D
M/]A_1[VS\%NY76M:DW0'4+<-AI[I\9M[3TB^_)P""S"(9'B[Q]^UC_P6\^,C
M?#_X;VESX1^$.AWRM=S7 )AA /$UR5(%S=,.4@4[4SU W2G](OV7/V4O@Y^R
M%\,X/AG\'_#XMXOE?4M3N,-=ZE.!@S3R #<>N%&%4'"@"OE9UL5Q)-TZ#<,,
MM'+:4_*/:/=_\%'[O0R_(O!G#QQ>9QAB<ZDDZ=#XJ>%OJIU;:2J]8P3TWO\
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
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%?/'[?'_!13X3?L.^#O+U)XM:\9ZA;EM"\*P3X=AR!/<$9\
MF $=?O.00H.&*\^*Q6'P=!UJTN6*W9ZV29'FW$>9T\ORVDZM:H[**_%M[)+=
MMV26K=CM/VM/VP/@U^QK\-9/B'\6-:Q+*&31M$M6!N]4F _U<2$]!D;G.%0$
M9.2 ?SJ^&OP<_:K_ ."UGQA3XR_'+4;KPM\)](NW33K6T)$00-AK>R5AB68X
MQ)<L" 1C'RK$-W]DW]@SX[_\%'OB:G[97[>^K7R^&KMEET3P^Q:!]2MP=T<<
M2 YM;(9X(^>7)8'YO,/Z?^'O#V@^$M#M/#'A?1K73M.L+=(+&PLH%BAMXE&%
M1$4 *H P *^;A0Q7$<U5Q*<,,M8PV<^SEV79?\._V?$YID7@YAIX')YQQ.<R
M3C5Q"]ZGAKZ.G1OI*ITE-[;=XK'^$GPB^''P+\ :?\,/A1X4M=&T33(MEK9V
MJ]_XG=CR[L>6=B68G))KI***^JA"%.*C%62V2/PC$8BOBZ\J]>;G.3;E)MMM
MO5MMZMM[MA1115&(4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%))(D2-+*X55!+,QP /4T +17!>,_VJ?V
M8?ASO'Q _:,\":&4^\NK>+K.W8>V)) <^U>3>,_^"P__  33\";QK/[6GA^X
M*=M&MKK4<GV-K#(#0!]+45\(>,_^#BS_ ()W>&-XT*;QQXC*_=.C^&5C#?\
M@7-#7DWC/_@Y_P#A%9;Q\//V4?$FI_\ /,ZSXBM['/U\J.?% 'ZD45^2/_#^
MC_@HC\5>/V>O^">BW7F_ZC&BZOK.?3_CV6'=^%'_  T__P ')/QD_P"1(_9[
M;PKYOW/^*0L;'9G_ +"TC8_X%0!^MU%?DA_PQ]_P<;_&3_D=_P!I]_"OF_?_
M .*XBL=F?^P3$V/^ T?\0_7[<OQ4_P"3A?\ @H*EUYO^O_TG4]9SZ_\ 'S)#
MN_'% 'Z@^,_V@?@+\.=__"POC;X0T'R_]9_;/B6UM=OU\V1<5Y#\0/\ @JS_
M ,$U/"MG<:=XL_:R\&7]O)$T=Q!IDSZHDJ$892MJDH<$9&.<U\E^#/\ @V#^
M!ECL_P"%A?M1^+-4Q_K/[&T6UL,_3S3<8_6O6?!G_!O!_P $X_"^S^W-#\8^
M(]O7^V?%+1[OK]D2#],4;C3:=T?@_P"+_$,WB[Q7J?BJXL[>W?4M0FNFM[.!
M8H8C(Y;9&B@*B#. H&   .E9U?47_!5;_@GIXM_80_:'U*TTCPY=?\*[U^]D
MNO!&K@220I"Q+?87D8L?.AY3YF+.BK)_$<?+M3!144ELC2O*K4K2G4=W)W;[
MWUO\S=^&'Q \2_"?XD:!\4/!EZUMJWAW6;;4M-G7^">&59$/N,J,CN.*_J[K
M^9']C_\ 8"_:B_;>OM93]GOP,+V+P_:&>\U*_N1:VOF\;+99G&PSOG*H2. 2
M2H&:^F/ W_!6'_@J5_P3W\7Q?"G]I_1-4U2.VX&D_$+3W>:2('!>&[!5YE[!
MQ(\?H#656I.E[R@Y+K;?[G:_RU\F>A@,%A\:O95*\:4MX\Z?*[].:*ERO16Y
MDH[MRCU_=:BOA+]F7_@O[^R%\:(X-+^*EEJ/@/4W $DEPIO;'<>/];$HD3GN
M\2J/[W>OM3P'\1O 'Q1\/Q>+/AKXVTK7],F_U=_H^H1W,1/INC)&?4=144,;
MA<3)QIR]Y;K:2]8NS7S1T9KPUGF2THUL70:IR^&HK3IR_P -2#E"7_;LF;-%
M%%=1X04444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%?,7[:?_!6W
M]CW]B:.ZT#Q=XU_X2/Q="I">#O##I<74;]A</GR[49QD2,'P<JC4 ?3M?(_[
M:_\ P6?_ &//V./M?A:/Q)_PG'C*WW)_PB_A>X206\@_ANKGF.WP>"OSR#_G
MG7Q'J'QY_P""OO\ P6=OIO#WP-\-2?#3X5W,K17%];W4MG9219PRSWY437K=
M5:.W4(<C=&.M?67[%'_!![]DG]F#[)XP^*EHOQ,\70[7%YKUHHTVUD'.8;,E
ME8@_Q3&0Y *A#Q0!\DOJ_P#P6%_X+6SF#28#\-/A%>MAG5I;#3;B GH7_P"/
MC4R1V'[C<O(CKC?V[/\ @WZ^-_[.W@[3/'G[-.I:G\3K*WL OBFQM]/6/4(;
M@$DSV]LA8RP$;1Y:EY5(S\RDE?W(BBB@B6""-41%"HB# 4#H .PIU '\G_\
MPKOX@?\ "2?\(=_P@NL?VOYGE_V5_9DOVG?G&WRMN[.>,8K]-_\ @C1_P1H^
M*\'Q7T7]K+]K+P7<>'M*\/7"7WA3PIJL.R]OKU<-%<SQ-\T$438=4?:[.BDJ
M$'S_ +$T4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %>
M=_M2?LP?"S]KSX07WP9^+FGS26%S*MQ9WEI($N+"Z0$1W,+$$*Z[F'(((9E(
M(8BO1*\[^/?PZ^+OB^]\*^+_ (*^.-*TG5_"^M27<MEKEC)-9ZM;R6\D$EK(
MT3J\7^L#K( ^UHU^4C(H ^//V3OV@/C[^PGX]T[]G7]I9)?%GPV\3_$/4?#_
M (.^*:Y^UQ:M]MEB,-^K,Q_>R*SAB20&8[G"L(_NKXD_$7PW\*_!UWXU\42R
MFWMMJ0VUK$9+B\G=@D5O!&.9)I'*HB#EF8"OG3PS^RI\9OCC>Z-;?M$V^AZ#
MX9\*_%C4?%\6@:-<37=QK%^M[<26K//+%$(K53*7"!&:4;<E.5JU\=?V?/V_
MO'WQ\7XJ?#3X\_#[2-'T>)XO"FBZOX:GO#8EU*R7398*;EU)3S /DC9D3 >0
MN 5Y?V?_ !I\,OV*/CQXV\16D:?$7XF>'O$6OZ[!92>8+*XEL)EM;"-Q]\6\
M82/=_$^]APPJU_P3:N=&M/\ @EMX%NPR?9(O!5X]P?X<B6X,N?\ @0;-=S^S
MC\+_ -K/0=>UG7OVL/CIHGBU+BQCM-$TCP[HGV&SME+,T\DJ')FD?$2J6)"*
MK@8WMGB] _8V^,'PO^#'B3]DSX-^/M#T_P"'NOW-^NDZG?1SOJ?AJPOF=[FS
M@B \NYPTDQBF>2,Q^8-R2;,L ?"/P1T[Q#;_ +*?[$M]KRR#13^T+*4,@.P%
MM5'DYSQRZ7!'XFOKC_@MN+RX^ GPSTO1P6U.Z^.&A1Z6J??\_P F[VE<<YSQ
M^->R?%+]AWX6>.?V6-(_9=\+S3>'[/PJEE-X+UB!!+/I-_9G=;W>#@2/NW;\
MXWB23D%LBMJ7[./Q,^-WQ5\#?$3]I;4/#@LOAS=MJ6B:!X9:>6+4-7*!$OYW
MG53$L0W-% H;:[Y:5P * /<J^,?^")-O=6?P-^*-GK((U6+XYZZFK"0?.)Q#
M9AMW?J#^.:^C/^$6_:-_X:;_ .$P_P"%HZ1_PJ[_ (17[/\ \(C_ &4OVW^U
M?-S]I\_;NV;.,;\=O+S\]<=IO[.'Q.^"7Q<\=?$?]FO4/#?V#XCW$>H:WH7B
M9KB.+3M752CZA T"L91*"&D@;86= RRJ"0 #\\/CC;>)-0_9;_;=U30TE;2#
M^T!;B4QYV,4U4^<>.#\[6Y/X&ON;_@HO<Z/;?\$LO'$L+)]C/@6T6V(^[AF@
M6/'XE<5VOPO_ &(/A7X%_9?UG]F+Q++-X@L_%HOI_&FKW$:Q3ZM?WA+7%WA<
MB)]VW9C.P1Q\DKN/'ZO^QK\8?B;\$/#O[(_QH\?:'?\ P^T&:QCU74[!)UU3
MQ+863H]K:3QL!':Y,4/FRI)*9/+.U8]^0 >G?L;6NKV7[(7PKLO$"N+Z'X<:
M&EX),[A*+"$,#GOG.?>O2:;!!#;0I;6T*QQQJ%CC10%50,  #H*=0 4444 9
MVI:SJ%C=&"W\/7-RNT'S8F&/IS4'_"2ZO_T*%[_WTM;%% &/_P )+J__ $*%
M[_WTM'_"2ZO_ -"A>_\ ?2UL44 8_P#PDNK_ /0H7O\ WTM'_"2ZO_T*%[_W
MTM;%% &/_P )+J__ $*%[_WTM'_"2ZO_ -"A>_\ ?2UL44 8_P#PDNK_ /0H
M7O\ WTM'_"2ZO_T*%[_WTM;%% &/_P )+J__ $*%[_WTM'_"2ZO_ -"A>_\
M?2UL44 8_P#PDNK_ /0H7O\ WTM'_"2ZO_T*%[_WTM;%% &/_P )+J__ $*%
M[_WTM'_"2ZO_ -"A>_\ ?2UL44 8_P#PDNK_ /0H7O\ WTM'_"2ZO_T*%[_W
MTM;%% &/_P )+J__ $*%[_WTM'_"2ZO_ -"A>_\ ?2UL44 8_P#PDNK_ /0H
M7O\ WTM'_"2ZO_T*%[_WTM;%% &/_P )+J__ $*%[_WTM'_"2ZO_ -"A>_\
M?2UL44 8_P#PDNK_ /0H7O\ WTM'_"2ZO_T*%[_WTM;%% &/_P )+J__ $*%
M[_WTM'_"2ZO_ -"A>_\ ?2UL44 8_P#PDNK_ /0H7O\ WTM'_"2ZO_T*%[_W
MTM;%% &/_P )+J__ $*%[_WTM'_"2ZO_ -"A>_\ ?2UL44 8_P#PDNK_ /0H
M7O\ WTM'_"2ZO_T*%[_WTM;%% &/_P )+J__ $*%[_WTM'_"2ZO_ -"A>_\
M?2UL44 8_P#PDNK_ /0H7O\ WTM'_"2ZO_T*%[_WTM;%% &/_P )+J__ $*%
M[_WTM'_"2ZO_ -"A>_\ ?2UL44 8_P#PDNK_ /0H7O\ WTM'_"2ZO_T*%[_W
MTM;%?GU_P4*_X*OZS#XF;]D[]A82Z_XTU&Y_L^^\1:1%]H^R2L=IM[,+D2S]
M09!E8^<9;)CX,PS'"Y90]K6?DDMV^R75GU7"'!V><;9JL#ET+V5YSEI"G'K.
M<MDE][V2;.S_ ."A?_!6?P_^S#;W/PA^$NC1ZO\ $FY01K;NXE@T8N/E>94^
M_-R"L/7D,V!@/Y/^PO\ \$R/'WC?QT?VNOV_/#^J^(_$.IW O['PSJY#$R'!
M6:^5NI QMML!4  8<>6OJ'_!-_\ X)/Z/^SU<0?'[]I(Q>(OB5=N;J&&XE^T
M0:)(YW%@QSY]UDDM,<A3]S.-[?;5>/A<NQ6:5UB\R5DM84^D?.7>7Y?@OT7.
M^,<CX'RRIP]P9/FG-<N(QFTZO>%'K"DGU3O+HW\4L9/$>J1J$3P;>*JC  *@
M 4O_  DNK_\ 0H7O_?2UL45].?B!C_\ "2ZO_P!"A>_]]+1_PDNK_P#0H7O_
M 'TM;%% &/\ \)+J_P#T*%[_ -]+1_PDNK_]"A>_]]+6Q10!C_\ "2ZO_P!"
MA>_]]+1_PDNK_P#0H7O_ 'TM;%% &/\ \)+J_P#T*%[_ -]+1_PDNK_]"A>_
M]]+6Q10!C_\ "2ZO_P!"A>_]]+1_PDNK_P#0H7O_ 'TM;%% &/\ \)+J_P#T
M*%[_ -]+1_PDNK_]"A>_]]+6Q10!C_\ "2ZO_P!"A>_]]+1_PDNK_P#0H7O_
M 'TM;%% &/\ \)+J_P#T*%[_ -]+1_PDNK_]"A>_]]+6Q7-^*OC)\(/ A9?&
M_P 5?#>C%/OC5=<M[?;]?,<8H GO?&5UIEE-J.H^&[BWM[>)I)YYYD1(T499
MF8G   ))/  KX#_:+_X.0/V9OA3XEN?"?P;^%NK?$&:SE:.?4H=4CL-/=@2#
MY4QCE>49'WA'L/568'-<Q_P7G_X*.?#*^_9DL?@%^S/\>O#?B"\\8ZJ\/BN;
MPGXB@O6M]-A0,T$C6[MY?G2-&""?F2.12"":_&>@#]O_ -G3_@Y!_9F^*WB6
MV\)_&3X6ZM\/IKR41P:G-JD=_IZ,2 !+,(XGB!)^\8]@ZLR@9K[\L?&=UJ=E
M#J6F^&[BXM[B)9;>X@F1TE1AE65@<,""""."#7\HE?H+^P;_ ,%VOC!^RI^S
MKI_[-LWP)?XA7>DW<J^'=1G\0R0O:V+!2EH8EMY&E"/YFT[UVHRH!A10!^W?
M_"2ZO_T*%[_WTM'_  DNK_\ 0H7O_?2U^5'_  ^%_P""R?Q;_=_!/_@GP(+>
M7[EVO@'6;W9Z?OC(D0^I6C_A+_\ @YM^,G_()\,/X6M)?OC[#H%AL'_;R6G'
MX<T ?JO_ ,)+J_\ T*%[_P!]+4-[XSN=-M7O=1\.3V\,8S)-/,B*H]22<"OR
MN_X=H_\ !>GXP_/\3/VYSH=O)_K[5OB/J*9'IY5C#Y3?0D"IK+_@VO\ B]X\
MNDU+XZ?MVO=S Y<0>'KC4&8]\2W%TA'UVGZ4 ?H-XR_;R_99^'A9/'/QT\$Z
M3(G6&^\:6$<A]@AEW$^P%>5>+_\ @N!_P3E\%EH]0^/-K>2+TCTBPNKS<?0-
M#"R?B2!7BG@S_@V7_9'TS9)X[^./Q!U=U^\MA+964;GW#02MCZ,#[UZSX,_X
M((?\$S/">Q]2^#6J:](G236?%E]R?4K!+$I^A&* ."\6?\')'["F@;DT#P=X
M^UQQ]QK'1X(D/U,\Z,!_P$_2O,/%7_!S_P"$O-^R?#?]CK5M0DD.V%M5\6QV
MY)[?)%;2Y^@8?6ON7P9_P30_X)_> MA\/?L>^ &:/[DNI>'(;UU/J&N1(<^^
M<UZOX3^&WP[\ PBW\"^ =%T6,# 32=*AMACTQ&HH _*H_P#!;C_@JK\5OE^
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
M_P"RU^Q9!+I_Q8UV2X\1+'N@\):++'<:BY(RN] V(%/4-*4!'3)XKX/\9_\
M!2?_ (*>_P#!4_Q-=_"C_@G]\)]2\$^$O-,%_K]G/LN$0][G4F"QVI(^81P8
MEZ@-)7N'[&W_  ;U_ _X8WL/Q(_;"\3M\2_%,DOVB?2@\B:1%,3N8ONQ+>'=
MSNDV(V3NC/6@#P+Q3^VY_P %9?\ @KGJEUX'_8^^'%]\/_A\\K07NK:;<O N
MSH1<ZHRJ6.#S#;*&P<%7'->_?L6_\$(OV>O@'+;>.?VBO#=Y\3_%2,)3!J,2
MQZ1;2=?EMB2;@YR"TQ96X/EJ:_0G0/#^@>%-%M?#?A;0[/3=.LH1#96&GVR0
MP6\8Z(B( J*.P  JY0!@V&K7&E6,.EZ7X"GMK:WB6*WM[=42.)%&%55'"@
M #@5-_PDNK_]"A>_]]+6Q10!C_\ "2ZO_P!"A>_]]+5/7OB+!X6TF;7O$VDM
MI]C;)NN+R]NHXHHQZLS$ 5TE?F-^V[^TIXA^.OQ8O]'M=4D7PSH=[);:18QN
M?+E*$HURP'#,YR03T4@>I/UW!W">(XLS%T(RY*<%><K7LNB2[OITT;Z6?Q_&
M?%V&X0RU5Y1YZDW:$;VN^K;[+KYM+K=?97_#P?\ 9H_M+^RO^$YA\W=MW^7)
MY6?^NFS9CWSBO2]!^(L'BG28=?\ #.DMJ%C<INM[RRNHY8I!ZJRD@U^/]>U?
ML1_M*>(?@3\5[#2+K5)&\,ZY>QVVKV,CGRXRY"+<J#PK(2"2.J@CT(_2,_\
M"'#8;+IU\MK2E4@F^6=GS6W2:2L^U[W>FFY^:</^,>)Q690H9G1A&G-I<T+K
MEOLVFY77>UK;Z['Z1?\ "2ZO_P!"A>_]]+1_PDNK_P#0H7O_ 'TM;%%?A)^]
MF/\ \)+J_P#T*%[_ -]+1_PDNK_]"A>_]]+6Q10!C_\ "2ZO_P!"A>_]]+1_
MPDNK_P#0H7O_ 'TM;%% &/\ \)+J_P#T*%[_ -]+1_PDNK_]"A>_]]+6Q10!
MC_\ "2ZO_P!"A>_]]+1_PDNK_P#0H7O_ 'TM;%% &/\ \)+J_P#T*%[_ -]+
M6AIMY/?6HGN+"2V8L1Y4I&?KQ5BB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
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
M7J\?\&T?BQL/E=_DF?65%?&5W_P5S263R-#^ $LK'[IF\18/_?*VYS^=1?\
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
MK6'5_AKK7CKX+>+R1)_8>JF+5]%64'*K!>&6*=!G'S2 D<84]:]M^"/[:O\
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
M\4G<IC'_ %TDH_X6W_P52U/FU^&7V?/3_B2VZ8ST_P!8_;_]=?8'_"8^&/\
MH-0?]]4?\)CX8_Z#4'_?5'^N67Q^#*L/\XM_J'^I>8R^/-L3\I)?H?'_ /;7
M_!7;4_\ CUTG[/GI^XT9,8_ZZ&C_ (1G_@K?J?\ Q]^(/L^>O^EZ2F,]?]6.
MW_ZJ^P/^$Q\,?]!J#_OJC_A,?#'_ $&H/^^J/]>G'X,MPB_[@Z_^E!_J$I?'
MF>+?_<;3_P!)/C__ (4Q_P %2]3_ ./KXK_9\]?^)[$F,?\ 7-*/^&5_^"E&
MI_\ 'W^T=]GSU_XK"]3&>O\ JXNW_P"JOL#_ (3'PQ_T&H/^^J/^$Q\,?]!J
M#_OJC_B(&91^#"X>/I17^8?\0\RR7QXK$2]:TO\ (^/_ /AAO]O#4/\ D,_M
M4[L]?^*MU27Z?>C%'_#N3]IG4.-9_:=W9Z_Z;>R]>OWF'_UZ^P/^$Q\,?]!J
M#_OJC_A,?#'_ $&H/^^J/^(B\1Q^#V<?2E#_ "#_ (AMPU+X_:2]:L_\SX__
M .'5OQ#U#_D,_M'[L]?^)9-+]/O3BI+?_@D-;[M]]\?Y')(+"/PP%^O)N3^=
M?7G_  F/AC_H-0?]]4?\)CX8_P"@U!_WU2?B5QG:T<2EZ4Z?_P @->&7!5[R
MPSD_.I4_^3/E.U_X)&^"TQ]M^,VJ2>OE:5&G\W-:-K_P27^#Z8^V_$SQ+)TS
MY2VZ?7K&:^F_^$Q\,?\ 0:@_[ZH_X3'PQ_T&H/\ OJL)^(7&4]\9+Y**_*)O
M#PYX*AM@X_-S?YR/B#]K7_@G?X8^#'PD?XC?"K5M>U273KE6UB#4989 EJ00
M94$<2GY6V[LDC:2> #7R97['W'BGPC=P/:W6J6TL4J%)(Y!N5U(P001R".U?
M,GQ9_P""=/[/'CC69M=\ ?$";PJ]PY>6RAMQ<VJD\G9&65D&>P?:.@ %?H'!
MGBC2H4)8;/)R;O>-2U]'TDEKIT:3[.UM?SSC;PJJUZ\<3D5.*5K2IWMJNL6W
M;7JFUWUOI\%U]N?L _L;^ ?%/PFE^(_QH^'UOJ,NL7>_18K\.-EHJX$FT$??
M8L1D'*JI'!K8^$W_  3I_9X\$:S#KOC_ .($WBI[=P\5E+;BVM6(Y&^,,S.,
M]B^T]""*^F[?Q3X0M($M;75+:**) D<<8VJB@8   P !VK+CKQ*PV88-8+)Y
MR5VG*HKPT72.TM7NW;336^FW 7ACBLNQCQV=0B[)J--VGJ_M2WCHMDKZZZ65
M^7T_]EK]FW3,&U^!7A0D=#/H<$I_\?4UNZ=\)?A7I&/[)^&?A^UQT^SZ- F/
M^^4%7O\ A,?#'_0:@_[ZH_X3'PQ_T&H/^^J_'JN99C6_B5IR]9-_FS]EI99E
MM#^'0A'TC%?DBY9V%AI\?E6%E# O]V&,*/TJ:LW_ (3'PQ_T&H/^^J/^$Q\,
M?]!J#_OJN-MMW9VI**LC2HK-_P"$Q\,?]!J#_OJC_A,?#'_0:@_[ZI#-*BLW
M_A,?#'_0:@_[ZH_X3'PQ_P!!J#_OJ@#2HK-_X3'PQ_T&H/\ OJC_ (3'PQ_T
M&H/^^J -*BLW_A,?#'_0:@_[ZH_X3'PQ_P!!J#_OJ@#2HK-_X3'PQ_T&H/\
MOJC_ (3'PQ_T&H/^^J -*BLW_A,?#'_0:@_[ZH_X3'PQ_P!!J#_OJ@#2HK-_
MX3'PQ_T&H/\ OJC_ (3'PQ_T&H/^^J -*BLW_A,?#'_0:@_[ZH_X3'PQ_P!!
MJ#_OJ@#2HK-_X3'PQ_T&H/\ OJC_ (3'PQ_T&H/^^J -*BLW_A,?#'_0:@_[
MZH_X3'PQ_P!!J#_OJ@#2HK-_X3'PQ_T&H/\ OJC_ (3'PQ_T&H/^^J -*BLW
M_A,?#'_0:@_[ZH_X3'PQ_P!!J#_OJ@#2HK-_X3'PQ_T&H/\ OJC_ (3'PQ_T
M&H/^^J -*BLW_A,?#'_0:@_[ZH_X3'PQ_P!!J#_OJ@#2HK-_X3'PQ_T&H/\
MOJC_ (3'PQ_T&H/^^J /"_VO/^"7'[&G[:45QJ7Q3^%\-AXBF4[?%_ALK9ZB
M&[,[JI2XQZ3+(!VQ7P%XF_X)B?\ !4[_ ()EZ]=?$;_@G[\:[[QEX:$IGN]
ML5"W$JCJ)]-F+0W1Q\H>(F4\E52OUQ_X3'PQ_P!!J#_OJC_A,?#'_0:@_P"^
MJ /S7_9L_P"#ACX=:_=R?!O_ (*#?!>X\%ZNC&TU74[/3)9[#=T9;FRE!GM_
M0J/.]PHKV[QM_P $R?\ @FS^W#X1'Q1^!D^FZ8M^"8/$7PVU*+[*SXSM>W&Z
M!2"?F0+&_8D'IZY^U'^R%^Q;^V1HQTWX^?#S1]5NUA\NTUV &WU&U';R[F/$
M@ /.QB4)ZJ:_.SXG?\$>_P!K3]BKQ=<?&;_@F/\ M37MZ(SO;P_<:@EEJ+Q@
MY$3YQ:7ZCKME6,= $8URXK!83&PY*\%)>:_+M\CW,BXFX@X9Q/UC*L5.C+KR
M2:3_ ,2VDO*2:.YO?^"<O_!4/]A>[EU[]C'X\R^)]$B<R'1K.Y$#N,Y)?3[H
MO;R''=&9SS@"M[X9_P#!<_XI_"?Q OPY_;G_ &:-1TO4(,+<WVCV<EG=(.FY
M[*Z(#9Z[ED4>BUR7[/7_  <(?$3X4>)E^#G_  4>^ 6I:/JEHRQ7/B'1=-:V
MN$["2XL92,@]3)"P!'W8S7WAX=^+G["_[>OPW\_2O$/@SXB:"R@R6MW;)/):
M,PXWPRJ);:3TW*C#J*\3^P:^#UR[$2I_W9>]#[GJO75GZ<O%;*N(U[/C'*:6
M*;_Y?TOW%?U<H6C.W2+45W+O[/W[=G[*/[3L<4/PA^,NE7FHRJ#_ &'>R&TO
MP>X$$VUWQW9 R^YKUROSZ_:!_P""(7[*'CB277OV?OB??^!-2W;XK&:1K^PW
M#D !V$T?/?S& [+QBO)H-=_X+&_\$^I/+T_7Q\3O"-G]U/,?6K?RQVPVR]@4
M+Z;4'OBC^ULUP.F/P[:_GI^\OG'=#_XA_P "\5>]PKG$85'MA\8E2GZ1J*].
M;?1)>K/U>HKX&_9__P""^?P#\82Q>'_VB? 6J^!M1#>7-J%HK7]B&'!+!%$\
M?/\ #Y;XYRU?8WPY_:)^!GQ=T1?$?PP^*NB:[9$#=-IE\LOED_PN!RC?[+ $
M>E>K@LUR_,5?#U%)]MG]SU_ ^"XEX#XOX0J<N;8.=)=)6O!^DXW@_1.YV=%9
MO_"8^&/^@U!_WU1_PF/AC_H-0?\ ?5>@?(EB_P!#T35,_P!IZ/:W.>OGVZO_
M #%?+O\ P4M_9[T_5/A'9_$3P!X/LK>;P[>/)JJZ=8I&SVLBA6D;8H+!&5#S
MT5F/0&OIK_A,?#'_ $&H/^^J9<>*?"-W ]K=:I;2Q2H4DCD&Y74C!!!'(([5
M[60YYBLAS2CC*3OR._+?1K9KYIOTW/$S_(L)G^55L%527.K<UM4]T_DTG;KL
M?CA17WI\6?\ @G3^SQXXUF;7? 'Q F\*O<.7ELH;<7-JI/)V1EE9!GL'VCH
M!1\)O^"=/[/'@C68==\?_$";Q4]NX>*REMQ;6K$<C?&&9G&>Q?:>A!%?T1_Q
M%?A+ZG[;GESV^#E?-?M?X/\ R8_G#_B$G&'UWV/)#DO\?.N6W>WQ_P#DH_\
MX)I?L]Z?IGPDO?B+X^\(6=Q-XBO$?2EU&Q21DM8U*K(N]25#LSGCJJJ>A%?4
MEAHVCZ6-NF:5;6P]((%3^0JG;^*?"%I EK:ZI;111($CCC&U44#   &  .U/
M_P"$Q\,?]!J#_OJOYWS[.\5GV:5<95=N=W4;Z);)?))>NY_1^09%A,@RJC@J
M2OR*SE;5O=OYMMVZ;&E16;_PF/AC_H-0?]]4?\)CX8_Z#4'_ 'U7BGMFE16;
M_P )CX8_Z#4'_?5'_"8^&/\ H-0?]]4 :5%9O_"8^&/^@U!_WU7.?%+]H[X%
M?!+PC/X\^+7Q4T;P_I%L/WE[J=V(U9L9"(#S(YQPB@L>P- ':UQ/QW_:.^!G
M[,?@N3X@_'KXGZ3X9TM,B.;4;C$EPP&2D,2YDG?'.R-6;VK\XOVGO^#@?QK\
M3?%#?!#_ ()J_!W4==U>]=H;;Q3JFDO-+(>F^UL0"<#KYD^ .=T6.:YOX$?\
M$7OC=^U1XUC^/O\ P5%_:0U"6\NL.WAJSU476H,F<B*2X^:&UC'3RH X . T
M9% &O\?/^"[?[0O[37C1_@%_P2[^!6KW>H7>Z./Q-?:4+J_9,X,L-J-T5L@/
M/FSE@%.62,BKG[-__! CXF_&?Q>/CS_P4Z^-FJZYK-\RRW/AG3]8>YN).XCN
MKYB=JCD>5!P!C;*.E?H1\ O@S^S!^R[X,3P!\ _!.A^&=, 4S)80GS;E@,!Y
MYFS).^/XI&8]LUW7_"8^&/\ H-0?]]4 8WP<^!OP?_9[\%0?#OX)_#G2?#.C
M6_*V.DVBQAVQ@O(WWI7/=W+,>Y-=76;_ ,)CX8_Z#4'_ 'U1_P )CX8_Z#4'
M_?5 &E16;_PF/AC_ *#4'_?5(?&7A906;6X  .26H TZ*X7Q+^T_^SAX,W?\
M)A\=_".E;/O#4O$%O!C_ +[<5YUXI_X*F?\ !/[PAN_M7]IW09MO7^RXKB^S
M]/LT3Y_"N6KC<%0_B58Q]9)?FSV\#PSQ)F=OJ>"JU;_R4YR_*+/?Z*^-?%G_
M  78_8-\.;O['U+Q;KVWI_9/APIN^GVJ2']<5YEXL_X.)OA'9[O^$%_9N\1Z
MCC[G]K:S;V6?KY:SX_6O.J\1Y'1^*O'Y7?Y)GV.!\&_%#,;>RRJJO\:C3_\
M3CB?HO17Y>S_ /!<;]L3Q_\ \D5_8JMY=_\ J=]OJ&J?3_4+#G\,56?]L7_@
MN7\4O^11^#5OX;\S[NWPO;VFS_P92-C\:Y_]:,OG_!A4J?X8-_G8]G_B!O%V
M'_Y&.(PN%[^VQ--6]>7G/U+K\*O^"I?[;WC']J_]H/5_#=AKLR>!_"NIRV/A
MS2HI2(9VB9HWO7 .'>0ABI/W8RJC!W%OH;_A3G_!<SXK?\C?^TK'X;\W[_\
MQ5MO9[?_  61MC\*_/7XE>!_$OPS^(.M_#SQB@&J:+JD]E?E68JTL;E692P!
M96(W!L<@@]Z^5XKSC&8K"0IJC.E!O7F5K]E^OW'[OX">'?#V1\08C&3S'#8W
M$P@N149<ZIIMJ4KM+5Z132T3DNIB5]/?\$MOVW?&/[)_[0>D>';[79G\#^*=
M3ALO$>ERRDPPM*PC2]0$X1XR5+$?>C#*<_*1\PUT'PH\$:S\2OB=X>^'WAY&
M-[K6LVUG;%,_(TDBKN..@7.XGL 3VKXO XC$87&0JT7[R:MY^7SV/Z5XHRC*
M<]X>Q."S.*="<)<U_LI*_,NSC\2?1JY_2I16;_PF/AC_ *#4'_?5'_"8^&/^
M@U!_WU7] G^1QI45F_\ "8^&/^@U!_WU1_PF/AC_ *#4'_?5 &E16;_PF/AC
M_H-0?]]4?\)CX8_Z#4'_ 'U0!I45F_\ "8^&/^@U!_WU1_PF/AC_ *#4'_?5
M &E16;_PF/AC_H-0?]]4?\)CX8_Z#4'_ 'U0!I45F_\ "8^&/^@U!_WU5RQO
M[/4H!=6-PLL9) =>F: )J*** "BBB@ HHHH *\[^/?Q ^*OPTO?"OB3P'\--
M5\4Z*=:DA\8V6AQPR7EO9-;R>7<1QR,K2[)Q%N2,ERK,0#C%>B44 ?"FN?#3
M5/VR=6\$Z'X"^&>MV'_"'_M :GXJU;QSKFBRZ=_9=E#J5S*UG#]H5)I9YF\H
M%$4HACS(05 KVW_@IQX?\7^/OV+_ !K\*OAWX(UCQ!X@\2Z:EKI6GZ1I[REF
M$\+,7<#9$ H)^=AG!"Y(KWJVL[2R1H[.UCA5Y&D=8D"AG8DLQQU))))[DU)0
M!YW\(M%L?'_[,^D> ?&GA;4K&.X\(PZ/KNDZM8O;3(3:+#-&0X^88+#>NY3V
M)KP'X->'OC[^S)^Q[K/[%EK\+-?U_P 6Z1%JFD> -=L;+_B6ZI9W4DKVMY/=
M9\JT\D38EBD97_<GRQ)N4G["HH ^._'_ /P3EUSP?^P[\,?A/\'9[6_\<?!G
M7[#Q3H,DD@ABU74X9VN+J#>W^K29Y)-A;H5B#$ $UT'QX\ >)OV[OB+\*_#9
M^&_B+0/!7@GQ9#XM\87/BG2FL7FO+>-EM=-AC?YIR6DD\V5,PA!\LCLP%?4E
M% 'GO_"W_B/_ ,--_P#"D?\ A0FK_P#"+?\ "*_VI_PL;[8OV+[5YNS[%Y>W
M[^WYL[]W^QM^>O'?@3X#\4_L*_$WXJ^&5^&_B/7_  5XW\4R>+?!UQX6TIKU
MXKVY15N].F1.;<AHXC%))MA*'YI%*D5]244 ?'O@#_@G)K'BS]B7XI?"?XQ3
MVMAXV^,_B#4/%&NO%*)XM)U&:=;BT@WK_K%A>.,N5X):4*2""4^+WA[X_P#[
M4'[&VD?L77OPLU[0/%^K6^F:1X^U[4+';IFEVMK+"UU>0W.?+O/.$&(HH2[_
M +X>8(]K$?8=% &?X2\+Z-X(\*:9X+\.6WDZ?H^GPV5A#G/EPQ1K&B_@J@5H
M444 %%%% $<MG:3-OFM8W;U9 33?[.T__GQA_P"_0J:B@"'^SM/_ .?&'_OT
M*/[.T_\ Y\8?^_0J:B@"'^SM/_Y\8?\ OT*/[.T__GQA_P"_0J:B@"'^SM/_
M .?&'_OT*/[.T_\ Y\8?^_0J:B@"'^SM/_Y\8?\ OT*/[.T__GQA_P"_0J:B
M@"'^SM/_ .?&'_OT*^-?^"VG[!6O_ME_LMPZI\)]#^U^-/ EY)J>C:? G[S4
M;9T"W5J@'61@D<B#DLT(0<O7VA133LP/Y++^POM*OIM,U.REMKFWE:*XMYXR
MCQ.IPRLIY4@@@@\BBPL+[5+Z'3-,LI;FYN)5CM[>",N\KL<*JJ.6))  ')K^
MF3]H+_@F[^P]^U+XB/C#XX_LZZ+JVKM_KM6MI9["ZN. !YLMI)$\V  !O+8
MP,4?L^_\$W/V'?V6_$8\8_ []G31=)UA/]1JUU+/?W5OP0?*ENY)7A)!()0K
MD'!S3]T6MSQO_@B;^P)K7['7[+LVK_%WP\MOXU\=7L>IZOI]S$#)IMLB%;6U
M<'.)%#22.."K3%#RE?9O]G:?_P ^,/\ WZ%344FVPLD0_P!G:?\ \^,/_?H4
M?V=I_P#SXP_]^A4U%(9#_9VG_P#/C#_WZ%']G:?_ ,^,/_?H5-10!#_9VG_\
M^,/_ 'Z%']G:?_SXP_\ ?H5-10!#_9VG_P#/C#_WZ%']G:?_ ,^,/_?H5-10
M!#_9VG_\^,/_ 'Z%']G:?_SXP_\ ?H5-10!#_9VG_P#/C#_WZ%']G:?_ ,^,
M/_?H5-10!#_9VG_\^,/_ 'Z%']G:?_SXP_\ ?H5-10!#_9VG_P#/C#_WZ%']
MG:?_ ,^,/_?H5-10!#_9VG_\^,/_ 'Z%']G:?_SXP_\ ?H5-10!#_9VG_P#/
MC#_WZ%']G:?_ ,^,/_?H5-10!#_9VG_\^,/_ 'Z%<)\<_P!F3X1_M!Z$FD>.
M] V7%N#]AU2P(BN;8GKM;!!7U5@5[XR :]!HKIPF,Q6 Q$:^&FX3CLT[-?U^
M)S8S!X3,,-+#XF"G"6Z:NG_7X'QW_P .BO#7]J^=_P +OOOL6_\ X]_[#3S=
MN>GF>;C/OL_"OH/X%_LQ_"/]GO0WTGP)H&^XN /MVJ7Y$MS<D=-S8 "^BJ O
M?&<FO0:*]O->+^),ZP_L,9B7*':RBGZ\J5_G<\+*>#>&<CQ/UC!8:,9][N37
MIS-V^5B'^SM/_P"?&'_OT*/[.T__ )\8?^_0J:BOFSZ8A_L[3_\ GQA_[]"C
M^SM/_P"?&'_OT*FHH A_L[3_ /GQA_[]"C^SM/\ ^?&'_OT*FHH A_L[3_\
MGQA_[]"C^SM/_P"?&'_OT*FHH A_L[3_ /GQA_[]"C^SM/\ ^?&'_OT*FHH
MA_L[3_\ GQA_[]"C^SM/_P"?&'_OT*FHH A_L[3_ /GQA_[]"C^SM/\ ^?&'
M_OT*FHH A_L[3_\ GQA_[]"C^SM/_P"?&'_OT*FHH A_L[3_ /GQA_[]"C^S
MM/\ ^?&'_OT*FHH A_L[3_\ GQA_[]"C^SM/_P"?&'_OT*FHH A_L[3_ /GQ
MA_[]"C^SM/\ ^?&'_OT*FHH A_L[3_\ GQA_[]"C^SM/_P"?&'_OT*FHH A_
ML[3_ /GQA_[]"C^SM/\ ^?&'_OT*FHH A_L[3_\ GQA_[]"C^SM/_P"?&'_O
MT*FHH A_L[3_ /GQA_[]"C^SM/\ ^?&'_OT*FHH A_L[3_\ GQA_[]"C^SM/
M_P"?&'_OT*FHH A_L[3_ /GQA_[]"C^SM/\ ^?&'_OT*FHH A_L[3_\ GQA_
M[]"C^SM/_P"?&'_OT*FHH A_L[3_ /GQA_[]"C^SM/\ ^?&'_OT*FHH A_L[
M3_\ GQA_[]"C^SM/_P"?&'_OT*FHH A_L[3_ /GQA_[]"C^SM/\ ^?&'_OT*
MFHH A_L[3_\ GQA_[]"C^SM/_P"?&'_OT*FHH A_L[3_ /GQA_[]"C^SM/\
M^?&'_OT*FHH A_L[3_\ GQA_[]"C^SM/_P"?&'_OT*FHH A_L[3_ /GQA_[]
M"C^SM/\ ^?&'_OT*FHH A_L[3_\ GQA_[]"C^SM/_P"?&'_OT*FHH A_L[3_
M /GQA_[]"C^SM/\ ^?&'_OT*FHH A_L[3_\ GQA_[]"C^SM/_P"?&'_OT*FH
MH A_L[3_ /GQA_[]"C^SM/\ ^?&'_OT*FHH A_L[3_\ GQA_[]"C^SM/_P"?
M&'_OT*FHH A_L[3_ /GQA_[]"C^SM/\ ^?&'_OT*FHH A_L[3_\ GQA_[]"C
M^SM/_P"?&'_OT*FHH X#X\?LL?L[_M.>%&\%_'?X0:)XDL=I$)O;0">V)ZM#
M,F)8&_VHV4^]?G-\?_\ @WV^)_P>\5-\9_\ @FS^T%JFCZK:,9;;P_K&J-:W
M*=S'!?18# ]!',H!'WI#7ZL44 ?D5\+O^"U'[8O[%WBZW^#'_!3C]F6^O/+.
MQ?$%MI<=EJ+QJ0#*H&+2_4=-T31@]2[&OT3_ &7?VV?V1_VQ]%&J? +XGZ/J
MUTD7F7>AS*+?4;0=_,MI )  >-X!0GHQKT#XH_"/X7_&WPC<> OB]\/](\2Z
M-<_ZW3M9L$N(LXP& <':PSPPPP/((K\Z_P!J+_@W6\'R:T?BC^P9\7;_ ,!Z
M_:2_:+'0]5OIGM8Y1T^SWB9N+8CL6\[GNHH ^WOCW^PW^RE^TO;R?\+=^"VC
MWU[(N!K-K#]EOE]/](AVR,!V5B5]0:^+?BK_ ,$)/'GPXUUOB%^Q#^TCJ.DZ
MC 2UKI^N73VUPG?:E[:@'V"M&!TRW>O)_"__  5!_P""I7_!,[7[7X;_ /!0
M7X(WWC'PV)1!::_>D)<2*.\&I0AH;HX^8I*#*> SI7W]^R)_P5#_ &-?VTH8
M-/\ A3\48;+Q#,HW^$?$86SU)6[JD;,5N,=S"T@'<BO*QN299CWS5::YOYEI
M+[U^MS[WAKQ-XVX4I^QP.+DZ.SI5+5*375<D[I)]>6S\SXRM?V]_^"H/[!]S
M'HO[8?[/X\5Z! XC_MF]LDC++G ":C:*T#$CM(K.>,XKZ:_9Z_X+$_L-?'+R
M-*\0>(SX%U>7"FQ\6VZ0P%N^VZ4F';Z%VC)_NU]9W5K:WUM)97MM'-#*A26*
M5 RNI&""#P01VKYE_:&_X)#?L3?M >?J:_#D^$-8FR?[5\'.MGEO5K?:8&R>
M2=@8\_,.M>?]0SW+]<+7]K'^6IO\I+7[]#Z[_6OPLXMTS[*W@JS_ .7V#=H7
M[RH2O%+ORMR9](:5+X;US3H=8T22QO+2YC#V]U:E)(Y5/1E9<AA[BK']G:?_
M ,^,/_?H5^7VJ?\ !+__ (*1_L4ZC-XH_8@_:&FU[34D,K:-;W8LI9>_[RSN
M6>UGP.,EMQ[*,XKG?B9_P6>_;E^&WPVUOX+?&?X&1>&?'=S9?9]-\326,]A-
M:@L \_V65665]N[8Z,J!BK;6 P9EQ+'!Q:Q]"=*2\N:+\E):7?\ 3-*/@M6X
MAK1EPIF=#'4Y-77-[*K!-ZRG2G[RC%:NS;=G:-]#]#OCA^VA^Q[^S?J7]A_&
M;XR^']'U$*&?2U5KF[12,@M!;H\B@CH2H![4GP/_ &T?V/?VD-2&A_!GXR^'
M]8U$J632V5K6[D4#)*P7")(P ZD*<=Z_GOU75=4UW4[C6M;U&>\O+N=IKN[N
MIFDEFD8DL[LQ)9B222>232:7JFIZ'J=OK6BZC/9WEI,LUK=VLS1R0R*05=&4
M@JP(!!'((KY?_7W%^WO[&/)VN[_?M^!^Y?\ $J7#_P#97)_:%7ZS;XN6'L[_
M ."W-;_N)<_IG_L[3_\ GQA_[]"C^SM/_P"?&'_OT*^,?^"=O_!4SX4_$K]F
M:WO?VI?C5X;T#Q;X?NCIVH2ZWJ\-M-JL:HK17:1LP9RRMM<J#\Z,< ,!7?\
MBS_@KY_P3S\([HY_VA+>_E7I%I.BWUSN^CI"4_-J^[I9UE=7#1K.K&*DKZM)
M^EK[G\L9AX:\<8'.:^6QP%6K.E)Q;ITYSB[;--1M9JS3TT>MCZ/_ +.T_P#Y
M\8?^_0H_L[3_ /GQA_[]"OB/Q9_P7Z_8PT3=%X=\)^.M:D'W'M](MX8C]3+<
M*P_[Y->8>,/^#C+P_:1R'P7^RW=2HJDBYUCQ6D(0>I2.W?/_ 'V*YJG$N1TW
M;VR;\DW^29[&%\%?%#%P<UELX16K=24*:2ZM\\HV2/TK_L[3_P#GQA_[]"L/
MXB^._A;\(O"-WX^^*7BC1?#VBV*;KO5-8N8[>"/T!9R!D] HY)X )K\@_&G_
M  <A?M9^+M23PE\$/@9X0%_?2""R46%[?SM(W"K$JS)YCYZ#8<^AKSKQU^P;
M_P %I?\ @H'XBM_B+^T-X'\47B-EK.V\1ZC9Z9'9(>HBLI)(A;^X$88]2#UK
MT5C:;H>V<9)=%ROF?_;J][[T?(3X9Q4<U_L^->C*:^*2JP5./K5DU3_\!E*^
MRN]#Z@_:L_X. ='UCQ%_PI;_ ()U?!FY\;>(KZ8VUEXBO]&E>*20\?Z)8H!-
M<-W!DV $?<<5Q7PD_P"",7[9/[;'BR+X_P#_  5$^.^I:-:/^]3P^EW%)J"Q
M$@F, #[+IT9X.U%8@Y#(AYJG\!?^")O_  48^&MO(O@+XH>'OA\;N+R[^XL/
M%=U#=7$><[))+*%C*N>=C/M!Z8KTNW_X(%?&7QU,MY\:/VT3<R [G$>D7&H,
M3[//<1X^N/PKR99QFE1VH8*;_P 4HP_.Y]]2\.^!\)33S3B:A!]51IU:]O).
M/+?U/K#X-^'O^":'[!_A(^#?AQXK^&?@Z/8%O;F]\1VGV^]8=YIII#-,<\@$
MD#/R@#BH?%G_  52_P""='@[<NH_M"Z+=.O1-)TJZO=Q] 8(67\<XKP[PG_P
M;T?LUV&UO&OQJ\;:FR]1I_V2S5OP:*4X_'\:]-\)_P#!$O\ X)\>&]K:G\,M
M6UQEZ-JWB:[&3ZD6[Q _3&*7M^*:OPT:</\ %)O_ -)-/[+\"\!_'S'&8G_K
MU2IT[_\ @ULY;Q9_P79_8.\/[ET/0O%^NL/N'3O#D,:M^-Q-&0/P_"O,_%/_
M  <+_#:%S#X"_9/U+4&8XB.J:_#:DD]/ECAFS],_C7V%X3_X)W?L->"]IT3]
ME?P6Y3[K:EHL=ZP]\W&\Y]Z],\+?#;X=^!D$?@KP#HNCJHPJZ7I4-N /3]VH
MH^J<35?CQ,(?X87_ /2@_P!8/!/ ?P,EQ&(_Z_8GV?W^R3/S7_X>]?\ !0+X
ME<?!']@BWF63_5L/#&J:G@>N8?*'XXQ1_P +:_X+[?%;_D5?@S'X;67_ *EO
M3+/:#_V$68C^=?J%11_8>-J?QL;4?^&T?RN'_$4.&,'_ ,B[AG!Q[>UYZ_\
MZ4XW/R]_X8J_X+C_ !6Y\9?M)1^'!)_K%/C)K3'MC38F'X"I(O\ @A)^TU\0
MB&^-G[:T<Q<YEVV][JG_ */FBS7Z?44?ZK9;/^-*=3_%-_I8/^(Z<:8?_D74
ML-A?^O.'IJWIS*1^>?A/_@W?^!%GM_X3G]H#Q;J./O\ ]DV5K99^GF+/C]:]
M-\)_\$-_V O#FW^V/"/B+7]O7^UO$TR;OK]E\G],5]?T5TTN'<DH_#0C\U?\
M[GAX[QA\3LPO[7-:J_P-4_\ TVHGAOA/_@FC^P7X+V_V/^RUX4FV=/[6LVO_
M ,_M329_&O2O"WP/^"O@;;_PA7P@\+Z/L^Y_9?A^VM]OT\M!BNHHKTJ6#PE#
M^'3C'T27Y'QV.XBX@S._US%U:M_YZDY?^E-D/]G:?_SXP_\ ?H4?V=I__/C#
M_P!^A4U%=!XY#_9VG_\ /C#_ -^A7QQ_P4?_ ."27A;]L'4S\7/A-K=EX:\=
MI;K%=FZA(LM81%PGG% 6CE4 *)0&RJA2IP"OV;17)CL#A<QP[HXB-XO\'W79
MGT'#'%.><'9O#,LIJNG5CIT:<7O&2>CB^SZI-6:37X>_\.3/^"A?]O\ ]C_\
M*LTK[/YFW^U?^$ILOL^,_>QYGFX[_P"KS[5]Z?\ !.#_ ()(^%_V/]4'Q<^+
M6MV7B7QTUNT5G]DB)LM'5UVOY)<!I)6!*F4A<*Q4*,DM]G45XN7\*93EV(5:
M"<I+;F=[>EDOQN?I'%OCUQ_Q?E$LMQ$J=*E-6G[*+BYKJI.4I.SZJ/*FM'=:
M$/\ 9VG_ //C#_WZ%']G:?\ \^,/_?H5-17TI^+D/]G:?_SXP_\ ?H4?V=I_
M_/C#_P!^A4U% $/]G:?_ ,^,/_?H4?V=I_\ SXP_]^A4U% $/]G:?_SXP_\
M?H4?V=I__/C#_P!^A4U% $/]G:?_ ,^,/_?H4?V=I_\ SXP_]^A4U% $/]G:
M?_SXP_\ ?H5)'%%"NR&-47T5<"G44 %%%% !1110 4444 %%%% !1110 444
M4 %%%8GC[XE?#_X6:(OB+XC>,M.T6RDG6"&?4;I8A-,V=L2 G,DC8.$4%CC@
M&@#;HK@O@G^TW\#?VA-+M[[X6?$33;^ZFTR"_FT8W2+?VD,J*ZF:W)WQ\,!D
MC;GH37>T %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 4/%'A7POXWT"Z\*>-/#EAJ^EWT1BO=-U.S2XM[A#U5XW!5A
M[$&O@']KO_@WB_9I^+DT_C3]F'Q#<?#+Q$6,L=A$&N=)EDZC$9;S+8D]XV*+
MVC-?H;10!^.5I^U-_P %E_\ @D;=1Z'^TMX)G^)GPZM9!''J]_<R7UN(\X'E
M:FBF:W)P J72G 'RQCK7VS^Q]_P6A_8F_:X^R^'H_''_  A/BJXPG_"-^,)$
MMS+(>-L%QGR9\GA5W+(?[@KZPN[2UO[62QOK:.:":,I-#*@9)%(P5(/!!'!!
MKXF_;!_X(,_L9?M*_:O$WPWTM_AEXGFW.+[PS;*=/FD/>6Q)6/'_ %Q,1)Y)
M- 'V[UZ5^='_  <0^ -?U?X4_#GXDV-O))I^AZW?65^R D1O=Q0M$S>@_P!%
M=<GNP'<5X+_9_P#P6L_X([_-82/\4/A;I_\  HEU73[>W'^S\MWIX"^F(0QZ
MOBO<_"?_  7!_P""=W[97P&\0_#+]K;P[J/@U[S193JFAWT#WL%X47>/L=S"
MF?.#*&C\Q(B'"[237FYO@7F66U,,G9R6GJG=?BC[+P]XHCP7QG@\YG#FC2D^
M9+=QE%PE;SY9-KSL?E317(>/OB=8W/BO4A\-8[NVT(7TO]D'55C:\-MO/E^=
ML^3S-N-VT8SG'%)X"^)UE;>*].'Q(2[N="-]%_:_]E+&MV+;>/,\G?\ )YFW
M.W=QG&>*_,O]2L[]ESVC?MS:_E;\3^W/^)F/#/Z_]7YJW)_S\]G[GW<WM/\
MR0_1K_@E'_P2]^&'[97P\\0?%GXY7WB2TTVQUA+#0HM&O(K=+IECWSLYDA=F
M WQ*"A7G>#G''VSIW_!'[_@FS\,M(G\2>+?A@)[6PA,UUJ?B3Q7=I#!&HRSR
M$31Q!0.26&!7@'C_ /X+D_L)_L>_ CP]\(?V(?!=YXRN;;1HAIFGF"2RL[!I
M%WG[7+(N^6<LY9UC5MSE@9$->/Z'^Q]_P5L_X+"ZO;>-OVLO'5S\.?AS+,L]
MEI-Y9O;0^7G(-MI@8/*0#E9KE@2#E78<5]]EG#F6X/"0A5I1G-+5M)W?S_ _
ME#C7QEXRXBX@Q.(P&.K4,-*7[NG"I*%H+17Y&M6E>6KU;Z'3?M0?\%'_ /@E
ME^SA=R?#W]B?]CKP-\2O%HD\BVUF?PW'+IEO,3M79+(C37;9P,1;5;/$O:N1
M^&'_  2\_P""CG_!2S6K3XB?MD^+!\,O YE$UAX;CTI+61(^PMM+BV);G&5\
MVXQ+C!(D%?H?^QG_ ,$N/V0OV(+2#4?AA\/UU+Q,D>V?QEXBVW.H,2,'RV*A
M+=3TVQ*F1]XMUKZ)KVZ6'P]'^'!1]$E^1^8XW-\VS)WQ>(G4_P <Y2_-L\-_
M9!_X)S_LF_L1:2D7P2^&D UDP^7=^*]7Q=:I<Y&#F8@>6I[I$$0X^[GFO<J*
M*V/."BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ KX^_X*'^(/B=^SU^T7\+/VV8?A_J'B[P!X(LM3L/%NFZ6GF7.CB[14.HQQ
MG@X0;2W  3:642;A]@UPFM_M _#KP_\ '>U_9Y\6:O9Z?JVK^'!JFBB]NU0:
MBHG>&:"-6QN=,1MM!)978XPA- 'F7[#%K\%_C)\&/A%\>? 7B/3=4U3PK\,H
M?#%Y<V!5I(F:"R,]K-_$C1RVP(1AQO)'#9/T17YP_LB_!70? /[4GPDM?V6M
M?O=+L_&?P*2[^..G:#=Y@T^5]-C%C>D$,D%W)<N652,_NW<+AWW?9?\ PS)J
M_P#T=#\4_P#P>VG_ ,B4 >IT5Y9_PS)J_P#T=#\4_P#P>VG_ ,B4?\,R:O\
M]'0_%/\ \'MI_P#(E 'J=%9'@;PI-X*\-P^'KCQ;J^N-"SDZCKMPDMS)N8MA
MF1$! S@?*. .M:] !1110 45G:EX9T_5;HW=Q/<JQ4#$5P5''L*@_P"$'TC_
M )^;W_P+:@#8HK'_ .$'TC_GYO?_  +:C_A!](_Y^;W_ ,"VH V**Q_^$'TC
M_GYO?_ MJ/\ A!](_P"?F]_\"VH V**Q_P#A!](_Y^;W_P "VH_X0?2/^?F]
M_P# MJ -BBL?_A!](_Y^;W_P+:C_ (0?2/\ GYO?_ MJ -BBL?\ X0?2/^?F
M]_\  MJ/^$'TC_GYO?\ P+:@#8HK'_X0?2/^?F]_\"VH_P"$'TC_ )^;W_P+
M:@#8HK'_ .$'TC_GYO?_  +:C_A!](_Y^;W_ ,"VH V**Q_^$'TC_GYO?_ M
MJ/\ A!](_P"?F]_\"VH V**Q_P#A!](_Y^;W_P "VH_X0?2/^?F]_P# MJ -
MBBL?_A!](_Y^;W_P+:C_ (0?2/\ GYO?_ MJ -BBL?\ X0?2/^?F]_\  MJ/
M^$'TC_GYO?\ P+:@#8HK'_X0?2/^?F]_\"VH_P"$'TC_ )^;W_P+:@#8HK'_
M .$'TC_GYO?_  +:C_A!](_Y^;W_ ,"VH V**Q_^$'TC_GYO?_ MJ/\ A!](
M_P"?F]_\"VH V**Q_P#A!](_Y^;W_P "VH_X0?2/^?F]_P# MJ -BBL?_A!]
M(_Y^;W_P+:C_ (0?2/\ GYO?_ MJ -BBL?\ X0?2/^?F]_\  MJ/^$'TC_GY
MO?\ P+:@#8HK'_X0?2/^?F]_\"VH_P"$'TC_ )^;W_P+:@#8HK'_ .$'TC_G
MYO?_  +:C_A!](_Y^;W_ ,"VH V**Q_^$'TC_GYO?_ MJ/\ A!](_P"?F]_\
M"VH V**Q_P#A!](_Y^;W_P "VH_X0?2/^?F]_P# MJ -BBL?_A!](_Y^;W_P
M+:C_ (0?2/\ GYO?_ MJ -BBL?\ X0?2/^?F]_\  MJ/^$'TC_GYO?\ P+:@
M#8HK'_X0?2/^?F]_\"VH_P"$'TC_ )^;W_P+:@#8HK'_ .$'TC_GYO?_  +:
MC_A!](_Y^;W_ ,"VH V**Q_^$'TC_GYO?_ MJ/\ A!](_P"?F]_\"VH V**Q
M_P#A!](_Y^;W_P "VH_X0?2/^?F]_P# MJ -BBL?_A!](_Y^;W_P+:C_ (0?
M2/\ GYO?_ MJ -BBL?\ X0?2/^?F]_\  MJ/^$'TC_GYO?\ P+:@#8HK'_X0
M?2/^?F]_\"VH_P"$'TC_ )^;W_P+:@#8HK'_ .$'TC_GYO?_  +:C_A!](_Y
M^;W_ ,"VH V**Q_^$'TC_GYO?_ MJ/\ A!](_P"?F]_\"VH V**Q_P#A!](_
MY^;W_P "VH_X0?2/^?F]_P# MJ -BBL?_A!](_Y^;W_P+:C_ (0?2/\ GYO?
M_ MJ -BBL?\ X0?2/^?F]_\  MJ/^$'TC_GYO?\ P+:@#8HK'_X0?2/^?F]_
M\"VH_P"$'TC_ )^;W_P+:@#8HK'_ .$'TC_GYO?_  +:C_A!](_Y^;W_ ,"V
MH V**Q_^$'TC_GYO?_ MJ/\ A!](_P"?F]_\"VH V**Q_P#A!](_Y^;W_P "
MVH_X0?2/^?F]_P# MJ -BBL?_A!](_Y^;W_P+:C_ (0?2/\ GYO?_ MJ -BB
ML?\ X0?2/^?F]_\  MJ/^$'TC_GYO?\ P+:@#8HK'_X0?2/^?F]_\"VH_P"$
M'TC_ )^;W_P+:@#8HK'_ .$'TC_GYO?_  +:C_A!](_Y^;W_ ,"VH V**Q_^
M$'TC_GYO?_ MJ/\ A!](_P"?F]_\"VH V**Q_P#A!](_Y^;W_P "VH_X0?2/
M^?F]_P# MJ -BBL?_A!](_Y^;W_P+:C_ (0?2/\ GYO?_ MJ -BBL?\ X0?2
M/^?F]_\  MJ/^$'TC_GYO?\ P+:@#8HK'_X0?2/^?F]_\"VH_P"$'TC_ )^;
MW_P+:@#8HK'_ .$'TC_GYO?_  +:C_A!](_Y^;W_ ,"VH V**Q_^$'TC_GYO
M?_ MJ/\ A!](_P"?F]_\"VH V**Q_P#A!](_Y^;W_P "VH_X0?2/^?F]_P#
MMJ -BBL?_A!](_Y^;W_P+:C_ (0?2/\ GYO?_ MJ -BBL?\ X0?2/^?F]_\
M MJ/^$'TC_GYO?\ P+:@#8HK'_X0?2/^?F]_\"VH_P"$'TC_ )^;W_P+:@#8
MHK'_ .$'TC_GYO?_  +:C_A!](_Y^;W_ ,"VH V*_';_ (.4?@;\#?A==?#?
MQU\//A!HVB^(/%E]JS:]K6DVGV<W:VZVNT2I&1&[EIR?,*ESMQNQQ7ZX_P#"
M#Z1_S\WO_@6U?)O_  6+_P"">^K_ +8O[*SP?"N":Z\:>#[TZKX?LY9\F_38
M5N+12W 9TPR],O$BD@$D '\^-%6=8T?5O#VK7.@Z_I=Q8WUE.\%Y97D#12P2
MH2K(Z, 58$$$$ @C%)I&CZMX@U6VT'0=+N+Z^O9T@L[.S@:26>5R%5$102S$
MD  #))Q0!^J'_!LY\)_A#XZOOB7X\\7_  KTC4O$GA2]TDZ#X@U"T\Z6R6X6
MZW+#ORL; P [U ?#XW8XK]@*^-/^".?_  3WU?\ 8Z_976+XJP36GC3QA>C5
M=?LHI\&P38%M[1BO5D3+-UP\KJ"0H)^L_P#A!](_Y^;W_P "VH V**Q_^$'T
MC_GYO?\ P+:C_A!](_Y^;W_P+:@#8HK'_P"$'TC_ )^;W_P+:C_A!](_Y^;W
M_P "VH V**Q_^$'TC_GYO?\ P+:C_A!](_Y^;W_P+:@#8HK'_P"$'TC_ )^;
MW_P+:C_A!](_Y^;W_P "VH V**Q_^$'TC_GYO?\ P+:C_A!](_Y^;W_P+:@#
M8HK'_P"$'TC_ )^;W_P+:C_A!](_Y^;W_P "VH V**Q_^$'TC_GYO?\ P+:C
M_A!](_Y^;W_P+:@#8HK'_P"$'TC_ )^;W_P+:C_A!](_Y^;W_P "VH V**Q_
M^$'TC_GYO?\ P+:C_A!](_Y^;W_P+:@#8HK'_P"$'TC_ )^;W_P+:C_A!](_
MY^;W_P "VH V**Q_^$'TC_GYO?\ P+:C_A!](_Y^;W_P+:@#8HK'_P"$'TC_
M )^;W_P+:C_A!](_Y^;W_P "VH V**Q_^$'TC_GYO?\ P+:C_A!](_Y^;W_P
M+:@#8HK'_P"$'TC_ )^;W_P+:C_A!](_Y^;W_P "VH V**Q_^$'TC_GYO?\
MP+:C_A!](_Y^;W_P+:@#8HK'_P"$'TC_ )^;W_P+:C_A!](_Y^;W_P "VH V
M**Q_^$'TC_GYO?\ P+:C_A!](_Y^;W_P+:@#8HK'_P"$'TC_ )^;W_P+:M#3
M=.@TJU%I;O(RAB<RN6//N: +%%%% !1110 4444 %%%% !1110 4444 %9'C
M'P!X$^(FFC1OB!X*TC7;,-N%IK&FQ740/KMD5AG\*UZ* .:^$GPA^'?P-\!Z
M=\./ACX7M-*TO3;2*WBCM;=$:7RT5!)*5 \R0A06<\L<DUTM%% !1110 444
M4 %%%% !1110 4444 %%%% !117%>.?VC/@5\,_$7_"*>/?BIHNEZ@L*37%M
M=7@!M8G;:DLYZ6\;'(5Y"JL00"<&@#M:*2.1)466)PRL 593D$>HKS:7]LK]
MDJ'QDWP[D_:6\"C7UU/^SFT;_A*+7[4+SS/*^S^5OW>9YGR;,9W<8S0!Z515
M+Q+XCT3P?X=U#Q;XFU&.STW2[*6\U"[ESM@@B0O(YQS@*I)^E9GB3XK?#CP7
MX"'Q1\;>,[#0_#_V1+EM4UN<6<:1NH9=WG;2C$'[C -GC&>* .@HJOI&JZ=K
MVE6NN:/=I<6E[;I/:SQGY9(W4,K#V((/XUY???MX_L3Z9>S:;J/[6GPZ@N+>
M5HIX9?&-F&C=3AE(,G!!!&* /6**Q_ 7Q"\"?%3PK;>.?AIXQTS7]%O"XM-5
MT>]2XMYBCLC[9$)5MKJRG!X*D=J/#?C_ ,(>+K75+[P_K23P:-J=QI^I3M&\
M<<-Q <3)N< ,$.5+*2H96&<J0 #8HK"^'WQ/^'7Q9T>?Q%\,?&VF:_I]M?2V
M<M_I-VL\(GCQO0.A*L5R <$U0^(WQT^$?PENH-/^(?CVQTVZN;=[B"R=C)</
M A >811AG\M20&DQM4D9(S0!UE%9WA/Q=X5\>^&[/QCX(\26.KZ3J$(FL-3T
MRZ2>"XC/\2.A*L.O(/:M&@ HHHH **** "BBB@ HHHH **** "BBB@ HIES<
MV]G;R7EY<)%%$A>661PJHH&2Q)X  YS6+\/OB;\//BQH<GB?X9>---U_38KR
M6T;4-)NUG@,T9VN@="5;:>#@D4 ;M%>=_&3]K?\ 9F_9[U:TT#XU_'#P[X;O
M[Y!):V.I:BJS-&20)"@RRID$;R N0>>#7;^'/$GA[QAH5IXH\)Z[9ZGIE_ L
MUCJ&GW*S07$;#*NCH2K*1T(.* +M%8[^/?",7C.;X?R:RJZM;:.NJ7-L8GQ#
M:-(T:RO)C8H+I( "P)\MR 0I(XSX:?MD?LK?&3QS/\-/A9\?_"VO:] ')TS3
M=6CDDD"9WF/!Q*% ))0L .>E 'I=%5]5U72]"TV?6=;U*WL[.UB:6YN[J98X
MXD R69F("@#J3Q6?X!^(/@CXI^$[7QW\./%5CK>BWK2BRU33;@2P3^7(T3E'
M7A@'1AD<''&: -BBLGQ3XW\+^"GTR+Q+JGV=]9U:+3=,00/(UQ=2!F6,!%)'
MRH[%CA55&9B ":J^+/BO\-/ FOZ/X4\8^/-*TW5?$-V+70],N[U$N+^4_P ,
M49.Y_<@8'?% '045'>7EIIUI+J&H74<%O!&TD\\SA4C11EF9CP  "23TKB_
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
M[SPK\&/CEX;\2:E81F2YL-,U)'E$8(4R*O5T!(!=<J,CGD4 >BT444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110!3\0ZU:^&] OO$5Z"8;"SEN9@O4JB%CC\!7
MR;_P21LE^-W['&O_ !B^*=E%J>I_%SQ9K5_XH>X7?]IB:1K,6YS_ ,LDCB**
MGW54D #-?6NLZ59Z]I%WH>HH6M[VVD@G4'!*.I5A^1-?(7_!-;Q3H7[(W[*?
MC#X$_'37[;1]1^#7B/5$U@7DJQF;3Y9&N[:]C5CEHIUE81D?>92O48H P_\
M@GQ\6_VA?%/_  3.\5>%?A38GQ)X\^'^MZKX/\*M>WL41D:'RC;2/),RIB&.
MX7 )&5@"]36/^QU\0_V=_!OQK\,_LW?M0_\ !/+P[\*/BI%#&_A/Q-?Z)8WW
M]NW$*C,\>I"+>UT2-V_>^Y\_O-[!3V/_  3U?PS^PA^PE9_$C]JW7HO!LOCK
MQC<:WJ"ZI%(/L<]^RI;Q2!5)C8PPQLVX )DAL;376_M3Q?"K]K[Q+\*_!7P?
M\6:/XEUSP]\2=)\42:OX?OH[M=$TVU=I9II9HBPB$P58HT)S([*0"(F9 #T;
M]J[_ (J[0O#?P#M_F;X@^)8-/U*,?] F ->:AN_V)+>!K8G^]=(.]>>?\%>_
M!OA+Q'_P3_\ B)K.O>&;"\O-+T9)=,O+FS1Y;1_M4!+1.1NC)VC.TC..:]#\
M(_\ %QOVK_$_C)OGL/A_HD/AK36Z@:A>"*_U CMQ"-+4$=")1ZBN)_X*UWUG
M8_\ !.SXH->W<<0ET6**/S'"[W:ZA"J,]2?2@#U7X2Z4VN_LX>&=$74[FR-Y
MX(LH!>63A9H-]FB^9&2" ZYR"00"!P:\3_:A_9C_ &*OV;/V6?$WC7PU^Q[\
M-[K4=)T3[)X<CO/!5C=3W.HS%;:S1I)HVDE9KB6(%F9F.2237N?[/-]9:E\
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
M]G'Q'\!?!FG:!XY'Q#$E]<:#9):F;P];1^;?F81 !D5"D0+?\_)0'Y\'W?\
M:N_XJ[0O#?P#M_F;X@^)8-/U*,?] F ->:AN_P!B2W@:V)_O72#O7B?PN_;U
M_8EL/$=[\9?&_P"T-H'B#XA^(K>*PM-%\/":[>QMC)F#2+$>6"Y:5@7E.WSI
MFW-LC6-(_:_"&?B-^U=XF\9L-]AX T2'PUII/(&H7@BO]0(['$(TM 1T(E'J
M* )OCDW[*OP:T?Q!\<OVA(_#MM;7UFMMJFI>(X$N&FMTC(6SB20,S(?G801@
M[GD=MI+$UY?_ ,$B?"'@+PO^R-_:GPT\:V6JZ/XB\6ZGK-G86%UYJ:%%/(OE
MZ:V>5DBC6,NI P[OC<"&;V6\_:._9RN?'.M_!K5_C!X677]'@7^V_#]_JL,<
MT4<D8?YXY"-RE'4G&0 PSC->+_\ !.'X,:+\.?&7QI\>_#&P6Q^'7C#QXESX
M%M((]EM+%%;A;FZMD'RBWDG9UB9?E9(%*Y382 <]\>/!OA+P]_P5\_9^U[0/
M#-A97NK>'?%3ZI=6EHD<EVRV3E6D90"[#>W+9/S&OJ+XO_$;3_A%\+/$/Q/U
M.V:>+0M(GO!:Q_?N'1"4A0=W=MJ*.[,!7S+^TOKFC6O_  5O_9PLKG5K:.9?
M#GB@-$\RAE,EDPC!!/&XJP'J0<5[/^T%_P 5W\1/A[\"8OGAU+73XCU^/K_Q
M+M):.=0?9K^33E(/#*9!SR* *7P^_9(\'/X!\ Z3\9-+M/$-[X5L;F\O;&_M
MTFL[C7;QEFN]1:-P5:43/<^63G:+F0CD@CQQ?@'X5\'?\%?_  YXH^ /ARUT
M*"/X7WEW\3;71K=8+69)96ALO,1 $$LDJ;\8!86N[L2?:_VM?VQ_A#^R-X5L
M[_Q_XKTNVUC7)_LWAW3-0OA MQ+QF65@&,5O'D-))M8@?*JN[(C>=?LV_M=?
ML5VOB6#P3X"_: T_Q[\1O'^MK+K-UHUI(]QJ5UY?S.%(VV]I;P(=B%\1Q0XR
M\A)< POV&_%E[\</V\_VD?BWXE<SR^%-;L_!/AI7Y%A9VKW'VB./T$L\:RMZ
MM^%2?L(^+;SP;^VS^TC^RU;RD:%HWB:R\2:!: _)9MJ4'GW<:#^%#(\;!1@
MESCYJ/V3O#2?LR_MY?'GX;>-KB*PL_B-?6_C?P=>W,@2._B8S?V@BLV 7AFE
M3<F<A&#D!2#4W_!/WP1>^,_VF/CY^V9Y9.A^.O$]MI7@V[Q\E_8Z=&8'O(C_
M !PRN%"..#Y3$9!!H ^LZ*** "BBB@ HHHH **** "BBB@ HHHH *I>(O#7A
MSQ?I$OA_Q9X?LM4L)\>?9:C:)/#)@@C<C@J<$ \CJ*NTV::&WA>XN)5CC12S
MN[8"@<DDGH* /DK_ ((JV5MIW[%TFGV4*QPP>/-<CAC48"JMT0 /8 5[</V3
M_@%?2^)=5\=_#30_$E_XLOI[C7]3\0:5#<S7$396* NZDK%#"$B11@ )G[S,
M3X=_P14U;2]4_8[O1INH0S^7\0-<,@AE#;=USO7..F5((]00:M_M*_MZ?LIZ
MW\0=3_9<\3_M&Z)X<TNR7RO'^I_V@RS3(V0VE6K1@E9' *SS @Q(3&A\UBT
M O\ P1X\!:EX!_9BUZTL[RYD\)7WQ+UNZ^'2W,K,5T+S5B@9=W.UWCFD'][S
M-W.[->A_![P9X=^/%I\1/B3XTL/MNE>-_$;:996[.0EQHFER&UBA;'WX)ITO
M9BI^5X[PJ058YPY_VR?@KXT_9_\ %*?L?>(;35&T&UL/#OAJZTNR:/3XM6OF
M%I8VL1*KN\IW@=P@VI&R\]0OILVL?!_]D7X$:;%XQ\6V>@>$_"6E66FC4]3E
MV)&BB.WBWMW9F*@GN6S0!\N?M&3_ +'7Q0_;X^"/PL^'WC_PAH/C3P/XC?4]
M2N-+\N&1K>% (M'#Q@(\LTNW]R6RB)+P"ZJ_UE\;_!OA+QU\*=>T'QIX9L-6
MLFTFY?[+J-HDT880N P5P0&&3@]1FOFK_@HEX2^#O[77@CP)H7P;\0Z%K_Q"
MF\9Z5>>"]8\/7D-S<65HEPCW=VTL)+):)!O=F)V&01 9<H#]1_%*^LM,^&?B
M'4-1NXX((=#NWFFF<*J*(6)))X H \"_X(Y?\HV?AC_UYZC_ .G.[KT/60_Q
M(_:XTS1HFW6'PV\-2:I.2,K_ &MJ7F6UL?\ >BM(;W(Z[;U#QD9\U_X(VZGI
MTW_!-?X</%?PL+6VU);DB4?NF&I79(;^Z<$'GL<UZ5^R<RZQ\.=5^/.KL(I?
MB+KEQXC66;Y=FFLJ0:=DG[H%A!:L1T#.Y[DD XOX^_L@_LF>$_V._&F@>/?A
MWHDUE9^%[^_U?Q-?Z?$=0GO%A>5]0>XV[S<M+E]V<ECM Q\M;O\ P3Q\#>.O
M"G["7PX\#_&6"6?54\*1I?VFHKN:.WD+M#;R*W=('CC*GIM(/2O)/'/_  4&
M_8:^.7Q!E\*_$']H_P ,67@7POJR/)IUQ=,Q\3ZA X='<*I'V&&10R@_\?$J
M!L"*-?/^FO@C\=/AQ^T3X*/Q(^$NK2ZGX?>_FM;'5S;/%%?&(A9)(=X#-&)-
M\>X@9:)\97#$ ^;?V /#'AWP=^WC^U?X=\)Z'::;80:]X8:"RL;=8HHR]C<N
MVU% "Y9F/ ZDU]@U\A?L,ZYHU]_P40_:RM[+5K:61];\,E$CF4EA'8W"/@ \
M[7^4^AX-?7M !1110 4444 %%%% !1110 4444 %%%% !7QW^WAX-\)Z=^W/
M^R_XPT[PS86^JWWCS48[[48+-$GN5%I%M$C@;G P,;B<=J^Q*^0_^"A6N:-I
MO[9/[*L&H:K;0/\ \)]J#[)9E4A3;Q(#R>A9@H/J<4 ?2?Q9^$/A#XU:'8^$
MOB!9K?:)!JT-[J&C3H'M]3$09HX9T/#Q"7RI2AX9H5# J2#\M_MK_LX> [3]
MK3]G'Q'\!?!FG:!XY'Q#$E]<:#9):F;P];1^;?F81 !D5"D0+?\ /R4!^?!^
ME/VB/VB_A/\ LM_#"]^+'QA\31:=IMJ1'!&77SKVX8'9;PJQ&^1L>H  +,55
M68?.WPN_;U_8EL/$=[\9?&_[0V@>(/B'XBMXK"TT7P\)KM[&V,F8-(L1Y8+E
MI6!>4[?.F;<VR-8TC /;/VKO^*NT+PW\ [?YF^(/B6#3]2C'_0)@#7FH;O\
M8DMX&MB?[UT@[U+\<F_95^#6C^(/CE^T)'X=MK:^LUMM4U+Q' EPTUND9"V<
M22!F9#\["",'<\CMM)8FH?"&?B-^U=XF\9L-]AX T2'PUII/(&H7@BO]0(['
M$(TM 1T(E'J*V[S]H[]G*Y\<ZW\&M7^,'A9=?T>!?[;\/W^JPQS11R1A_GCD
M(W*4=2<9 ##.,T >-?\ !(GPAX"\+_LC?VI\-/&MEJNC^(O%NIZS9V%A=>:F
MA13R+Y>FMGE9(HUC+J0,.[XW AFYOX\>#?"7A[_@KY^S]KV@>&;"RO=6\.^*
MGU2ZM+1(Y+MELG*M(R@%V&]N6R?F-=#_ ,$X?@QHOPY\9?&GQ[\,;!;'X=>,
M/'B7/@6T@CV6TL45N%N;JV0?*+>2=G6)E^5D@4KE-A.-^TOKFC6O_!6_]G"R
MN=6MHYE\.>* T3S*&4R63",$$\;BK >I!Q0!]-?%_P"(VG_"+X6>(?B?J=LT
M\6A:1/>"UC^_<.B$I"@[N[;44=V8"O/_ (??LD>#G\ ^ =)^,FEVGB&]\*V-
MS>7MC?VZ36=QKMXRS7>HM&X*M*)GN?+)SM%S(1R01=_:"_XKOXB?#WX$Q?/#
MJ6NGQ'K\?7_B7:2T<Z@^S7\FG*0>&4R#GD5%^UK^V/\ "']D;PK9W_C_ ,5Z
M7;:QKD_V;P[IFH7P@6XEXS+*P#&*WCR&DDVL0/E57=D1@#Q1?@'X5\'?\%?_
M  YXH^ /ARUT*"/X7WEW\3;71K=8+69)96ALO,1 $$LDJ;\8!86N[L2?H!?V
M4O@/J%]XDUSQS\-=$\2ZEXKO99M<U+Q!I4-S-/$1LBMMTBG;#%"$C1!@ *6Q
MN9B?)?V;?VNOV*[7Q+!X)\!?M :?X]^(WC_6UEUFZT:TD>XU*Z\OYG"D;;>T
MMX$.Q"^(XH<9>0DO3_::_;T_9:OOB#J/[+7B+]HW1?#-C:IY?C_5_P"T&6?R
MVR&TNU:,$K,X!6:48,*$JI\UMT(!'_P1]^'][\/OV??%]KI%U</X+O?BKKL_
MPV2XE9\:&LRPPNA;G8[Q2N.QR7YWYKZPKS#]FK]HW]G/XXZ;>>&/V9]>M=4T
M+PE;6EFUSI%DT5A;;D81VL3%5#,D<:DJH*JKISDX'I] !1110 4444 %%%%
M!1110 4444 %%%% %+Q%X:\.>+](E\/^+/#]EJEA/CS[+4;1)X9,$$;D<%3@
M@'D=17RK_P $5;*VT[]BZ33[*%8X8/'FN1PQJ,!56Z( 'L *^M9IH;>%[BXE
M6.-%+.[M@*!R22>@KY'_ ."*FK:7JG['=Z--U"&?R_B!KAD$,H;;NN=ZYQTR
MI!'J"#0![B/V3_@%?2^)=5\=_#30_$E_XLOI[C7]3\0:5#<S7$396* NZDK%
M#"$B11@ )G[S,3XU_P $>/ 6I> ?V8M>M+.\N9/"5]\2];NOATMS*S%="\U8
MH&7=SM=XYI!_>\S=SNS2?M*_MZ?LIZW\0=3_ &7/$_[1NB>'-+LE\KQ_J?\
M:#+-,C9#:5:M&"5D< K/,"#$A,:'S6+0=1/^V3\%?&G[/_BE/V/O$-IJC:#:
MV'AWPU=:79-'I\6K7S"TL;6(E5W>4[P.X0;4C9>>H4 W/@]X,\._'BT^(GQ)
M\:6'VW2O&_B-M,LK=G(2XT32Y#:Q0MC[\$TZ7LQ4_*\=X5(*L<^&_M&3_L=?
M%#]OCX(_"SX?>/\ PAH/C3P/XC?4]2N-+\N&1K>% (M'#Q@(\LTNW]R6RB)+
MP"ZJ_P!1S:Q\'_V1?@1IL7C'Q;9Z!X3\):59::-3U.78D:*([>+>W=F8J">Y
M;-?//_!1+PE\'?VNO!'@30O@WXAT+7_B%-XSTJ\\%ZQX>O(;FXLK1+A'N[MI
M8262T2#>[,3L,@B RY0$ ^E?C?X-\)>.OA3KV@^-/#-AJUDVDW+_ &74;1)H
MPPA<!@K@@,,G!ZC->(?\$<O^4;/PQ_Z\]1_].=W7OOQ2OK+3/AGXAU#4;N."
M"'0[MYIIG"JBB%B22> *^>_^"-NIZ=-_P37^'#Q7\+"UMM26Y(E'[IAJ5V2&
M_NG!!Y['- 'I6LA_B1^UQIFC1-NL/AMX:DU2<D97^UM2\RVMC_O16D-[D==M
MZAXR,\7\??V0?V3/"?['?C30/'OP[T2:RL_"]_?ZOXFO]/B.H3WBPO*^H/<;
M=YN6ER^[.2QV@8^6NT_9.9=8^'.J_'G5V$4OQ%URX\1K+-\NS365(-.R3]T"
MP@M6(Z!G<]R3X;XY_P""@W[#7QR^(,OA7X@_M'^&++P+X7U9'DTZXNF8^)]0
M@<.CN%4C[##(H90?^/B5 V!%&OG@'HW[#_P3UC4/V /AE\+OVCM*EU&YM]!M
M9]0TK5"2&C64S6MM<(?OK'&8%,39&8@K @$5Y3K>I?LB?&;_ (*I?#9_@Q\2
M/"FG^)?A[H>K2>(O[&=(Y-<>: 16^GQN@"3M"IN)9 "2B$+@Y;R_H/1_VVOV
M8]6^$T?QYG^*MAIW@NZUTZ3IGB?6";6TO[@$J3"T@!*!UE3>P49AD/W0&/CG
M[9W@#X6_M)?'+X&ZO\$]3TC5?'F@_$?3M9NM;T">.>6T\.0;Y;I[B6(D+"S+
M$D8<_/(^U,Y>@#ZYHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ K&U[X=?#
M[Q3KECXG\3^!-&U'4M,;.FZC?Z7%-/:'.<Q2.I:/GGY2*V:* *7B/PUX<\8:
M-/X<\6^'[+5-.NE"W-AJ-HD\,H!! 9'!5AD \CM4/A3P7X.\!Z2N@>!O">F:
M-8*Q9;+2;".VA!/4A(P%S^%:=% %;3-%T;1?M T?2;:T^UW+W-U]F@6/SIGQ
MND?:!N<X&6/)QS53Q+X'\%>-%A7QCX/TO5A;%C;C4]/CG\K=C=MWJ=N<#..N
M!Z5J44 4?#WA?PUX2L#I7A3P[8Z9:F0R&VT^T2&,N< MM0 9.!S[4L?AKPY%
MXBE\7Q:!9+JT]FEI/JBVJ"XDMT9G2%I,;BBL[L%)P"[$#)-7:* *W]BZ,=9'
MB(Z3;?V@+;[,+_R%\[R=V[R]^-VS=\VW.,\TFLZ)HWB+39=&\0:1:W]G. )K
M2\MUEBD ((W*P(." >1U JU10!C>'/AU\/O!UV]_X1\":-I4\L?ER3:;I<4#
MNF0=I**"1D X]A3M/^'_ (#TGQ+<^--+\$Z1;:Q>#%YJUOIL27,X]'E"[V_$
MUKT4 %%%% !1110 4444 %%%% !1110 4444 %%%% %76M#T3Q)IDNB^(M'M
M;^SGQYUI>VZRQ28(8;E8$'! (R.H!JCX;^'?P_\ !US)>^$/ VCZ5-+'LEFT
MW3(H&=<YVDHH)&0#BMBB@#F+CX)_!JZG>ZNOA)X8DED<O)))H%N69B<DDE.2
M3WJ]I_PY^'ND646FZ5X$T:UM[>^6]@M[?2XD2.Y486=5"@"0#@./F [ULT4
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
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
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
M+1NVYPG[47[2'C#P3\:/AK^RY\*]0TC3/$WQ*N+]U\0Z[;-/;Z99V</FRE(
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
M[PG_ ,%!_AT$.K^"-<M9?&7@Y=3D6R\16\KB-C'$QVM=1LY9&V;C]X@M&HH
M^TJ*\._89\'^!=5^&H_:7T76+75M7^)K-K=_?6-S(]K9K.VX6%LKX\J.' C?
MY59Y4=W 8[5]QH **** "BBB@ KX2_X*H_\ !:3PK^PUK3? _P"#OARR\4?$
M9K9)K];Z5OL&AHZ[H_/$9#RRLI5A"&3"L&9AE5;@?&__  <I_!#P1XTU?P7=
M?LT^*YY=(U2XLI)X]6M@LC12-&6 (R 2N:_'?XR?%#Q'\;/BSXE^+WBZY>74
MO$VN7.I7C.Y;#S2L^T9_A7.T#H  !P* /JG_ (?\_P#!3;_A)/[<_P"%P:/]
ME\S=_8W_  A]A]FQG.W=Y7G8[?ZS/O7Z._\ !*[_ (+2>%?VY=:7X(?&+PY9
M>%_B,ML\M@MC*WV#7$1=TGD"0EXI54,QA9GRJEE8X95_!2NE^#7Q0\1_!/XM
M>&OB_P"$KIXM2\,ZY;:E9LCE<O#*K[3C^%L%2.A!(/!H _JSHK\P?^(GOX$?
M]&O^+O\ P<6O^%?I5X(\40>-_!>D>-+6U>"+5]+M[V."1@6C66-9 I(X) ;%
M 'A-K\>?BQ^T'^U-X_\ V>O@WX_TGP?IOPPM]/37-2N=&6_U#5+R[B:4+#')
M(J0V\:C:SE69W.%*CD])\#_&7[3T7Q^\5?"#X]2^&[_2])\-Z?J'AOQ!X>TR
M6T_M,33W,<AFBDEE\J5/)4%%8K\P88W;5\J_; _X)ZZ[\7?B[/\ M9_L8_'%
M_ /Q<TU%L]3N8)]UCJK1QIMANU4,4?R_*!W*Z,JH&C/#";]A/]N#XQ_$3XR:
MW^R%^V5\)X/"WQ6\.:.+U+ZQ4?9=:L5=5,J8+ '+JWR,R/ER A0K0!WO[9?[
M3/B_X.>,OA?\$_AQ)IUEK_Q4\5MI5MKVL6S3V^EV\2HTTHB5D\V8^8B1H6"E
MFR<@8.G^SS\5/B9JGQP^(_P!^(7B&R\1KX(CTBXL_$]GIPM'D^VQ2NUG<1HQ
MC\^(1*^Y-H*3QY53RWR[^V$GQ*_X*?\ P9\0?%+]ENW@L=,^#OB>6[\!:[")
M&U7Q)JMF%,[6A1U%M;A3F(D/)-+''_J@IS?^#OQ&\!_MI?LP_#3X;_LJ>+];
M\ ^*M6\2B^^(;>$_$-U!?:4EN =4N+N;S#)<-<,T,<4DY=W:XC8D^7)M /IC
M]NWXL_%/X!_LQ>*OCA\)=1T=-1\+Z:UZ;/6]+DN8+I0Z H?+FB9#M+8()YQQ
M7B?C+]J[]N/X3?L:>&?VY=2F^'?C'0KWPWI6N>)O"-GX9O-*N[2TO$A<_9[H
MWUPDC1^<H)>( A2P'\->A_\ !2#P]8^%/^";WQ.\/:;<WTT%KX0E2.74M3GO
M)V'F*<O-.[R2'GJS$]N@%>9^$_V=/VC_ -K#_@G+\,/@(/B1X6\*^#M;^'?A
MU=8U.RTZXNM3GL$L[:18$1V2*-VVJ&?<P(SA0#B@#ZO^"_Q7\,?'3X3>'/C'
MX,\X:7XET>#4+-+A0LD:2H&V. 2 RDE3@D9!P3UKB/VKOC)\2O MGX?^%_P
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
M/@OQ5:&\\.^ I+4BW\.2K XN/L[M(W[N1B&V*J*N ,'&:^-?A%^SKX3\6_\
M!$.R^-^L>)O$O_"2>%?">LZKX1N[/Q%<VL6BRVVH7<@\B&!TC)=D8M)(KR'?
M@, J! #]0:*^!/VU-<\8^//V5/V5/C(?B#X@T[7_ !3XZ\$0:M/I^L3);SB[
MM&N9'>UW?9Y7$RJX9XV(QM^Z2*Z3XJ?"_2/V6?\ @HS\ ];^$OB/Q%&_Q)F\
M0:;X[35?$MW?+K*PVD<L4LHGD<!UD<L-@51M4  #% 'VO537H-<N=&N;?PUJ
M=K9W[Q$6EU>V37$43]F:-9(RX]@Z_6OE;X#:SH7[:O[4WQSL?C)8+K/A_P"'
M/B&W\,>&?"E^Q:RMMBR_:;QH<[))Y94.V5@61$"H1ELL_8;\8^./AG^V)\9_
MV'=6\1ZCK7A;P>+#6_!%SJMV]Q/IMG>1)(UB99"7>-#*JQAB2!&W)!& #L/^
M"8OQX^+?[1?[-,WQ#^-?B&WU/7$\7:K8O<6EA';1+%!/L1%1 , #H6RWJQ/-
M?0]?G#^SK^T)XD_9;_X(Y?$7XU>#%7^V=-\::Q;Z3(\8<0W-SJ4=LDQ!X/EF
M;S,'@[,'.<5ZS^TY^S?HO@;]A6Z^/7PF\3ZIIOQ*\&>$H_$MM\0X=2E?4=2F
M@A6>X^URLQ-U',@D!BDW1C< %  % 'V+17Q#\</VCO''Q0^'?[*OQ!\;+)H_
MP]^(FJVDWQ1>"1H;7SY;6)K2UG?/%I+<-)N5SL=44/D'!LV7PFMF_P""KS>
M?A/KGB.P\ :?\.K?7?%GASPKXIO;#1['6_MA6 2V]K*D!::&-"UNZD2(7=E(
M)- 'VK17QA\)O#6C_L:?\%-]8^&NMO</X6^,7AXZA\/+W4KV29-)U"T+->Z;
M"9&(C5U?S<#  $*#->O_ +&GA31?$'_"7?M16U@8C\2/$4][H*;VV0Z-'M@M
M7C0G:GVD0F]8J,LUT-V=HP ;W[9WQ&^)?P:_9L\7_&/X5ZII,&I^%=!N=46W
MUK2WNH+I84+F,A)HF4D*0&!."1P>E1_L4?$SXG?&S]FCPE\9_BOJ>D2ZGXJT
M6#4C;:+ICVT%JL@+",!YI6<@%<L2.0>!5'_@HA_R8G\7?^R>ZK_Z3/7S[K>F
MW%S_ ,$)=*UK3_$6LZ7>:1\(+:]LKK1=:N+)Q(D"G#F!U\Q",@QON4@\C(!
M!]S45^</[5?PKM_A+_P3Y^&?[:'ACQSXI/Q'\/6/A.YLM>G\27)189EMXVLQ
M;!Q;K!M< J(]S[<NSEW+>]_&/Q]/\:_^"BOAK]B[6[R:/P?HWP]N/%_B33(I
MVC37;DW(MK>TGVD&2",$S&+.R1B X8+B@#13XX?'?3O^"H]O^S9K?C33;CP5
M>_":?Q)9Z99:&L,D<_\ :'V=!+,[R/(RK&QRIC0^9RGR@U])5\3^$_A+X+^$
M/_!:VTTOP!IQT_3=2^ <]ZNE12-]FLY#JIC9+>/.V",^6'\M %WN[8RQK+^$
MGA3XA_\ !0G]G#7_ (N:W\._"^K:IXKU;6H= U[5/B%?V5YX8$-W-;VD=K##
MI\JVOE+%%(=DF9F)>0G>5 !]V45\B?$O]A_XV?&']@6Q^''Q[^+EI#\7_"VD
M3?8?B!H.N7,44S0R2-"MS.Z1/)&\.U)6=3A]TG)&31_X)R>,/#W[:EQ%^TWX
M^TZPT_Q)X(TVU\+Q^#]-G=(M.GAC5Y+^:+A6:5F(@&&6**/"L7+[0#[)HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "N:G^#7P?N9GN;GX4^&I))&+22/H5N
M69B<DDE.2:Z6BIE"$_B5S:CB,1AV_93<;]FU^1^%'_!4;]A[Q=^R5\?]5U[2
M_#\I\">)]2EO/#6I00_N+<R$R-8L0,(\9+!5/WHPK#^(+\Q5_3%XN\'>$O'_
M (=NO"/CGPQI^LZ5>Q[+S3=4LTG@F7T9'!5OQ%>$_P##I[_@GI_;_P#PDO\
MPS-I7VCS-_E_VE>_9\YS_J//\K'MMQ[5^=YEP/5JXJ53"3BHMWM*^GI9.Z[;
M']@\%_2?P. R*GA,_P +4G6IQ4>>GROGLK)R4I1Y9?S-.2;ULKV7Y8?\$N?V
M'?%O[6OQ_P!*U_5/#\H\">&-2BO/$NI3P_N+@QL'6Q4D8=Y"%#*/NQEF./E#
M?MA_PI/X,_\ 1(_#'_@@M_\ XBM7PEX.\)> ?#UKX1\#>&-/T;2K*/99Z;I=
MFD$$*^BH@"K^ K2KZG),BP^3X5T_BD]6[?@O)'X9XF^*>;>(F>K%I.A1IKEI
MP4GHKW<I-6O*772R225[7;8((;:%+:VA6..-0L<:* JJ!@  = *^9?$?[*'[
M1&K_ +?VE_MMVFM^#4MM)\(-X<B\+R75WOFM2\TGF&Y$.%DWS$_ZL@ ;>?O5
M].45[I^5MML9<P+=6TEJ[NHDC*EHVPPR,9!['WKXF\*?\$V_VI=!_8X\4_L,
M7/[0WA3_ (0R6*]7PK?P>&YO[2F$UP;E8KR1W,<<?FLQ;RXWD(;Y74* ?MRB
M@#P/P]\%OVN_ -C\,K_0/B=X1UF[\(^&KW2/%.CWMI<V%CJD<JV"P>0Z"9X7
MB^QL?-=9"QFDPBJX1(/AS^Q'%ITGQO\ %/BVYTS2=6^.5JMKK&F^&59[+284
MLI;56C:18S<3,9YII)2D>]W^Z,$M]!T4 ?,WPK_92_:;\#?L3ZK^RIXG^)WA
M#59V\(3^%_#US::7<6T%K:212Q?:KAB9'GF"R* BB)/DY))W5Z+^R7\-/$O[
M-G[.OA+X(_$[Q#H<USX=LHM)L=2L+ET2_"@^7\DJJ4D(XV MG;D$9P/5*\Z_
M:1_90^ O[6_AC3_!WQ^\##7=/TO4EO[&$7\]L8Y@I0G= Z,059@5)P<^H! !
MY)^PY^SK\//"G[0/QH_:)^'LTLFA^(_&-Q9>&83)FWA95A.K36P'RA)K^-HR
M1U^PIV KZ@K.\(^$?"_@'PQ8>"O!6@6NEZ3I=JEMIVG6,(CAMXD&%15'  %:
M- 'S'XF_90_:'UK]O[2?VVK36_!J6VC^$&\.0^%Y+JZWS6I>>3S#<B'"R;YB
M?]60  O/WJV[']FCXRVG_!0.[_;%;5_#+:/=>!1X1_L+[1<"Y2T%XES]J\SR
MMIEW+_JL;<';OXWU] T4 ?-_PH_9!^).B_M&_&7XK_%2X\+ZEX<^-%A966LZ
M#8W%R9;&"ULY+54#M&HG$D<C!^(\9R.FT\3\!_V'OVZ?V==/D_9]^'?[7>AQ
M_"6.[E.EWEUX?:7Q'I=I(Y=K>W<_N%;+,!*V\*3N6,<(/L:B@#S'Q?\ #CX\
M:?\ $'X;6WP/^(^CZ!X \.)-;^,?#E[I@GGU*U6%$MHX965F0H5.2&0\@DOC
M;7IU%% !1110 4444 9NI^#?"&MW1OM9\*Z;=SE0IFNK&.1R!T&6!-?'/_!2
MK]E:]BN+;XY_#7PTGV&&S%OXALM/M@OD!"2ESM4?=P=K'^':IZ$D?;%(RJRE
M64$$8((ZU]#PYQ)C^',SABZ+YE'1Q;=G%[KR\GT:6^Q\YQ)PSE_$N5U,'67*
MY:J22NI+9^?9KJF]MS\7*Z+X6_"WQK\8_&MGX#\!Z0]W?7;@$A3Y<$>0&ED8
M#Y$7.2?P&20#^F'BK]BK]EOQGJK:WKOP;TW[3(^Z1K*6:U5VZDE8'123WR.:
M[+X>_"GX;_"C2VT?X<>"]/T>"0@RBRMPK2D="[_><^[$FOV#'>,N ^I/ZIAY
M^U:TYK<J?>Z;;MVLK]T?C6!\%<P^O+ZYB8>Q3UY>;F:[6:2C?O>5NS,KX;_
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
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
A10 4444 %%%% !1110 4444 %%%% !1110 4444 ?__9

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>19
<FILENAME>fsly-20231231_g4.jpg
<TEXT>
begin 644 fsly-20231231_g4.jpg
M_]C_X  02D9)1@ ! @$ 2 !(  #_X0#H17AI9@  34T *@    @ !@$2  ,
M   !  $   $:  4    !    5@$;  4    !    7@$H  ,    !  (   (3
M  ,    !  $  (=I  0    !    9@        !(     0   $@    !  B0
M   '    !# R,C&1 0 '    ! $" P"2A@ '    $@   ,R@   '    !# Q
M,#"@ 0 #     0 !  "@ @ $     0  !4N@ P $     0   @ZD!@ #
M 0          05-#24D   !38W)E96YS:&]T  #_X@(424-#7U!23T9)3$4
M 0$   ($87!P; 0   !M;G1R4D="(%A96B 'Z  "  D "0 P #EA8W-P05!0
M3     !!4%!,                        ]M8  0    #3+6%P<&S!6-(C
M<=B?7%%U!EW!J^J9                                          ID
M97-C    _    "IC<')T   !*    %!W='!T   !>    !1R6%E:   !C
M !1G6%E:   !H    !1B6%E:   !M    !1R5%)#   !R    !!C:&%D   !
MV    "QB5%)#   !R    !!G5%)#   !R    !!M;'5C          $    ,
M96Y54P    X    < $@ 4  @ $4 ,@ T #,  &UL=6,          0    QE
M;E53    -    !P 0P!O '  >0!R &D 9P!H '0 ( !! '  < !L &4 ( !)
M &X 8P N "P (  R #  ,@ T6%E:(        /;6  $     TRU865H@
M    <\P  #_.    :UA96B        !9MP  J_    RQ6%E:(        "E3
M   40@  QA!P87)A             ?8$<V8S,@       0NW   %EO__\U<
M  <I  #]U___^[?___VF   #V@  P/;_P  1" (.!4L# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
M! 0   %] 0(#  01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D*
M%A<8&1HE)B<H*2HT-38W.#DZ0T1%1D=(24I35%565UA96F-D969G:&EJ<W1U
M=G=X>7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&
MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$  P$! 0$!
M 0$! 0        $" P0%!@<("0H+_\0 M1$  @$"! 0#! <%! 0  0)W  $"
M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF
M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$
MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4
MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]L 0P ! 0$! 0$" 0$" P(" @,$
M P,# P0&! 0$! 0&!P8&!@8&!@<'!P<'!P<'" @(" @("0D)"0D+"PL+"PL+
M"PL+_]L 0P$" @(# P,% P,%"P@&" L+"PL+"PL+"PL+"PL+"PL+"PL+"PL+
M"PL+"PL+"PL+"PL+"PL+"PL+"PL+"PL+"PL+_]T ! !5_]H # ,!  (1 Q$
M/P#^_BBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@#_T/[^**** /G_ %G]JG]G
M3PY\0=8^%WB'QGH]AK6@:>-4U*"YO(HOLMMG!:4LP"%059E."JNC' =29]0_
M:F_9ITCP5IGQ)U7X@>';;P_K4DD-AJ,NI6Z6MS)%D2)%(7"NR%2&4$E2"#C%
M?"&HI^T1\//C]XVU+]G'X?ZYJ>E137^J:QHFL7>F)I.J:I<Q+]BN-*N'E-Q#
M)*ZK)="5DB1 V$\W:&QS\$?BQI7P&TB_T?P?XWM?B7%J6O:R;_3KO0;21-;U
M@&26>6-[^YMA9222E(XU::1(X\.A)#. ?IEI'QK^#OB#QW-\+M"\5:1>^);>
M$7$NE07L,EXD156WF%6+@;71LXX#J>C#,VK?&/X2:#X_L?A1K?B?2K/Q/J:"
M2TTF:\B2]G0[B"D+,)&!".1@<[6Q]TX_-3X*_!+]ICPUXV\*0?$KPL)[[PCX
MK\2^,=1\0VES:"UU<ZU97<4=K;(9A<*_FWBJ1/%'$JVR_.05KH/%7P<^.7BW
MXOZI(?!D]O9>,/%W@KQA_;$EW9LFD0: EFUU8S*LYF:;=:21IY$<D3?:6.\
M-0!^J=%%8^IS>((I%&CVUO.I'S&:=HB#[!8I,_F* -BBN4^V>./^@=8_^!DG
M_P CT?;/''_0.L?_  ,D_P#D>@#JZ*Y3[9XX_P"@=8_^!DG_ ,CT?;/''_0.
ML?\ P,D_^1Z .KHKE/MGCC_H'6/_ (&2?_(]'VSQQ_T#K'_P,D_^1Z .KHKE
M/MGCC_H'6/\ X&2?_(]'VSQQ_P! ZQ_\#)/_ )'H ZNBN4^V>./^@=8_^!DG
M_P CT?;/''_0.L?_  ,D_P#D>@#JZ*Y3[9XX_P"@=8_^!DG_ ,CT?;/''_0.
ML?\ P,D_^1Z .KHKE/MGCC_H'6/_ (&2?_(]'VSQQ_T#K'_P,D_^1Z .KHKE
M/MGCC_H'6/\ X&2?_(]'VSQQ_P! ZQ_\#)/_ )'H ZNBN4^V>./^@=8_^!DG
M_P CT?;/''_0.L?_  ,D_P#D>@#JZ*Y3[9XX_P"@=8_^!DG_ ,CT?;/''_0.
ML?\ P,D_^1Z .KHKE/MGCC_H'6/_ (&2?_(]'VSQQ_T#K'_P,D_^1Z .KHKE
M/MGCC_H'6/\ X&2?_(]'VSQQ_P! ZQ_\#)/_ )'H ZNBN4^V>./^@=8_^!DG
M_P CT?;/''_0.L?_  ,D_P#D>@#JZ*Y3[9XX_P"@=8_^!DG_ ,CT?;/''_0.
ML?\ P,D_^1Z .KHKE/MGCC_H'6/_ (&2?_(]'VSQQ_T#K'_P,D_^1Z .KHKE
M/MGCC_H'6/\ X&2?_(]'VSQQ_P! ZQ_\#)/_ )'H ZNBN4^V>./^@=8_^!DG
M_P CT?;/''_0.L?_  ,D_P#D>@#JZ*Y3[9XX_P"@=8_^!DG_ ,CT?;/''_0.
ML?\ P,D_^1Z .KHKE/MGCC_H'6/_ (&2?_(]'VSQQ_T#K'_P,D_^1Z .KHKE
M/MGCC_H'6/\ X&2?_(]'VSQQ_P! ZQ_\#)/_ )'H ZNBN4^V>./^@=8_^!DG
M_P CT?;/''_0.L?_  ,D_P#D>@#JZ*Y3[9XX_P"@=8_^!DG_ ,CT?;/''_0.
ML?\ P,D_^1Z .KHKE/MGCC_H'6/_ (&2?_(]'VSQQ_T#K'_P,D_^1Z .KHKE
M/MGCC_H'6/\ X&2?_(]'VSQQ_P! ZQ_\#)/_ )'H ZNBN4^V>./^@=8_^!DG
M_P CT?;/''_0.L?_  ,D_P#D>@#JZ*Y3[9XX_P"@=8_^!DG_ ,CT?;/''_0.
ML?\ P,D_^1Z .KHKE/MGCC_H'6/_ (&2?_(]'VSQQ_T#K'_P,D_^1Z .KHKE
M/MGCC_H'6/\ X&2?_(]'VSQQ_P! ZQ_\#)/_ )'H ZNBN4^V>./^@=8_^!DG
M_P CT?;/''_0.L?_  ,D_P#D>@#JZ*Y3[9XX_P"@=8_^!DG_ ,CT?;/''_0.
ML?\ P,D_^1Z .KHKE/MGCC_H'6/_ (&2?_(]'VSQQ_T#K'_P,D_^1Z .KHKE
M/MGCC_H'6/\ X&2?_(]'VSQQ_P! ZQ_\#)/_ )'H ZNBN4^V>./^@=8_^!DG
M_P CT?;/''_0.L?_  ,D_P#D>@#JZ*Y3[9XX_P"@=8_^!DG_ ,CT?;/''_0.
ML?\ P,D_^1Z .KHKE/MGCC_H'6/_ (&2?_(]'VSQQ_T#K'_P,D_^1Z .KHKE
M/MGCC_H'6/\ X&2?_(]'VSQQ_P! ZQ_\#)/_ )'H ZNBN4^V>./^@=8_^!DG
M_P CT?;/''_0.L?_  ,D_P#D>@#JZ*Y3[9XX_P"@=8_^!DG_ ,CT?;/''_0.
ML?\ P,D_^1Z .KHKE/MGCC_H'6/_ (&2?_(]'VSQQ_T#K'_P,D_^1Z .KHKE
M/MGCC_H'6/\ X&2?_(]'VSQQ_P! ZQ_\#)/_ )'H ZNBN4^V>./^@=8_^!DG
M_P CT?;/''_0.L?_  ,D_P#D>@#JZ*Y3[9XX_P"@=8_^!DG_ ,CT?;/''_0.
ML?\ P,D_^1Z .KHKE/MGCC_H'6/_ (&2?_(]'VSQQ_T#K'_P,D_^1Z .KHKE
M/MGCC_H'6/\ X&2?_(]'VSQQ_P! ZQ_\#)/_ )'H ZNBN4^V>./^@=8_^!DG
M_P CT?;/''_0.L?_  ,D_P#D>@#JZ*Y3[9XX_P"@=8_^!DG_ ,CT?;/''_0.
ML?\ P,D_^1Z .KHKE/MGCC_H'6/_ (&2?_(]'VSQQ_T#K'_P,D_^1Z .KHKE
M/MGCC_H'6/\ X&2?_(]'VSQQ_P! ZQ_\#)/_ )'H ZNBN4^V>./^@=8_^!DG
M_P CT?;/''_0.L?_  ,D_P#D>@#JZ*Y3[9XX_P"@=8_^!DG_ ,CT?;/''_0.
ML?\ P,D_^1Z .KHKE/MGCC_H'6/_ (&2?_(]'VSQQ_T#K'_P,D_^1Z .KHKE
M/MGCC_H'6/\ X&2?_(]'VSQQ_P! ZQ_\#)/_ )'H ZNBN4^V>./^@=8_^!DG
M_P CT?;/''_0.L?_  ,D_P#D>@#JZ*Y3[9XX_P"@=8_^!DG_ ,CT?;/''_0.
ML?\ P,D_^1Z .KHKE/MGCC_H'6/_ (&2?_(]'VSQQ_T#K'_P,D_^1Z .KHKE
M/MGCC_H'6/\ X&2?_(]'VSQQ_P! ZQ_\#)/_ )'H ZNBN4^V>./^@=8_^!DG
M_P CT?;/''_0.L?_  ,D_P#D>@#JZ*Y3[9XX_P"@=8_^!DG_ ,CT?;/''_0.
ML?\ P,D_^1Z .KHKE/MGCC_H'6/_ (&2?_(]'VSQQ_T#K'_P,D_^1Z .KHKE
M/MGCC_H'6/\ X&2?_(]'VSQQ_P! ZQ_\#)/_ )'H ZNBN4^V>./^@=8_^!DG
M_P CT?;/''_0.L?_  ,D_P#D>@#JZ*Y3[9XX_P"@=8_^!DG_ ,CT?;/''_0.
ML?\ P,D_^1Z .KHKE/MGCC_H'6/_ (&2?_(]'VSQQ_T#K'_P,D_^1Z .KHKE
M/MGCC_H'6/\ X&2?_(]'VSQQ_P! ZQ_\#)/_ )'H ZNBN4^V>./^@=8_^!DG
M_P CT?;/''_0.L?_  ,D_P#D>@#JZ*Y3[9XX_P"@=8_^!DG_ ,CT?;/''_0.
ML?\ P,D_^1Z .KHKE/MGCC_H'6/_ (&2?_(]'VSQQ_T#K'_P,D_^1Z .KHKE
M/MGCC_H'6/\ X&2?_(]'VSQQ_P! ZQ_\#)/_ )'H ZNBN4^V>./^@=8_^!DG
M_P CT?;/''_0.L?_  ,D_P#D>@#JZ*Y3[9XX_P"@=8_^!DG_ ,CT?;/''_0.
ML?\ P,D_^1Z .KHKE/MGCC_H'6/_ (&2?_(]'VSQQ_T#K'_P,D_^1Z .KHKE
M/MGCC_H'6/\ X&2?_(]'VSQQ_P! ZQ_\#)/_ )'H ZNBN4^V>./^@=8_^!DG
M_P CT?;/''_0.L?_  ,D_P#D>@#JZ*Y3[9XX_P"@=8_^!DG_ ,CT?;/''_0.
ML?\ P,D_^1Z .KHKE/MGCC_H'6/_ (&2?_(]'VSQQ_T#K'_P,D_^1Z .KHKE
M/MGCC_H'6/\ X&2?_(]'VSQQ_P! ZQ_\#)/_ )'H ZNBN4^V>./^@=8_^!DG
M_P CT?;/''_0.L?_  ,D_P#D>@#JZ*Y3[9XX_P"@=8_^!DG_ ,CU=T^X\3R7
M(75;2UAAP<M%<O*V>WRF%!^M &]1110 4444 %%%% '_T?[^**** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** /_2_OXHHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M_]/^_BBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@#_U/[^**** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MO*OCK\6='^ OP5\6_&_Q#;37MAX0T>]UFXM[?;YTL5C"TS(FXA=S!2!D@9ZT
MXQ;:2W$VDKL]5HK^8K_B*/\ V3_^B=^+?SL__C]'_$4?^R?_ -$[\6_G9_\
MQ^O2_L?&?\^W^!Q?VEAOYU^)_3K17\Q7_$4?^R?_ -$[\6_G9_\ Q^C_ (BC
M_P!D_P#Z)WXM_.S_ /C]']CXS_GV_P  _M+#?SK\3^G6BOYBO^(H_P#9/_Z)
MWXM_.S_^/T?\11_[)_\ T3OQ;^=G_P#'Z/['QG_/M_@']I8;^=?B?TZT5_,5
M_P 11_[)_P#T3OQ;^=G_ /'Z/^(H_P#9/_Z)WXM_.S_^/T?V/C/^?;_ /[2P
MW\Z_$_IUHK^8K_B*/_9/_P"B=^+?SL__ (_1_P 11_[)_P#T3OQ;^=G_ /'Z
M/['QG_/M_@']I8;^=?B?TZT5_,5_Q%'_ +)__1._%OYV?_Q^C_B*/_9/_P"B
M=^+?SL__ (_1_8^,_P"?;_ /[2PW\Z_$_IUHKX9_X)^?MX?#_P#X*&_!6_\
MC=\-]&U#0[#3]8GT9[?4_+\YI8(89BX\IW7:1.H'.<@U]S5Y]2G*G)PFK-'7
M"<9Q4HNZ84445!84444 %%%% !1110 4444 %%%% !1110!__]7^_BBBB@ H
MKX[TG]JO6_%/Q*\8^%/ 7@35_$&C^#F?3Y[^SGL%>;6(2IDM5@GNXI44HZ%)
MI52-B'.X*%9^=@_;J\,7_AJQN]#\%^(]1\175]K=A-X=MULC?6S^'7\O4&>1
MKM;5DB8HJF.=S(TB*HR6V@'W-17Q-\'_ -NWX6?&_P 2^'[+P1I.KMX?\6S7
M%GHGB*:.!-/O[VSMC=30(HG-RK)$DOS20*C-#( W W=;XM_:W\'>$?BRWPPN
M-#U:ZMK34]+T34=;@2 Z?8ZEK6S[';R[IUN&:3S(@6CA=$,T>XC)V@'U9111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 5\7_\
M!1W_ )1^?&[_ +$7Q!_Z135]H5\7_P#!1W_E'Y\;O^Q%\0?^D4U;8?\ BP]5
M^9G6_AR]&?Y:]%%%?J1^?A1110 4444 %%%% !1110 4444 ?WD_\&Q7_*/[
MQ+_V/>H_^D.GU_1?7\Z'_!L5_P H_O$O_8]ZC_Z0Z?7]%]?F^:_[W5]3[C+_
M /=J?H%%%%>>=@4444 %%%% !1110 4444 %%%% !1110!__UO[^**** /S<
M^('[(?QW\?\ QUUWXPZ)XOT/P;J5K9W=CX?UK2]"W:G)'?QA"NI.UV%NTLQ_
MQ[)MC'F!9#]TJVII/[&/Q.\*^$?!UKX'\9Z+HWB#P9;:OIMO>P:#</:36&M"
M%K@RP3:G+,]V;B%+@W+71WR9WQMN)K]#Z* /S;^!?_!/_4/@"OA;PCX1\81S
M>#_ %UJ&J>&=/GTW-W;ZCJ-I+:.]S<BX"SPH+FX=8UAB8F7!<A!GMM3_ &/_
M !GKGQ&D\3ZSXRMY-&UG6/#WB77["/2RDUWK/AQ+<0R6\_VHBW@E>TMW>%HI
MF'E[5D&XD?=U% !6-JFD3:E(CQ7UQ:;1C$!0 ^YW*U;-% ')?\(O=_\ 09O_
M /OJ+_XW1_PB]W_T&;__ +ZB_P#C==;10!R7_"+W?_09O_\ OJ+_ .-T?\(O
M=_\ 09O_ /OJ+_XW76T4 <E_PB]W_P!!F_\ ^^HO_C='_"+W?_09O_\ OJ+_
M .-UUM% ')?\(O=_]!F__P"^HO\ XW1_PB]W_P!!F_\ ^^HO_C==;10!R7_"
M+W?_ $&;_P#[ZB_^-T?\(O=_]!F__P"^HO\ XW76T4 <E_PB]W_T&;__ +ZB
M_P#C='_"+W?_ $&;_P#[ZB_^-UUM% ')?\(O=_\ 09O_ /OJ+_XW1_PB]W_T
M&;__ +ZB_P#C==;10!R7_"+W?_09O_\ OJ+_ .-T?\(O=_\ 09O_ /OJ+_XW
M76T4 <E_PB]W_P!!F_\ ^^HO_C='_"+W?_09O_\ OJ+_ .-UUM% ')?\(O=_
M]!F__P"^HO\ XW1_PB]W_P!!F_\ ^^HO_C==;10!R7_"+W?_ $&;_P#[ZB_^
M-T?\(O=_]!F__P"^HO\ XW76T4 <E_PB]W_T&;__ +ZB_P#C='_"+W?_ $&;
M_P#[ZB_^-UUM% ')?\(O=_\ 09O_ /OJ+_XW1_PB]W_T&;__ +ZB_P#C==;1
M0!R7_"+W?_09O_\ OJ+_ .-T?\(O=_\ 09O_ /OJ+_XW76T4 <E_PB]W_P!!
MF_\ ^^HO_C='_"+W?_09O_\ OJ+_ .-UUM% ')?\(O=_]!F__P"^HO\ XW1_
MPB]W_P!!F_\ ^^HO_C==;10!R7_"+W?_ $&;_P#[ZB_^-T?\(O=_]!F__P"^
MHO\ XW76T4 <E_PB]W_T&;__ +ZB_P#C='_"+W?_ $&;_P#[ZB_^-UUM% ')
M?\(O=_\ 09O_ /OJ+_XW1_PB]W_T&;__ +ZB_P#C==;10!R7_"+W?_09O_\
MOJ+_ .-T?\(O=_\ 09O_ /OJ+_XW76T4 <E_PB]W_P!!F_\ ^^HO_C='_"+W
M?_09O_\ OJ+_ .-UUM% ')?\(O=_]!F__P"^HO\ XW1_PB]W_P!!F_\ ^^HO
M_C==;10!R7_"+W?_ $&;_P#[ZB_^-T?\(O=_]!F__P"^HO\ XW76T4 <E_PB
M]W_T&;__ +ZB_P#C='_"+W?_ $&;_P#[ZB_^-UUM% ')?\(O=_\ 09O_ /OJ
M+_XW1_PB]W_T&;__ +ZB_P#C==;10!R7_"+W?_09O_\ OJ+_ .-T?\(O=_\
M09O_ /OJ+_XW76T4 <E_PB]W_P!!F_\ ^^HO_C='_"+W?_09O_\ OJ+_ .-U
MUM% ')?\(O=_]!F__P"^HO\ XW1_PB]W_P!!F_\ ^^HO_C==;10!R7_"+W?_
M $&;_P#[ZB_^-T?\(O=_]!F__P"^HO\ XW76T4 <E_PB]W_T&;__ +ZB_P#C
M='_"+W?_ $&;_P#[ZB_^-UUM% ')?\(O=_\ 09O_ /OJ+_XW1_PB]W_T&;__
M +ZB_P#C==;10!R7_"+W?_09O_\ OJ+_ .-T?\(O=_\ 09O_ /OJ+_XW76T4
M <E_PB]W_P!!F_\ ^^HO_C='_"+W?_09O_\ OJ+_ .-UUM% ')?\(O=_]!F_
M_P"^HO\ XW1_PB]W_P!!F_\ ^^HO_C==;10!R7_"+W?_ $&;_P#[ZB_^-T?\
M(O=_]!F__P"^HO\ XW76T4 <E_PB]W_T&;__ +ZB_P#C='_"+W?_ $&;_P#[
MZB_^-UUM% ')?\(O=_\ 09O_ /OJ+_XW1_PB]W_T&;__ +ZB_P#C==;10!R7
M_"+W?_09O_\ OJ+_ .-T?\(O=_\ 09O_ /OJ+_XW76T4 <E_PB]W_P!!F_\
M^^HO_C='_"+W?_09O_\ OJ+_ .-UUM% ')?\(O=_]!F__P"^HO\ XW1_PB]W
M_P!!F_\ ^^HO_C==;10!R7_"+W?_ $&;_P#[ZB_^-T?\(O=_]!F__P"^HO\
MXW76T4 <E_PB]W_T&;__ +ZB_P#C='_"+W?_ $&;_P#[ZB_^-UUM% ')?\(O
M=_\ 09O_ /OJ+_XW1_PB]W_T&;__ +ZB_P#C==;10!R7_"+W?_09O_\ OJ+_
M .-T?\(O=_\ 09O_ /OJ+_XW76T4 <E_PB]W_P!!F_\ ^^HO_C='_"+W?_09
MO_\ OJ+_ .-UUM% ')?\(O=_]!F__P"^HO\ XW1_PB]W_P!!F_\ ^^HO_C==
M;10!R7_"+W?_ $&;_P#[ZB_^-T?\(O=_]!F__P"^HO\ XW76T4 <E_PB]W_T
M&;__ +ZB_P#C='_"+W?_ $&;_P#[ZB_^-UUM% ')?\(O=_\ 09O_ /OJ+_XW
M1_PB]W_T&;__ +ZB_P#C==;10!R7_"+W?_09O_\ OJ+_ .-T?\(O=_\ 09O_
M /OJ+_XW76T4 <E_PB]W_P!!F_\ ^^HO_C='_"+W?_09O_\ OJ+_ .-UUM%
M')?\(O=_]!F__P"^HO\ XW1_PB]W_P!!F_\ ^^HO_C==;10!R7_"+W?_ $&;
M_P#[ZB_^-T?\(O=_]!F__P"^HO\ XW76T4 <E_PB]W_T&;__ +ZB_P#C='_"
M+W?_ $&;_P#[ZB_^-UUM% ')?\(O=_\ 09O_ /OJ+_XW1_PB]W_T&;__ +ZB
M_P#C==;10!R7_"+W?_09O_\ OJ+_ .-T?\(O=_\ 09O_ /OJ+_XW76T4 <E_
MPB]W_P!!F_\ ^^HO_C='_"+W?_09O_\ OJ+_ .-UUM% ')?\(O=_]!F__P"^
MHO\ XW1_PB]W_P!!F_\ ^^HO_C==;10!R7_"+W?_ $&;_P#[ZB_^-T?\(O=_
M]!F__P"^HO\ XW76T4 <E_PB]W_T&;__ +ZB_P#C='_"+W?_ $&;_P#[ZB_^
M-UUM% ')?\(O=_\ 09O_ /OJ+_XW1_PB]W_T&;__ +ZB_P#C==;10!R7_"+W
M?_09O_\ OJ+_ .-T?\(O=_\ 09O_ /OJ+_XW76T4 <E_PB]W_P!!F_\ ^^HO
M_C='_"+W?_09O_\ OJ+_ .-UUM% ')?\(O=_]!F__P"^HO\ XW1_PB]W_P!!
MF_\ ^^HO_C==;10!R7_"+W?_ $&;_P#[ZB_^-T?\(O=_]!F__P"^HO\ XW76
MT4 <E_PB]W_T&;__ +ZB_P#C='_"+W?_ $&;_P#[ZB_^-UUM% ')?\(O=_\
M09O_ /OJ+_XW7R1^WWX#U[6OV&_C#H^BWVH7UY=>#-<B@M@8R99'LY0J8" G
M<3CJ*^Y*\9_:,_Y(!XV_[ 6H?^B'K*OB'AZ<J\5=Q3E]RN;X7#+$5H8>3LIM
M1OZNQ_E[?\,D_M*?]"9J?_?K_P"O1_PR3^TI_P!"9J?_ 'Z_^O7]/]%?GG_$
M><Q_Z Z?WR/V3_B7G+?^@VI_X#$_F _X9)_:4_Z$S4_^_7_UZ/\ ADG]I3_H
M3-3_ ._7_P!>OZ?Z*/\ B/.8_P#0'3^^0?\ $O.6_P#0;4_\!B?S ?\ #)/[
M2G_0F:G_ -^O_KT?\,D_M*?]"9J?_?K_ .O7]/\ 11_Q'G,?^@.G]\@_XEYR
MW_H-J?\ @,3^8#_ADG]I3_H3-3_[]?\ UZ/^&2?VE/\ H3-3_P"_7_UZ_I_H
MH_XCSF/_ $!T_OD'_$O.6_\ 0;4_\!B?S ?\,D_M*?\ 0F:G_P!^O_KT?\,D
M_M*?]"9J?_?K_P"O7]/]%'_$><Q_Z Z?WR#_ (EYRW_H-J?^ Q/Y@/\ ADG]
MI3_H3-3_ ._7_P!>C_ADG]I3_H3-3_[]?_7K^G^BC_B/.8_] =/[Y!_Q+SEO
M_0;4_P# 8GVO_P &ZOPC\?>!?V'?$&C^.$U'0+N3QI?S+;,$3=&;.Q ?#*QY
M((Z]J_>S_A%[O_H,W_\ WU%_\;KX:_X)E?\ ) -1_P"P[<?^B+>OT2K[O+<V
MGFF&IYA4BHRJ*[2V1^3YUD\,JQU;+J<G*--\J;W?J<E_PB]W_P!!F_\ ^^HO
M_C='_"+W?_09O_\ OJ+_ .-UUM%=IYAR7_"+W?\ T&;_ /[ZB_\ C='_  B]
MW_T&;_\ [ZB_^-UUM% ')?\ "+W?_09O_P#OJ+_XW1_PB]W_ -!F_P#^^HO_
M (W76T4 <E_PB]W_ -!F_P#^^HO_ (W5[3M#N+"Y%Q)J-U<@ C9,4*\]_E0'
M]:WZ* "BBB@ HHHH **** /_U_[^**** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "O&?VC/^2 >-O\ L!:A
M_P"B'KV:O&?VC/\ D@'C;_L!:A_Z(>N+,_\ <ZW^&7Y,]#*?]^P_^./_ *4C
M^76BBBOY,/[@"BBB@ HHHH **** "BBB@ HHHH _=[_@F5_R0#4?^P[<?^B+
M>OT2K\[?^"97_) -1_[#MQ_Z(MZ_1*OZ=X0_Y$V%_P */X[XY_Y'^-_QL***
M*^C/DPHHHH **** "BBB@ HHHH **** "BBB@#__T/[^**** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "O&
M?VC/^2 >-O\ L!:A_P"B'KV:O&?VC/\ D@'C;_L!:A_Z(>N+,_\ <ZW^&7Y,
M]#*?]^P_^./_ *4C^76BBBOY,/[@"BBB@ HHHH **** "BBB@ HHHH _=[_@
MF5_R0#4?^P[<?^B+>OT2K\[?^"97_) -1_[#MQ_Z(MZ_1*OZ=X0_Y$V%_P *
M/X[XY_Y'^-_QL****^C/DPHHHH **** "BBB@ HHHH **** "BBB@#__T?[^
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "O"/VH[J>Q_9K\?WML0LD/A[4G4D!@"MNY'!R#]"*]WKP#]
MJ[_DV'XA_P#8MZG_ .D\E:T(1G4C":NFTFGLU?9G+CJLZ>&JU*<FI*+::T::
M6C3Z-'\B?_"S?&7_ #\1?^ T/_QNC_A9OC+_ )^(O_ :'_XW7!45^D?ZGY#_
M -"^C_X*I_\ R)_.?_$1N+/^AOB?_!]7_P"2.]_X6;XR_P"?B+_P&A_^-T?\
M+-\9?\_$7_@-#_\ &ZX*BC_4_(?^A?1_\%4__D0_XB-Q9_T-\3_X/J__ "1W
MO_"S?&7_ #\1?^ T/_QNC_A9OC+_ )^(O_ :'_XW7!44?ZGY#_T+Z/\ X*I_
M_(A_Q$;BS_H;XG_P?5_^2.]_X6;XR_Y^(O\ P&A_^-T?\+-\9?\ /Q%_X#0_
M_&ZX*BC_ %/R'_H7T?\ P53_ /D0_P"(C<6?]#?$_P#@^K_\D=[_ ,+-\9?\
M_$7_ (#0_P#QNC_A9OC+_GXB_P# :'_XW7!44?ZGY#_T+Z/_ (*I_P#R(?\
M$1N+/^AOB?\ P?5_^2.]_P"%F^,O^?B+_P !H?\ XW1_PLWQE_S\1?\ @-#_
M /&ZX*BC_4_(?^A?1_\ !5/_ .1#_B(W%G_0WQ/_ (/J_P#R1_33_P $F-<U
M+7_V:]4O=5=7D7Q#=("J*@P+>V/10!W]*_3^ORJ_X(__ /)L.K?]C)=?^D]M
M7ZJU\!F>&HX?%5*-""A"+LE%))+R2LD?O?#>-Q&+RS#XG%U)5*DHWE*3<I-]
MVW=M^H4445PGMA1110 4444 %%%% !1110 4444 %%%% '__TO[^**** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** /AS]OGXH>/?A/\
M";2]?^'FI/I=Y/J\=O)+&JL6B:&9BOS@CJH/3M7Y)_\ #:'[3_\ T-US_P!^
MH?\ XW7Z7?\ !3W_ )(;HO\ V'8?_2>XK\,*_"./\SQE#-Y4Z-:<8\L=%)I;
M=DS^E/##)\!B<CA5Q&'A.7-+648M[]VCZA_X;0_:?_Z&ZY_[]0__ !NC_AM#
M]I__ *&ZY_[]0_\ QNOEZBOBO[<S'_H)J?\ @<O\S]#_ -7,I_Z Z7_@N'^1
M]0_\-H?M/_\ 0W7/_?J'_P"-T?\ #:'[3_\ T-US_P!^H?\ XW7R]11_;F8_
M]!-3_P #E_F'^KF4_P#0'2_\%P_R/J'_ (;0_:?_ .ANN?\ OU#_ /&Z/^&T
M/VG_ /H;KG_OU#_\;KY>HH_MS,?^@FI_X'+_ ##_ %<RG_H#I?\ @N'^1]0_
M\-H?M/\ _0W7/_?J'_XW1_PVA^T__P!#=<_]^H?_ (W7R]11_;F8_P#034_\
M#E_F'^KF4_\ 0'2_\%P_R/J'_AM#]I__ *&ZY_[]0_\ QNC_ (;0_:?_ .AN
MN?\ OU#_ /&Z^7J*/[<S'_H)J?\ @<O\P_U<RG_H#I?^"X?Y'U#_ ,-H?M/_
M /0W7/\ WZA_^-U_07\(-8U+Q%\)O"_B#6I3/>7VD65Q/*0 7EEA1F8XP.22
M>!7\J=?U,_ ;_DAO@S_L!:=_Z3I7Z9X:9ABL1B<0L15E-**MS2;Z^;/R#Q>R
MO!X7"866%H0@W)WY8J-].MDCU>BBBOV _!PHHHH **** "BBB@ HHHH ****
M "BBB@ HHHH *\ _:N_Y-A^(?_8MZG_Z3R5[_7@'[5W_ ";#\0_^Q;U/_P!)
MY*Z,+_'I^J_,XLS_ -SK?X9?DS^-:BBBOV@_D0**** "BBB@ HHHH **** "
MBBB@#^E/_@C_ /\ )L.K?]C)=?\ I/;5^JM?E5_P1_\ ^38=6_[&2Z_])[:O
MU5K\DSO_ '^MZG]2<'_\B7"_X4%%%%>4?2!1110 4444 %%%% !1110 4444
M %%%% '_T_[^**** /SJT[XS?M 3?M1>)_A[KM_8:#-/#=6GA+0-4TNZ2SU2
M.U195OX]6CE>*63#MY]HL2RI&@P!AI&X[4/VI?VC;W]F3X9?&G2X;2U_MVTG
MO/%&HVF@7>MP6,<,3,'CLK>\BF",Z\GS)"H[$U]0_P##(?PKN?B7K/Q1UBYU
MJ]OM3$PM$?6;]8]*-TNVY;3PMP/LCSY.]X/+8 D*0I(,%O\ L6_ 6R^&EE\'
MM/BUZW\-V G2*RB\2:PH:&Y55DAD<7F^2!@H_<NS1C+84%FR > ?"#]KCXG?
M$?XB^%-?BN-$O_ 7C?Q1KOA334M+6:.]1M%M;N=;YIVN'1H[@V,V(O(4HDD7
MSL0V[>^(7[3?Q@\/_&?6+?04T@>$/"OBWPOX0O[.>VE?4;N;Q)]D!N8KA9UC
MB6 W\&$,$F\)+EAE=OO'AW]D']GOPCXLF\9^&-">PNY$N%CB@O;I+2V:[B6"
M:6VM1,+>VFDB4(TT$:2$9^;+,387]DWX$#QQIOQ$;2;A]4TM;+RS)J-X\$LF
MFQF.UFN(&G,-S<0(<1SSI)*.#NRJD 'T;6-JGB+0]%D2+5KJ.W9QE0YQD"MF
MB@#DO^$\\&_]!*#_ +[_ /K4?\)YX-_Z"4'_ 'W_ /6KK:* .2_X3SP;_P!!
M*#_OO_ZU'_">>#?^@E!_WW_]:NMHH Y+_A//!O\ T$H/^^__ *U'_">>#?\
MH)0?]]__ %JZVB@#DO\ A//!O_02@_[[_P#K4?\ ">>#?^@E!_WW_P#6KK:*
M .2_X3SP;_T$H/\ OO\ ^M1_PGG@W_H)0?\ ??\ ]:NMHH Y+_A//!O_ $$H
M/^^__K4?\)YX-_Z"4'_??_UJZVB@#DO^$\\&_P#02@_[[_\ K4?\)YX-_P"@
ME!_WW_\ 6KK:* .2_P"$\\&_]!*#_OO_ .M1_P )YX-_Z"4'_??_ -:NMHH
MY+_A//!O_02@_P"^_P#ZU'_">>#?^@E!_P!]_P#UJZVB@#DO^$\\&_\ 02@_
M[[_^M1_PGG@W_H)0?]]__6KK:* .2_X3SP;_ -!*#_OO_P"M1_PGG@W_ *"4
M'_??_P!:NMHH Y+_ (3SP;_T$H/^^_\ ZU'_  GG@W_H)0?]]_\ UJZVB@#D
MO^$\\&_]!*#_ +[_ /K4?\)YX-_Z"4'_ 'W_ /6KK:* .2_X3SP;_P!!*#_O
MO_ZU'_">>#?^@E!_WW_]:NMHH Y+_A//!O\ T$H/^^__ *U'_">>#?\ H)0?
M]]__ %JZVB@#DO\ A//!O_02@_[[_P#K4?\ ">>#?^@E!_WW_P#6KK:* .2_
MX3SP;_T$H/\ OO\ ^M1_PGG@W_H)0?\ ??\ ]:NMHH Y+_A//!O_ $$H/^^_
M_K4?\)YX-_Z"4'_??_UJZVB@#DO^$\\&_P#02@_[[_\ K4?\)YX-_P"@E!_W
MW_\ 6KK:* .2_P"$\\&_]!*#_OO_ .M1_P )YX-_Z"4'_??_ -:NMHH Y+_A
M//!O_02@_P"^_P#ZU'_">>#?^@E!_P!]_P#UJZVB@#DO^$\\&_\ 02@_[[_^
MM1_PGG@W_H)0?]]__6KK:* .2_X3SP;_ -!*#_OO_P"M1_PGG@W_ *"4'_??
M_P!:NMHH Y+_ (3SP;_T$H/^^_\ ZU'_  GG@W_H)0?]]_\ UJZVB@#DO^$\
M\&_]!*#_ +[_ /K4?\)YX-_Z"4'_ 'W_ /6KK:* .2_X3SP;_P!!*#_OO_ZU
M'_">>#?^@E!_WW_]:NMHH Y+_A//!O\ T$H/^^__ *U'_">>#?\ H)0?]]__
M %JZVB@#DO\ A//!O_02@_[[_P#K4?\ ">>#?^@E!_WW_P#6KK:* .2_X3SP
M;_T$H/\ OO\ ^M1_PGG@W_H)0?\ ??\ ]:NMHH Y+_A//!O_ $$H/^^__K4?
M\)YX-_Z"4'_??_UJZVB@#DO^$\\&_P#02@_[[_\ K4?\)YX-_P"@E!_WW_\
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
M;R*>4@G:C9.!6_10 4444 %%%% !1110!__4_OXHHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH _)?_ (+%?\FY>'_^QD@_]);FOYOZ
M_I _X+%?\FY>'_\ L9(/_26YK^;^OT[A;_<%ZL_G7Q)_Y'<_\,?R"BBBOHCX
M$**** "BBB@ HHHH **** "O[._V:/\ DW'X?_\ 8MZ5_P"DL=?QB5_9W^S1
M_P FX_#_ /[%O2O_ $ECKX[C'^#2]7^1^L^%'^]8G_"OS/;:***^ /V\****
M "BBB@ HHHH **** "BBB@ HHHH **** "OFG]LW4I=&_9%^)^KP(LCVOA;5
MY55\[6*6LAP<$'![X(-?2U?+'[<O_)F'Q8_[%'6?_222M\+_ !H>J_,/9QG[
MDU=/1KR9_"[_ ,-#^)?^@3IO_?,__P ?H_X:'\2_] G3?^^9_P#X_7@%%?L.
MO<G_ %'R'_H"A]Q[_P#\-#^)?^@3IO\ WS/_ /'Z/^&A_$O_ $"=-_[YG_\
MC]> 44:]P_U'R'_H"A]Q[_\ \-#^)?\ H$Z;_P!\S_\ Q^C_ (:'\2_] G3?
M^^9__C]> 44:]P_U'R'_ * H?<>__P##0_B7_H$Z;_WS/_\ 'Z/^&A_$O_0)
MTW_OF?\ ^/UX!11KW#_4?(?^@*'W'O\ _P -#^)?^@3IO_?,_P#\?H_X:'\2
M_P#0)TW_ +YG_P#C]> 44:]P_P!1\A_Z H?<>_\ _#0_B7_H$Z;_ -\S_P#Q
M^C_AH?Q+_P! G3?^^9__ (_7@%%&O</]1\A_Z H?<?V;_P#!#SQC?>./V1M:
MU>_MX+9T\57D06W#A<"UM#GYV<YY]<5^R-?B!_P0(_Y,QUW_ +&^]_\ 22RK
M]OZ_*LY_WVKZE?5:.&_<4(J,(Z)+9(****\P HHHH **** "BBB@ HHHH **
M** "BBB@#__5_OXHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH _)?_ (+%?\FY>'_^QD@_]);FOYOZ_I _X+%?\FY>'_\ L9(/_26Y
MK^;^OT[A;_<%ZL_G7Q)_Y'<_\,?R"BBBOHCX$**** "BBB@ HHHH **** "O
M[._V:/\ DW'X?_\ 8MZ5_P"DL=?QB5_9W^S1_P FX_#_ /[%O2O_ $ECKX[C
M'^#2]7^1^L^%'^]8G_"OS/;:***^ /V\**** "BBB@ HHHH **** "BBB@ H
MHHH **** "OEC]N7_DS#XL?]BCK/_I))7U/7RQ^W+_R9A\6/^Q1UG_TDDK?"
M_P :'JOS+A\2/\]ZBBBOV$^E"BBB@ HHHH **** "BBB@ HHHH _L)_X($?\
MF8Z[_P!C?>_^DEE7[?U^('_! C_DS'7?^QOO?_22RK]OZ_*LY_WVKZGS^*_B
MR"BBBO,.<**** "BBB@ HHHH **** "BBB@ HHHH __6_OXHHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH _$O_ (+O>+-=\'_LJ^&-
M2\/RK#-)XKMXF+Q)*-IL[L])%8=0.<9K^4;_ (7G\3?^?Z'_ , [;_XU7]2W
M_!P)_P FC^%?^QOMO_2*\K^0ZOTCAG_<5ZLZ:62Y?B8^UQ.&A.7>4(M_>U<]
M;_X7G\3?^?Z'_P  [;_XU1_PO/XF_P#/]#_X!VW_ ,:KR2BOH+(T_P!6LH_Z
M J7_ (+A_D>M_P#"\_B;_P _T/\ X!VW_P :H_X7G\3?^?Z'_P  [;_XU7DE
M%%D'^K64?] 5+_P7#_(];_X7G\3?^?Z'_P  [;_XU1_PO/XF_P#/]#_X!VW_
M ,:KR2BBR#_5K*/^@*E_X+A_D>M_\+S^)O\ S_0_^ =M_P#&J/\ A>?Q-_Y_
MH?\ P#MO_C5>24460?ZM91_T!4O_  7#_(];_P"%Y_$W_G^A_P# .V_^-4?\
M+S^)O_/]#_X!VW_QJO)**+(/]6LH_P"@*E_X+A_D>M_\+S^)O_/]#_X!VW_Q
MJO[Z?V2+VYU+]E/X9:C>,&FN/">BR.0 H+/9Q$G   Y/0#%?YW=?Z'7['7_)
MHWPK_P"Q0T/_ -(H:^1XM_A4O5_D8ULJP6$2EA:$(-[\L5&_K9(^CJ***^%,
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH *^6/VY?^3,/BQ_V*.L_P#I
M))7U/7RQ^W+_ ,F8?%C_ +%'6?\ TDDK?"_QH>J_,N'Q(_SWJ***_83Z4***
M* "BBB@ HHHH **** "BBB@#^PG_ (($?\F8Z[_V-][_ .DEE7[?U^('_! C
M_DS'7?\ L;[W_P!)+*OV_K\JSG_?:OJ?/XK^+(****\PYPHHHH **** "BBB
M@ HHHH **** "BBB@#__U_[^**** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *_,']L[_
M (*#ZY^RK\5;/X<Z;X8@UF.ZTR+4#/+<M"09)98]NT1MP/+SG/>OT^K^:W_@
ML#_R<]I/_8MVO_I3=5[?#^$I8C%JG6C>-G_6A\=QSF>)P&5O$82?+/FBKV3T
M?JFCUS_A\_XL_P"A"M/_  /?_P",T?\ #Y_Q9_T(5I_X'O\ _&:_$VBON_\
M5W+O^?7XR_S/Q?\ U\S[_H*?_@,/_D3]LO\ A\_XL_Z$*T_\#W_^,T?\/G_%
MG_0A6G_@>_\ \9K\3:*/]7<N_P"?7XR_S#_7S/O^@I_^ P_^1/VR_P"'S_BS
M_H0K3_P/?_XS1_P^?\6?]"%:?^![_P#QFOQ-HH_U=R[_ )]?C+_,/]?,^_Z"
MG_X##_Y$_;+_ (?/^+/^A"M/_ ]__C-'_#Y_Q9_T(5I_X'O_ /&:_$VBC_5W
M+O\ GU^,O\P_U\S[_H*?_@,/_D3]LO\ A\_XL_Z$*T_\#W_^,T?\/G_%G_0A
M6G_@>_\ \9K\3:*/]7<N_P"?7XR_S#_7S/O^@I_^ P_^1/VR_P"'S_BS_H0K
M3_P/?_XS7H?PC_X*S^)OB9\5/#?PYN/!5K:1Z]J=II[3K>NYC%S*L98*8ADK
MNSC(S7X%5[[^RG_R<[\._P#L9-+_ /2F.L<1D& C2G*-+5)]7V]3IP/'&>5,
M32A/$MIR2?NQV;_PG]E=%%%?EY_2 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% 'X4?\' G_ ":/X5_[&^V_](KROY#J_KQ_X.!/^31_"O\ V-]M
M_P"D5Y7\AU?I'#/^XKU9[F!_A(****^@.P**** "BBB@ HHHH **** "O]#K
M]CK_ )-&^%?_ &*&A_\ I%#7^>+7^AU^QU_R:-\*_P#L4-#_ /2*&OD>+?X5
M+U?Y'G9C\,3Z.HHHKX4\@**** "BBB@ HHHH **** "BBB@ HHHH **** "O
MES]M^&:X_8U^*UO;H9)'\):PJJHR23:R8  ZFOJ.O%_VCO\ DW[QO_V M0_]
M$/4SQ'L(NO:_+K;O;4.;E][L?YX'_")>*_\ H%W?_?E__B:/^$2\5_\ 0+N_
M^_+_ /Q-?M?17A_\1WE_T+__ "K_ /<Q?ZR/_GU^/_ /Q0_X1+Q7_P! N[_[
M\O\ _$T?\(EXK_Z!=W_WY?\ ^)K]KZ*/^([R_P"A?_Y5_P#N8?ZR/_GU^/\
MP#\4/^$2\5_] N[_ ._+_P#Q-'_")>*_^@7=_P#?E_\ XFOVOHH_XCO+_H7_
M /E7_P"YA_K(_P#GU^/_  #\4/\ A$O%?_0+N_\ OR__ ,31_P (EXK_ .@7
M=_\ ?E__ (FOVOHH_P"([R_Z%_\ Y5_^YA_K(_\ GU^/_ /Q0_X1+Q7_ - N
M[_[\O_\ $T?\(EXK_P"@7=_]^7_^)K]KZ*/^([R_Z%__ )5_^YA_K(_^?7X_
M\ _%#_A$O%?_ $"[O_OR_P#\31_PB7BO_H%W?_?E_P#XFOVOHH_XCO+_ *%_
M_E7_ .YA_K(_^?7X_P# /U%_X(*Z=J&F?L;:Y;ZE!);R'Q=>L%E4H<&TL^<$
M#BOVSK\ZO^"8_P#R;_J7_8=N/_1%O7Z*U[%#-O[3IQQ[AR^TUM>]OG97^X?M
M_;?O;6N%%%%; %%%% !1110 4444 %%%% !1110 4444 ?_0_OXHHHH A^T6
MYN#:"1?-"ARF1NVDXSCKC(ZU-7XRIXS^'_AS]LWQCI?C#QU%?S^((=5BGU_2
MO$DT%WX4TZRC5C::CITI:RM((WWBVO,*YEDSM#.7/EOA?XY>"O%_[.OP0D^)
MOQ,O+3P;/H.OIK.MV>OSVTSZ]916[65O<WT$RRF?RGN)4A>3=)(B$JQ"B@#]
M[**_ 3]BOXR_$75_$/PVU_XR^+=4_P"%G2ZCK*?$'0[W4)A#8:%:Z7-);SRZ
M>S^1;()ELG2<1(7>:3YFW,*]B^('Q=/B#]IV>\\/>,;\^(9/%G@E/"&D6FI3
M1VFH>%=1CM9-2N4L4<0W,31O?-).T;F,P)\RE5H _9FBBL;5-0U.RD1;"PDO
M PR2CHNT^GSL* -FBN2_MWQ%_P! 2?\ [_0__%T?V[XB_P"@)/\ ]_H?_BZ
M.MHKDO[=\1?] 2?_ +_0_P#Q=']N^(O^@)/_ -_H?_BZ .MHKDO[=\1?] 2?
M_O\ 0_\ Q=']N^(O^@)/_P!_H?\ XN@#K:*Y+^W?$7_0$G_[_0__ !=']N^(
MO^@)/_W^A_\ BZ .MHKDO[=\1?\ 0$G_ ._T/_Q=']N^(O\ H"3_ /?Z'_XN
M@#K:*Y+^W?$7_0$G_P"_T/\ \71_;OB+_H"3_P#?Z'_XN@#K:*Y+^W?$7_0$
MG_[_ $/_ ,71_;OB+_H"3_\ ?Z'_ .+H ZVBN2_MWQ%_T!)_^_T/_P 71_;O
MB+_H"3_]_H?_ (N@#K:*Y+^W?$7_ $!)_P#O]#_\71_;OB+_ * D_P#W^A_^
M+H ZVBN2_MWQ%_T!)_\ O]#_ /%T?V[XB_Z D_\ W^A_^+H ZVBN2_MWQ%_T
M!)_^_P!#_P#%T?V[XB_Z D__ '^A_P#BZ .MHKDO[=\1?] 2?_O]#_\ %T?V
M[XB_Z D__?Z'_P"+H ZVBN2_MWQ%_P! 2?\ [_0__%T?V[XB_P"@)/\ ]_H?
M_BZ .MHKDO[=\1?] 2?_ +_0_P#Q=']N^(O^@)/_ -_H?_BZ .MHKDO[=\1?
M] 2?_O\ 0_\ Q=']N^(O^@)/_P!_H?\ XN@#K:*Y+^W?$7_0$G_[_0__ !='
M]N^(O^@)/_W^A_\ BZ .MHKDO[=\1?\ 0$G_ ._T/_Q=']N^(O\ H"3_ /?Z
M'_XN@#K:*Y+^W?$7_0$G_P"_T/\ \71_;OB+_H"3_P#?Z'_XN@#K:*Y+^W?$
M7_0$G_[_ $/_ ,71_;OB+_H"3_\ ?Z'_ .+H ZVBN2_MWQ%_T!)_^_T/_P 7
M1_;OB+_H"3_]_H?_ (N@#K:*Y+^W?$7_ $!)_P#O]#_\71_;OB+_ * D_P#W
M^A_^+H ZVBN2_MWQ%_T!)_\ O]#_ /%T?V[XB_Z D_\ W^A_^+H ZVBN2_MW
MQ%_T!)_^_P!#_P#%T?V[XB_Z D__ '^A_P#BZ .MHKDO[=\1?] 2?_O]#_\
M%T?V[XB_Z D__?Z'_P"+H ZVBN2_MWQ%_P! 2?\ [_0__%T?V[XB_P"@)/\
M]_H?_BZ .MHKDO[=\1?] 2?_ +_0_P#Q=']N^(O^@)/_ -_H?_BZ .MHKDO[
M=\1?] 2?_O\ 0_\ Q=']N^(O^@)/_P!_H?\ XN@#K:*Y+^W?$7_0$G_[_0__
M !=']N^(O^@)/_W^A_\ BZ .MHKDO[=\1?\ 0$G_ ._T/_Q=']N^(O\ H"3_
M /?Z'_XN@#K:*Y+^W?$7_0$G_P"_T/\ \71_;OB+_H"3_P#?Z'_XN@#K:*Y+
M^W?$7_0$G_[_ $/_ ,71_;OB+_H"3_\ ?Z'_ .+H ZVBN2_MWQ%_T!)_^_T/
M_P 71_;OB+_H"3_]_H?_ (N@#K:*Y+^W?$7_ $!)_P#O]#_\71_;OB+_ * D
M_P#W^A_^+H ZVBN2_MWQ%_T!)_\ O]#_ /%T?V[XB_Z D_\ W^A_^+H ZVBN
M2_MWQ%_T!)_^_P!#_P#%T?V[XB_Z D__ '^A_P#BZ .MK^:W_@L#_P G/:3_
M -BW:_\ I3=5_1+_ &[XB_Z D_\ W^A_^+K^3?\ X+G^._'.E_M>Z);Z?=WV
MC(?"EFQ@BN2H)^U7GS8B;;DXQZ\5]%PN[8Y/R9X7$7#T\ZP;P-.HH-M.[5]C
MY,HKX6_X69\2/^A@U+_P+E_^*H_X69\2/^A@U+_P+E_^*K])]H^Q\!_Q!7%?
M]!D?_ 7_ )GW317PM_PLSXD?]#!J7_@7+_\ %4?\+,^)'_0P:E_X%R__ !5'
MM'V#_B"N*_Z#(_\ @+_S/NFBOA;_ (69\2/^A@U+_P "Y?\ XJC_ (69\2/^
MA@U+_P "Y?\ XJCVC[!_Q!7%?]!D?_ 7_F?=-%?"W_"S/B1_T,&I?^!<O_Q5
M'_"S/B1_T,&I?^!<O_Q5'M'V#_B"N*_Z#(_^ O\ S/NFBOA;_A9GQ(_Z&#4O
M_ N7_P"*H_X69\2/^A@U+_P+E_\ BJ/:/L'_ !!7%?\ 09'_ ,!?^9]TU[[^
MRG_R<[\._P#L9-+_ /2F.OR9_P"%F?$C_H8-2_\  N7_ .*KZ6_8Q^(WQ#N?
MVO/A=;SZQJ-VC^+-'5H&NG(D!NXLJ0S;<'ISQZUABJC]C/3H_P C;#^#F*HU
M85GBXOE:?POH[]S^_NBN2_MWQ%_T!)_^_P!#_P#%T?V[XB_Z D__ '^A_P#B
MZ_&S]6.MHKDO[=\1?] 2?_O]#_\ %T?V[XB_Z D__?Z'_P"+H ZVBN2_MWQ%
M_P! 2?\ [_0__%T?V[XB_P"@)/\ ]_H?_BZ .MHKDO[=\1?] 2?_ +_0_P#Q
M=']N^(O^@)/_ -_H?_BZ .MHKDO[=\1?] 2?_O\ 0_\ Q=']N^(O^@)/_P!_
MH?\ XN@#K:*Y+^W?$7_0$G_[_0__ !=']N^(O^@)/_W^A_\ BZ .MHKDO[=\
M1?\ 0$G_ ._T/_Q=']N^(O\ H"3_ /?Z'_XN@#K:*Y+^W?$7_0$G_P"_T/\
M\71_;OB+_H"3_P#?Z'_XN@#K:*Y+^W?$7_0$G_[_ $/_ ,71_;OB+_H"3_\
M?Z'_ .+H _%7_@X$_P"31_"O_8WVW_I%>5_(=7]:O_!?'4M5O/V3O"\=]ITE
MH@\6VQ#O)&P)^QWG&$8FOY*J_2.&?]Q7JSW,#_"04445] =@4444 %%%% !1
M110 4444 %?Z'7['7_)HWPK_ .Q0T/\ ](H:_P \6O\ 02_9!UG7HOV3/A?'
M%H\TB+X1T0*XEB 8"SBP<%P>?>OD>+?X5+U?Y'G9C\,3ZVHKDO[=\1?] 2?_
M +_0_P#Q=']N^(O^@)/_ -_H?_BZ^%/(.MHKDO[=\1?] 2?_ +_0_P#Q=']N
M^(O^@)/_ -_H?_BZ .MHKDO[=\1?] 2?_O\ 0_\ Q=']N^(O^@)/_P!_H?\
MXN@#K:*Y+^W?$7_0$G_[_0__ !=']N^(O^@)/_W^A_\ BZ .MHKDO[=\1?\
M0$G_ ._T/_Q=']N^(O\ H"3_ /?Z'_XN@#K:*Y+^W?$7_0$G_P"_T/\ \71_
M;OB+_H"3_P#?Z'_XN@#K:*Y+^W?$7_0$G_[_ $/_ ,71_;OB+_H"3_\ ?Z'_
M .+H ZVBN2_MWQ%_T!)_^_T/_P 71_;OB+_H"3_]_H?_ (N@#K:\7_:._P"3
M?O&__8"U#_T0]=W_ &[XB_Z D_\ W^A_^+KQW]H;6==E^ WC.*;2)HD;1+\,
MYEB(4&%^<!R>/:N3'_[K5_PR_)D5/A9_,M1117\U'S04444 %%%% !1110 4
M444 %%%% '[Q_P#!,?\ Y-_U+_L.W'_HBWK]%:_,W_@FSJ6K6?P&U&*QTZ2[
M0ZW<'>DD:@'R8.,.P-?H+_;OB+_H"3_]_H?_ (NOZ#X8_P"15A_\)]#A?X43
MK:*Y+^W?$7_0$G_[_0__ !=']N^(O^@)/_W^A_\ BZ]TW.MHKDO[=\1?] 2?
M_O\ 0_\ Q=']N^(O^@)/_P!_H?\ XN@#K:*Y+^W?$7_0$G_[_0__ !=']N^(
MO^@)/_W^A_\ BZ .MHKDO[=\1?\ 0$G_ ._T/_Q=7M.U35[NY$-YIDMJF"?,
M>2-AGTPK$_I0!OT444 %%%% !1110!__T?[^**** ,6Q\.:#IFL7WB#3[2*&
M^U/ROM<ZKAYO)7;'N/?:O ]*V656&&&1P>?:EHH ;M7<6P,D8)]A1M7<&P,@
M8!]C3J* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "OX]_P#@OQ_R>=H/_8H67_I7>U_817\>_P#P7X_Y
M/.T'_L4++_TKO:^AX8_WU>C.W ?Q3\/Z***_1SVPHHHH **** "BBB@ HHHH
M *^H_P!A_P#Y/-^$W_8X:)_Z615\N5]1_L/_ /)YOPF_['#1/_2R*L,5_!GZ
M/\B9_"S_ $):***_'CYD**** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@#\8?\ @N+\//$?Q*_9=\-:+X9$9GA\4V\[>:VP;!:7:]?7+"OY:O\ AE#X
MM?W+3_O]_P#6K^P__@J!_P D,T7_ +#L/_I/<5^%=?)YOXEYIDF(>!PD*;@D
MG[RDWKZ32_ PJ9O6P[]G!*WG_P .?F)_PRA\6O[EI_W^_P#K4?\ #*'Q:_N6
MG_?[_P"M7Z=T5YG_ !&S/O\ GU1_\!G_ /+#/_6'$_RQ^Y_YGYB?\,H?%K^Y
M:?\ ?[_ZU'_#*'Q:_N6G_?[_ .M7Z=T4?\1LS[_GU1_\!G_\L#_6'$_RQ^Y_
MYGYB?\,H?%K^Y:?]_O\ ZU'_  RA\6O[EI_W^_\ K5^G=%'_ !&S/O\ GU1_
M\!G_ /+ _P!8<3_+'[G_ )GYB?\ #*'Q:_N6G_?[_P"M1_PRA\6O[EI_W^_^
MM7Z=T4?\1LS[_GU1_P# 9_\ RP/]8<3_ "Q^Y_YGYB?\,H?%K^Y:?]_O_K4?
M\,H?%K^Y:?\ ?[_ZU?IW11_Q&S/O^?5'_P !G_\ + _UAQ/\L?N?^9^8G_#*
M'Q:_N6G_ '^_^M7]VW[*6EW6A_LN?#71;['GV?A71H)-IR-\=I$IP>XR*_F$
MK^I_X!_\D+\%_P#8!T[_ -)TKV\CX]S'B"<Z.-A!*"NN526^FMY2-:695<4^
M6HEIV_X<]9HHHKZ0V"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ KQ?\
M:._Y-^\;_P#8"U#_ -$/7M%>+_M'?\F_>-_^P%J'_HAZY,?_ +K5_P ,OR9,
M_A9_+?1117\U'S(4444 %%%% !1110 4444 %%%% '[Q_P#!,?\ Y-_U+_L.
MW'_HBWK]%:_.K_@F/_R;_J7_ &';C_T1;U^BM?T'PQ_R*L/_ (3Z'"_PHA11
M17NFX4444 %%%% !1110 4444 %%%% !1110!__2_OXHHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ K^/?_ (+\?\GG:#_V*%E_Z5WM?V$5_'O_ ,%^/^3SM!_[%"R_
M]*[VOH>&/]]7HSMP'\4_#^BBBOT<]L**** "BBB@ HHHH **** "OJ/]A_\
MY/-^$W_8X:)_Z615\N5]1_L/_P#)YOPF_P"QPT3_ -+(JPQ7\&?H_P B9_"S
M_0EHHHK\>/F0HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** /S;_X*
M@?\ )#-%_P"P[#_Z3W%?A77[J?\ !4#_ )(9HO\ V'8?_2>XK\*Z_$>._P#D
M:R_PQ_(\3'_Q0HHHKXTX@HHHH **** "BBB@ HHHH *_J?\ @'_R0OP7_P!@
M'3O_ $G2OY8*_J?^ ?\ R0OP7_V =._])TK]'\.?]XK_ .%?F>EEWQ2/6:**
M*_63U@HHHH **** "BBB@ HHHH **** "BBB@ HHHH *\7_:._Y-^\;_ /8"
MU#_T0]>T5XO^T=_R;]XW_P"P%J'_ *(>N3'_ .ZU?\,OR9,_A9_+?1117\U'
MS(4444 %%%% !1110 4444 %%%% '[Q_\$Q_^3?]2_[#MQ_Z(MZ_16OSJ_X)
MC_\ )O\ J7_8=N/_ $1;U^BM?T'PQ_R*L/\ X3Z'"_PHA1117NFX4444 %%%
M% !1110 4444 %%%% !1110!_]/^_BBBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "OX
M]_\ @OQ_R>=H/_8H67_I7>U_817\]'_!5OX<^!O%O[1VEZEXETR"]N$\/6T8
M>5<D(+BY('TR337$>'R/_;L5&4H+2T;7U]6E^)<,5'#OVDTVO(_E.HK]??\
MA2/PE_Z %I_WQ1_PI'X2_P#0 M/^^*K_ (C?DG_/BM]T/_DS;_6+#_RR_#_,
M_(*BOU]_X4C\)?\ H 6G_?%'_"D?A+_T +3_ +XH_P"(WY)_SXK?=#_Y,/\
M6+#_ ,LOP_S/R"HK]??^%(_"7_H 6G_?%'_"D?A+_P! "T_[XH_XC?DG_/BM
M]T/_ ),/]8L/_++\/\S\@J*_7W_A2/PE_P"@!:?]\4?\*1^$O_0 M/\ OBC_
M (C?DG_/BM]T/_DP_P!8L/\ RR_#_,_(*BOU]_X4C\)?^@!:?]\4?\*1^$O_
M $ +3_OBC_B-^2?\^*WW0_\ DP_UBP_\LOP_S/R"KZC_ &'_ /D\WX3?]CAH
MG_I9%7VU_P *1^$O_0 M/^^*]P_9E^$'PQTO]HWP%J6GZ);0W%OXATV2-U7!
M5UN$((]P:7_$:,FK_N8T*MY:*ZAUT_G$\_H2]U1EKZ?YG];=%%%2<X4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% 'YM_\%0/^2&:+_V'8?\ TGN*
M_"NOW4_X*@?\D,T7_L.P_P#I/<5^%=?B/'?_ "-9?X8_D>)C_P"*%%%%?&G$
M%%%% !1110 4444 %%%% !7]3_P#_P"2%^"_^P#IW_I.E?RP5_4_\ _^2%^"
M_P#L Z=_Z3I7Z/X<_P"\5_\ "OS/2R[XI'K-%%%?K)ZP4444 %%%% !1110
M4444 %%%% !1110 4444 %>+_M'?\F_>-_\ L!:A_P"B'KVBO%_VCO\ DW[Q
MO_V M0_]$/7)C_\ =:O^&7Y,F?PL_EOHHHK^:CYD**** "BBB@ HHHH ****
M "BBB@#]X_\ @F/_ ,F_ZE_V';C_ -$6]?HK7YU?\$Q_^3?]2_[#MQ_Z(MZ_
M16OZ#X8_Y%6'_P )]#A?X40HHHKW3<**** "BBB@ HHHH **** "BBB@ HHH
MH __U/[^**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **\*U7]IO]G[0]4N=%U?Q?IEO=V<KP3Q/. T<D9*LI'8
M@@@U0_X:O_9M_P"AUTK_ +_K_C6ZPM9ZJ#^YG&\QPB=G6C_X$O\ ,^A**^>_
M^&K_ -FW_H==*_[_ *_XT?\ #5_[-O\ T.NE?]_U_P :?U6O_P ^W]S%_:6$
M_P"?T?\ P)?YGT)17SW_ ,-7_LV_]#KI7_?]?\:/^&K_ -FW_H==*_[_ *_X
MT?5:_P#S[?W,/[2PG_/Z/_@2_P SZ$HKY[_X:O\ V;?^AUTK_O\ K_C1_P -
M7_LV_P#0ZZ5_W_7_ !H^JU_^?;^YA_:6$_Y_1_\  E_F?0E%?/?_  U?^S;_
M -#KI7_?]?\ &C_AJ_\ 9M_Z'72O^_Z_XT?5:_\ S[?W,/[2PG_/Z/\ X$O\
MSZ$HKY[_ .&K_P!FW_H==*_[_K_C1_PU?^S;_P!#KI7_ '_7_&CZK7_Y]O[F
M']I83_G]'_P)?YGT)17EW@?XV?"7XE:I)HG@+Q#9:M=PQ&=XK:4.ZQ@A2Q [
M L!^->HUC.$H.TE9G32K0J1YJ<DUW3N%%%%2:!1110 4444 %%%% !1110 4
M444 %%%% !1110 5^#O_  4Y_P"3@--_[ 5O_P"C[BOWBK\'?^"G/_)P&F_]
M@*W_ /1]Q7QO'?\ R*G_ (HG'C_X1^=-%%%?B)X84444 %%%% !1110 4444
M %>R_LZ?\E_\$?\ 8>T[_P!'I7C5>R_LZ?\ )?\ P1_V'M._]'I77@/]YI?X
MH_F7#XD?U)T445_2I]*%%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0!^;?_!4#_DAFB_]AV'_ -)[BOPKK]U/^"H'_)#-%_[#L/\ Z3W%?A77XCQW
M_P C67^&/Y'B8_\ BA1117QIQ!1110 4444 %%%% !1110 5_4_\ _\ DA?@
MO_L Z=_Z3I7\L%?U/_ /_DA?@O\ [ .G?^DZ5^C^'/\ O%?_  K\STLN^*1Z
MS1117ZR>L%%%% !1110 4444 %%%% !1110 4444 %%%% !7B_[1W_)OWC?_
M + 6H?\ HAZ]HKQ?]H[_ )-^\;_]@+4/_1#UR8__ '6K_AE^3)G\+/Y;Z***
M_FH^9"BBB@ HHHH **** "BBB@ HHHH _>/_ ()C_P#)O^I?]AVX_P#1%O7Z
M*U^=7_!,?_DW_4O^P[<?^B+>OT5K^@^&/^15A_\ "?0X7^%$****]TW"BBB@
M HHHH **** "BBB@ HHHH **** /_]7^_BBBB@ HKFO&7C#PS\/?".J>/?&E
MY'IVCZ+:37U[=2YV0V]NA>1VP"<*H)X!/I7S/I'[:GPNOK33!JVC^*M.U+6)
M]2CM-+D\-:J]\T&F2PH]RT"6C2) RW-LZR.H7]\%)WJZJ ?7M%>!R_M-_!F'
MXMCX)2:E.-=-V-.S]BN39"_:V^V"T-[Y7V47)MOWPA,OF;,''(HE_:;^#,/Q
M;'P2DU*<:Z;L:=G[%<FR%^UM]L%H;WROLHN3;?OA"9?,V8..10![Y1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% '^>/^V1_R=Y\5?\
ML<-<_P#2V:OF^OI#]LC_ ).\^*O_ &.&N?\ I;-7S?7[%A_X4/1?D?30^%!1
M116Q04444 %%%% !1110 4444 ?NI_P;^?\ )WGBG_L3[K_TMLJ_KTK^0O\
MX-_/^3O/%/\ V)]U_P"EME7]>E?F_$W^_/T1XF/_ (H4445\^<04444 %%%%
M !1110 4444 %%%% !1110 4444 %?@[_P %.?\ DX#3?^P%;_\ H^XK]XJ_
M!W_@IS_R<!IO_8"M_P#T?<5\;QW_ ,BI_P"*)QX_^$?G31117XB>&%%%% !1
M110 4444 %%%% !7LO[.G_)?_!'_ &'M._\ 1Z5XU7LO[.G_ "7_ ,$?]A[3
MO_1Z5UX#_>:7^*/YEP^)']2=%%%?TJ?2A1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 ?FW_P5 _Y(9HO_8=A_P#2>XK\*Z_=3_@J!_R0S1?^P[#_
M .D]Q7X5U^(\=_\ (UE_AC^1XF/_ (H4445\:<04444 %%%% !1110 4444
M%?U/_ /_ )(7X+_[ .G?^DZ5_+!7]3_P#_Y(7X+_ .P#IW_I.E?H_AS_ +Q7
M_P *_,]++OBD>LT445^LGK!1110 4444 %%%% !1110 4444 %%%% !1110
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
MP?\ @+_]MH_LWQE_T%8/_ 7_ .VUUM% ')?V;XR_Z"L'_@+_ /;:/[-\9?\
M05@_\!?_ +;76T4 <E_9OC+_ *"L'_@+_P#;:/[-\9?]!6#_ ,!?_MM=;10!
MR7]F^,O^@K!_X"__ &VC^S?&7_05@_\  7_[;76T4 <E_9OC+_H*P?\ @+_]
MMH_LWQE_T%8/_ 7_ .VUUM% ')?V;XR_Z"L'_@+_ /;:/[-\9?\ 05@_\!?_
M +;76T4 <E_9OC+_ *"L'_@+_P#;:/[-\9?]!6#_ ,!?_MM=;10!R7]F^,O^
M@K!_X"__ &VC^S?&7_05@_\  7_[;76T4 ?E_P#\%+;37[?X)Z.^JWL=S&=<
MB 5(?+(/D3\YWM^6*_$>OW4_X*@?\D,T7_L.P_\ I/<5^%=?B''?_(UE_AC^
M1X>/_BA1117QQQA1110 4444 %%%% !1110 5_3O\"]/\6/\$O!SV^I0I&=#
MT\JIMMQ ^SI@9\P9QZX%?S$5_4_\ _\ DA?@O_L Z=_Z3I7Z/X<_[Q7_ ,*_
M,]++OBD=9_9OC+_H*P?^ O\ ]MH_LWQE_P!!6#_P%_\ MM=;17ZR>L<E_9OC
M+_H*P?\ @+_]MH_LWQE_T%8/_ 7_ .VUUM% ')?V;XR_Z"L'_@+_ /;:/[-\
M9?\ 05@_\!?_ +;76T4 <E_9OC+_ *"L'_@+_P#;:/[-\9?]!6#_ ,!?_MM=
M;10!R7]F^,O^@K!_X"__ &VC^S?&7_05@_\  7_[;76T4 <E_9OC+_H*P?\
M@+_]MH_LWQE_T%8/_ 7_ .VUUM% ')?V;XR_Z"L'_@+_ /;:/[-\9?\ 05@_
M\!?_ +;76T4 <E_9OC+_ *"L'_@+_P#;:/[-\9?]!6#_ ,!?_MM=;10!R7]F
M^,O^@K!_X"__ &VO'?VAM/\ %:? ;QF]SJ4,D8T2_+*+;:2/)?(SYAQ]<&OH
M^O%_VCO^3?O&_P#V M0_]$/7)C_]UJ_X9?DR*GPL_EOHHHK^:CYH**** "BB
MB@ HHHH **** "BBB@#]QO\ @FS9^()_@-J+Z7>QV\?]MW *O!YASY,'.=Z_
MEBOT%_LWQE_T%8/_  %_^VU\+_\ !,?_ )-_U+_L.W'_ *(MZ_16OZ#X8_Y%
M6'_PGT.%_A1.2_LWQE_T%8/_  %_^VT?V;XR_P"@K!_X"_\ VVNMHKW3<Y+^
MS?&7_05@_P# 7_[;1_9OC+_H*P?^ O\ ]MKK:* .2_LWQE_T%8/_  %_^VT?
MV;XR_P"@K!_X"_\ VVNMHH Y+^S?&7_05@_\!?\ [;5[3K/Q%!<B34KZ*XBP
M?D2#RSGZ[V_E6_10 4444 %%%% !1110!__7_OXHHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@#^6#X^?\ET\:?]
MA[4?_2AZ\FKUGX^?\ET\:?\ 8>U'_P!*'KR:OYIQO^\5/\3_ #/FI_$PHHHK
ME("BBB@ HHHH **** "BBB@#](O^"7__ "7;6?\ L S?^E%O7[K5^%/_  2_
M_P"2[:S_ -@&;_THMZ_=:OV_@3_D51_Q2_,]S ?P@HHHK[$[ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH *_!W_@IS_R<!IO_8"M_P#T?<5^\5?@[_P4
MY_Y. TW_ + 5O_Z/N*^-X[_Y%3_Q1./'_P (_.FBBBOQ$\,**** "BBB@ HH
MHH **** "O9?V=/^2_\ @C_L/:=_Z/2O&J]E_9T_Y+_X(_[#VG?^CTKKP'^\
MTO\ %'\RX?$C^I.BBBOZ5/I0HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** /S;_X*@?\ )#-%_P"P[#_Z3W%?A77[J?\ !4#_ )(9HO\ V'8?_2>X
MK\*Z_$>._P#D:R_PQ_(\3'_Q0HHHKXTX@HHHH **** "BBB@ HHHH *_J?\
M@'_R0OP7_P!@'3O_ $G2OY8*_J?^ ?\ R0OP7_V =._])TK]'\.?]XK_ .%?
MF>EEWQ2/6:***_63U@HHHH **** "BBB@ HHHH **** "BBB@ HHHH *\7_:
M._Y-^\;_ /8"U#_T0]>T5XO^T=_R;]XW_P"P%J'_ *(>N3'_ .ZU?\,OR9,_
MA9_+?1117\U'S(4444 %%%% !1110 4444 %%%% '[Q_\$Q_^3?]2_[#MQ_Z
M(MZ_16OSJ_X)C_\ )O\ J7_8=N/_ $1;U^BM?T'PQ_R*L/\ X3Z'"_PHA111
M7NFX4444 %%%% !1110 4444 %%%% !1110!_]#^_BBBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** /Y8/CY_R73Q
MI_V'M1_]*'KR:O6?CY_R73QI_P!A[4?_ $H>O)J_FG&_[Q4_Q/\ ,^:G\3"B
MBBN4@**** "BBB@ HHHH **** /TB_X)?_\ )=M9_P"P#-_Z46]?NM7X4_\
M!+__ )+MK/\ V 9O_2BWK]UJ_;^!/^15'_%+\SW,!_""BBBOL3L"BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ K\'?^"G/_)P&F_]@*W_ /1]Q7[Q5^#O
M_!3G_DX#3?\ L!6__H^XKXWCO_D5/_%$X\?_  C\Z:***_$3PPHHHH ****
M"BBB@ HHHH *]E_9T_Y+_P""/^P]IW_H]*\:KV7]G3_DO_@C_L/:=_Z/2NO
M?[S2_P 4?S+A\2/ZDZ***_I4^E"BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH _-O_@J!_P D,T7_ +#L/_I/<5^%=?NI_P %0/\ DAFB_P#8=A_]
M)[BOPKK\1X[_ .1K+_#'\CQ,?_%"BBBOC3B"BBB@ HHHH **** "BBB@ K^I
M_P" ?_)"_!?_ & =._\ 2=*_E@K^I_X!_P#)"_!?_8!T[_TG2OT?PY_WBO\
MX5^9Z67?%(]9HHHK]9/6"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ KQ
M?]H[_DW[QO\ ]@+4/_1#U[17B_[1W_)OWC?_ + 6H?\ HAZY,?\ [K5_PR_)
MDS^%G\M]%%%?S4?,A1110 4444 %%%% !1110 4444 ?O'_P3'_Y-_U+_L.W
M'_HBWK]%:_.K_@F/_P F_P"I?]AVX_\ 1%O7Z*U_0?#'_(JP_P#A/H<+_"B%
M%%%>Z;A1110 4444 %%%% !1110 4444 %%%% '_T?[^**** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH _E@^/G_)
M=/&G_8>U'_TH>O)J]9^/G_)=/&G_ &'M1_\ 2AZ\FK^:<;_O%3_$_P SYJ?Q
M,****Y2 HHHH **** "BBB@ HHHH _2+_@E__P EVUG_ + ,W_I1;U^ZU?A3
M_P $O_\ DNVL_P#8!F_]*+>OW6K]OX$_Y%4?\4OS/<P'\(****^Q.P**** "
MBBB@ HHHH **** "BBB@ HHHH **** "OP=_X*<_\G :;_V K?\ ]'W%?O%7
MX._\%.?^3@--_P"P%;_^C[BOC>._^14_\43CQ_\ "/SIHHHK\1/#"BBB@ HH
MHH **** "BBB@ KV7]G3_DO_ ((_[#VG?^CTKQJO9?V=/^2_^"/^P]IW_H]*
MZ\!_O-+_ !1_,N'Q(_J3HHHK^E3Z4**** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@#\V_^"H'_ "0S1?\ L.P_^D]Q7X5U^ZG_  5 _P"2&:+_ -AV
M'_TGN*_"NOQ'CO\ Y&LO\,?R/$Q_\4****^-.(**** "BBB@ HHHH **** "
MOZG_ (!_\D+\%_\ 8!T[_P!)TK^6"OZG_@'_ ,D+\%_]@'3O_2=*_1_#G_>*
M_P#A7YGI9=\4CUFBBBOUD]8**** "BBB@ HHHH **** "BBB@ HHHH ****
M"O%_VCO^3?O&_P#V M0_]$/7M%>+_M'?\F_>-_\ L!:A_P"B'KDQ_P#NM7_#
M+\F3/X6?RWT445_-1\R%%%% !1110 4444 %%%% !1110!^\?_!,?_DW_4O^
MP[<?^B+>OT5K\ZO^"8__ ";_ *E_V';C_P!$6]?HK7]!\,?\BK#_ .$^APO\
M*(4445[IN%%%% !1110 4444 %%%% !1110 4444 ?_2_OXHHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BO,/C9KFJ^&?@WXK\1Z%,;>]L-'O;B
MWE4 E)8H796 ((X(!Y%?S\?\-I_M0_\ 0WW/_?N'_P"-U\WGG$^'RNI"G6A)
MN2OI;]6CFKXJ-)I21_2M17\U/_#:?[4/_0WW/_?N'_XW1_PVG^U#_P!#?<_]
M^X?_ (W7B?\ $1,#_P ^I_='_P"2,/[1I]F?TK45_-3_ ,-I_M0_]#?<_P#?
MN'_XW1_PVG^U#_T-]S_W[A_^-T?\1$P/_/J?W1_^2#^T:?9G]*U%?S4_\-I_
MM0_]#?<_]^X?_C='_#:?[4/_ $-]S_W[A_\ C='_ !$3 _\ /J?W1_\ D@_M
M&GV9_2M17\U/_#:?[4/_ $-]S_W[A_\ C='_  VG^U#_ -#?<_\ ?N'_ .-T
M?\1$P/\ SZG]T?\ Y(/[1I]F?TK45_-3_P -I_M0_P#0WW/_ '[A_P#C='_#
M:?[4/_0WW/\ W[A_^-T?\1$P/_/J?W1_^2#^T:?9G]*U%?S4_P##:?[4/_0W
MW/\ W[A_^-U^O7[!'Q.\=_%?X-W_ (C^(6HOJ=[%K$UNDLBJI$2PPL%^0*."
MS'IWKU,GXOPN8XA8:E"2=F];6T]&S6CC(U)<J1]N4445]6=84444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% '\L'Q\_P"2Z>-/^P]J/_I0]>35ZS\?
M/^2Z>-/^P]J/_I0]>35_-.-_WBI_B?YGS4_B84445RD!1110 4444 %%%% !
M1110!^D7_!+_ /Y+MK/_ & 9O_2BWK]UJ_"G_@E__P EVUG_ + ,W_I1;U^Z
MU?M_ G_(JC_BE^9[F _A!1117V)V!1110 4444 %%%% !1110 4444 %%%%
M!1110 5^#O\ P4Y_Y. TW_L!6_\ Z/N*_>*OP=_X*<_\G :;_P!@*W_]'W%?
M&\=_\BI_XHG'C_X1^=-%%%?B)X84444 %%%% !1110 4444 %>R_LZ?\E_\
M!'_8>T[_ -'I7C5>R_LZ?\E_\$?]A[3O_1Z5UX#_ 'FE_BC^9</B1_4G1117
M]*GTH4444 %%%% !1110 4444 %%%% !1110 4444 %%%% 'YM_\%0/^2&:+
M_P!AV'_TGN*_"NOW4_X*@?\ )#-%_P"P[#_Z3W%?A77XCQW_ ,C67^&/Y'B8
M_P#BA1117QIQ!1110 4444 %%%% !1110 5_4_\  /\ Y(7X+_[ .G?^DZ5_
M+!7]3_P#_P"2%^"_^P#IW_I.E?H_AS_O%?\ PK\STLN^*1ZS1117ZR>L%%%%
M !1110 4444 %%%% !1110 4444 %%%% !7B_P"T=_R;]XW_ .P%J'_HAZ]H
MKQ?]H[_DW[QO_P!@+4/_ $0]<F/_ -UJ_P"&7Y,F?PL_EOHHHK^:CYD****
M"BBB@ HHHH **** "BBB@#]X_P#@F/\ \F_ZE_V';C_T1;U^BM?G5_P3'_Y-
M_P!2_P"P[<?^B+>OT5K^@^&/^15A_P#"?0X7^%$****]TW"BBB@ HHHH ***
M* "BBB@ HHHH **** /_T_[^**** "OC7]L7]HOQ5\ =&\.P>$X=)M9_$5^;
M4ZSXCO'T_1; 0@2E;FX2"?RWN #%#N54WG);*A'^RJ^>OVA_@OXL^-OA^T\+
M^'?&6H^$K*5Y+;5TL(K647^G7*[)H2+JWG".0,)(@5DRW7- 'C7@']L#Q-XQ
M^*6C^'+[PM:VOA?Q%K^K^%=.U6'4C/</JNB03S7&^W^SH@MV-I=)%()V8^4&
M* 2?+=\;_M;^(?"OQ?OO".G^%X;SPMH/B'0?"VKZJ]^8KN+4?$7D?9_)M1 R
MR11F[MA*S3QM^])53L^9_P -_P!A'X8?"?6;"Y\$:WKEMI.A27EUHFCM-!)9
MZ7?7]NUM/=0%K<SM*T;R8$TTL:M+(0GS<;EQ^QOX/O\ X@6_CS5/$NO72-=Z
M1J>I:=));?9-4U30T1+2]N<6PE$R^5$[+#)%$[Q(3'\N" ?7U%%8^I^'?#^M
M2++K%C;W;(,*9HED('H-P.* -BBN4_X0/P/_ - :Q_\  :/_ .)H_P"$#\#_
M /0&L?\ P&C_ /B: .KHKE/^$#\#_P#0&L?_  &C_P#B:/\ A _ _P#T!K'_
M ,!H_P#XF@#JZ*Y3_A _ _\ T!K'_P !H_\ XFC_ (0/P/\ ] :Q_P# :/\
M^)H ZNBN4_X0/P/_ - :Q_\  :/_ .)H_P"$#\#_ /0&L?\ P&C_ /B: .&_
M:*_Y(!XW_P"P#J/_ *(>OY:Z_K-_X0/P/_T!K'_P&C_^)H_X0/P/_P! :Q_\
M!H__ (FODN(^%O[5JPJ>VY.56^&_7U1R8G"^U:=['\F5%?UF_P#"!^!_^@-8
M_P#@-'_\31_P@?@?_H#6/_@-'_\ $U\Y_P 0V_ZBO_)/_MSF_LW^_P#A_P $
M_DRHK^LW_A _ _\ T!K'_P !H_\ XFC_ (0/P/\ ] :Q_P# :/\ ^)H_XAM_
MU%?^2?\ VX?V;_?_  _X)_)E17]9O_"!^!_^@-8_^ T?_P 31_P@?@?_ * U
MC_X#1_\ Q-'_ !#;_J*_\D_^W#^S?[_X?\$_DRHK^LW_ (0/P/\ ] :Q_P#
M:/\ ^)H_X0/P/_T!K'_P&C_^)H_XAM_U%?\ DG_VX?V;_?\ P_X)_)E17]9O
M_"!^!_\ H#6/_@-'_P#$T?\ "!^!_P#H#6/_ (#1_P#Q-'_$-O\ J*_\D_\
MMP_LW^_^'_!/Y,J_>#_@F+_R0#5/^P]<?^B+>ONW_A _ _\ T!K'_P !H_\
MXFC_ (0/P/\ ] :Q_P# :/\ ^)KV<AX-_LW%+$^WYM&K<MM_/F?Y&U#!^SGS
M<U_D=717*?\ "!^!_P#H#6/_ (#1_P#Q-'_"!^!_^@-8_P#@-'_\37VYW'5T
M5RG_  @?@?\ Z UC_P" T?\ \31_P@?@?_H#6/\ X#1__$T =717*?\ "!^!
M_P#H#6/_ (#1_P#Q-'_"!^!_^@-8_P#@-'_\30!U=%<I_P ('X'_ .@-8_\
M@-'_ /$T?\('X'_Z UC_ . T?_Q- '5T5RG_  @?@?\ Z UC_P" T?\ \31_
MP@?@?_H#6/\ X#1__$T =717*?\ "!^!_P#H#6/_ (#1_P#Q-'_"!^!_^@-8
M_P#@-'_\30!U=%<I_P ('X'_ .@-8_\ @-'_ /$T?\('X'_Z UC_ . T?_Q-
M '5T5RG_  @?@?\ Z UC_P" T?\ \31_P@?@?_H#6/\ X#1__$T =717*?\
M"!^!_P#H#6/_ (#1_P#Q-'_"!^!_^@-8_P#@-'_\30!_,7\?/^2Z>-/^P]J/
M_I0]>35_6;_P@?@?_H#6/_@-'_\ $T?\('X'_P"@-8_^ T?_ ,37YI7\._:5
M)5/K5KMOX.__ &\>9++KMOF_#_@G\F5%?UF_\('X'_Z UC_X#1__ !-'_"!^
M!_\ H#6/_@-'_P#$UE_Q#;_J*_\ )/\ [<7]F_W_ ,/^"?R945_6;_P@?@?_
M * UC_X#1_\ Q-'_  @?@?\ Z UC_P" T?\ \31_Q#;_ *BO_)/_ +</[-_O
M_A_P3^3*BOZS?^$#\#_] :Q_\!H__B:/^$#\#_\ 0&L?_ :/_P")H_XAM_U%
M?^2?_;A_9O\ ?_#_ ()_)E17]9O_  @?@?\ Z UC_P" T?\ \31_P@?@?_H#
M6/\ X#1__$T?\0V_ZBO_ "3_ .W#^S?[_P"'_!/Y,J*_K-_X0/P/_P! :Q_\
M!H__ (FC_A _ _\ T!K'_P !H_\ XFC_ (AM_P!17_DG_P!N']F_W_P_X)^*
MG_!+_P#Y+MK/_8!F_P#2BWK]UJY3_A _ _\ T!K'_P !H_\ XFC_ (0/P/\
M] :Q_P# :/\ ^)K[?(LH_LW"+"\_-9MWM;?RN_S.ZA1]G#EO<ZNBN4_X0/P/
M_P! :Q_\!H__ (FC_A _ _\ T!K'_P !H_\ XFO9-CJZ*Y3_ (0/P/\ ] :Q
M_P# :/\ ^)H_X0/P/_T!K'_P&C_^)H ZNBN4_P"$#\#_ /0&L?\ P&C_ /B:
M/^$#\#_] :Q_\!H__B: .KHKE/\ A _ _P#T!K'_ ,!H_P#XFC_A _ __0&L
M?_ :/_XF@#JZ*Y3_ (0/P/\ ] :Q_P# :/\ ^)H_X0/P/_T!K'_P&C_^)H Z
MNBN4_P"$#\#_ /0&L?\ P&C_ /B:/^$#\#_] :Q_\!H__B: .KHKE/\ A _
M_P#T!K'_ ,!H_P#XFC_A _ __0&L?_ :/_XF@#JZ*Y3_ (0/P/\ ] :Q_P#
M:/\ ^)H_X0/P/_T!K'_P&C_^)H ZNOP=_P""G/\ R<!IO_8"M_\ T?<5^V__
M  @?@?\ Z UC_P" T?\ \31_P@?@?_H#6/\ X#1__$UXV?91_:6%>&Y^75.]
MK[>5U^9C7H^TARWL?R945_6;_P ('X'_ .@-8_\ @-'_ /$T?\('X'_Z UC_
M . T?_Q-?$?\0V_ZBO\ R3_[<X?[-_O_ (?\$_DRHK^LW_A _ __ $!K'_P&
MC_\ B:/^$#\#_P#0&L?_  &C_P#B:/\ B&W_ %%?^2?_ &X?V;_?_#_@G\F5
M%?UF_P#"!^!_^@-8_P#@-'_\31_P@?@?_H#6/_@-'_\ $T?\0V_ZBO\ R3_[
M</[-_O\ X?\ !/Y,J*_K-_X0/P/_ - :Q_\  :/_ .)H_P"$#\#_ /0&L?\
MP&C_ /B:/^(;?]17_DG_ -N']F_W_P /^"?R945_6;_P@?@?_H#6/_@-'_\
M$T?\('X'_P"@-8_^ T?_ ,31_P 0V_ZBO_)/_MP_LW^_^'_!/Y,J]E_9T_Y+
M_P""/^P]IW_H]*_IH_X0/P/_ - :Q_\  :/_ .)H_P"$#\#_ /0&L?\ P&C_
M /B:UH>'?LZL:GUJ]FG\'9_XAQRZS3YOP_X)U=%<I_P@?@?_ * UC_X#1_\
MQ-'_  @?@?\ Z UC_P" T?\ \37Z6>F=717*?\('X'_Z UC_ . T?_Q-'_"!
M^!_^@-8_^ T?_P 30!U=%<I_P@?@?_H#6/\ X#1__$T?\('X'_Z UC_X#1__
M !- '5T5RG_"!^!_^@-8_P#@-'_\31_P@?@?_H#6/_@-'_\ $T =717*?\('
MX'_Z UC_ . T?_Q-'_"!^!_^@-8_^ T?_P 30!U=%<I_P@?@?_H#6/\ X#1_
M_$T?\('X'_Z UC_X#1__ !- '5T5RG_"!^!_^@-8_P#@-'_\31_P@?@?_H#6
M/_@-'_\ $T =717*?\('X'_Z UC_ . T?_Q-'_"!^!_^@-8_^ T?_P 30!U=
M%<I_P@?@?_H#6/\ X#1__$T?\('X'_Z UC_X#1__ !- 'P-_P5 _Y(9HO_8=
MA_\ 2>XK\*Z_K-_X0/P/_P! :Q_\!H__ (FC_A _ _\ T!K'_P !H_\ XFOB
M,]X-_M+%O%>WY;I*W+?;SYE^1PU\'[2?-S6^1_)E17]9O_"!^!_^@-8_^ T?
M_P 31_P@?@?_ * UC_X#1_\ Q->-_P 0V_ZBO_)/_MS'^S?[_P"'_!/Y,J*_
MK-_X0/P/_P! :Q_\!H__ (FC_A _ _\ T!K'_P !H_\ XFC_ (AM_P!17_DG
M_P!N']F_W_P_X)_)E17]9O\ P@?@?_H#6/\ X#1__$T?\('X'_Z UC_X#1__
M !-'_$-O^HK_ ,D_^W#^S?[_ .'_  3^3*BOZS?^$#\#_P#0&L?_  &C_P#B
M:/\ A _ _P#T!K'_ ,!H_P#XFC_B&W_45_Y)_P#;A_9O]_\ #_@G\F5%?UF_
M\('X'_Z UC_X#1__ !-'_"!^!_\ H#6/_@-'_P#$T?\ $-O^HK_R3_[</[-_
MO_A_P3^3*OZG_@'_ ,D+\%_]@'3O_2=*Z[_A _ __0&L?_ :/_XFC_A _ __
M $!K'_P&C_\ B:^CX<X6_LJI4J>VY^9)?#:WXLZ<-A?9-N]SJZ*Y3_A _ __
M $!K'_P&C_\ B:/^$#\#_P#0&L?_  &C_P#B:^M.LZNBN4_X0/P/_P! :Q_\
M!H__ (FC_A _ _\ T!K'_P !H_\ XF@#JZ*Y3_A _ __ $!K'_P&C_\ B:/^
M$#\#_P#0&L?_  &C_P#B: .KHKE/^$#\#_\ 0&L?_ :/_P")H_X0/P/_ - :
MQ_\  :/_ .)H ZNBN4_X0/P/_P! :Q_\!H__ (FC_A _ _\ T!K'_P !H_\
MXF@#JZ*Y3_A _ __ $!K'_P&C_\ B:/^$#\#_P#0&L?_  &C_P#B: .KHKE/
M^$#\#_\ 0&L?_ :/_P")H_X0/P/_ - :Q_\  :/_ .)H ZNBN4_X0/P/_P!
M:Q_\!H__ (FC_A _ _\ T!K'_P !H_\ XF@#JZ\7_:._Y-^\;_\ 8"U#_P!$
M/7>_\('X'_Z UC_X#1__ !-'_"!^!_\ H#6/_@-'_P#$UEB*7M:4Z=[737WH
M4E=-'\F5%?UF_P#"!^!_^@-8_P#@-'_\31_P@?@?_H#6/_@-'_\ $U^:?\0V
M_P"HK_R3_P"W/,_LW^_^'_!/Y,J*_K-_X0/P/_T!K'_P&C_^)H_X0/P/_P!
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
M#/@UKTLVO:-$+B\TN_M)["\C@) $@CG1"R99<E<[=R[L;AD ^S**_.[X@?\
M!5?]A;X9?$6_^&?BKQF5N](NQ8:G=V]A=W.GV-TQ"B*>[BA>!&W':WSD(00Y
M4@UZ5^T9^WQ^R[^RTVCV?Q5\0.;[Q!;F\TVRTRUFU&XN;8=9E6V20"+T=B%.
M#@G% 'V/17@?P#_:@^!/[3GPN_X7-\%?$,&K^'4>6*>Y(: V\D(#2),DJH\3
M*I#'>!\I##Y2">4^ ?[:?[-?[3_C;Q3X"^ _B6+Q)>>#C -2EM8Y#:@W!<)Y
M4Y41S#,;#=&S+QP<4 ?4]%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 45YU\5_BY\-/@9X"O_B?\7=:M= T'3$WW-Y=OM1<\
M!0!EF=CPJ*"S'A02<5\6_"[_ (*M?L0_&+Q,_@[P1XGNY-3:TN;ZSM[G2KVV
M?4+>TC::1K42PKYS!$8B-?WC8X4T ?HO17S;X3_:Y_9]\;?LVR?M;^'O$$<O
M@*&QN=0EU)HY$\N&T++*&B91('5D9=FW<6P #D9]$\#_ !A\ ?$#X1:?\=-$
MO&A\,:EIHU>*[O(GM<63)Y@E=90K(NSYLL!\O/2@#TZBOS@^&G_!6;]A3XL_
M$[3/A/X0\7R_VEKT_P!FTF:[T^[M+2_FSMV03S1(C$MA5R1N8@+DD ^M_M'?
MMY_LP_LK>(K#P5\7->ECU[4H#=0:5IUG<:C>&V4X:9XK:.0QQC!PS[=VUMN<
M&@#[$HKY#O/V]/V2;']G2#]J^3QI:/X#N9!!%J,<<SL]PQ*B 0+&9_.R"#$8
MPXQD@#FL_P#9D_;]_9>_:Y\0ZIX,^#6O2S:]HT0N+S2[^TGL+R. D 2".=$+
M)EER5SMW+NQN&0#[,HK\S]1_X*^?L :5\0O^%>7WC9HW%\=,;4C877]EK>*=
MIB-YY7D\'JX;RP.2V.:_2]6# ,IR#R"* %HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH ***AN+BWL[>2[NY%BBB4N[N0JJJC)))X
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
MV^;=G;A4^\<A;G_!$&[UBX^$/Q@CO-';P]9Q?%/7Q::294F&GJ4MV:V62/\
M=NL+$IN3Y&()'!KZQ^/?[/G[;GQ&\;ZG<?"#X\KX'\*ZK!%%_9P\-VU[=V16
M,)*UO=M+&^92"^7!:-C\IX&,/P9<? S_ ()I>%?A+^R;X:L=3U!/'&LS:5;7
MY,<LTNH2@SS75X[,A)D8_P "G PH 50* /T6HHHH ***X\?$/P&WCX_"I=:L
M3XG6P_M4Z3]H3[:+$R>5]H\G/F>5YGR;\;=W&<T =A1110 4444 %%%% !11
M10 4444 %%%% !1110 45YG\1?C5\&_@_P#8_P#A;7BW1O"W]H^9]D_M>_@L
M?/\ )V^9Y?G.F_9O7=MSC<,]17F7_#:G[&__ $5KP9_X/K'_ ./5K&A4DKQB
MVO1E*$GJD?3--<L%)49(' ]:Y[QCXO\ #/P_\)ZGXZ\:7L6FZ/HUK+>WMW.=
ML<%O I>1V/HJ@DU\+?!;_@J=^Q-\??B?8_"#X?>*IAK>KAFTM+_3[JQBU!5!
M.;>2XB17R =H)#-_"#61)\Q?\$+=+TC7/V3=9^..JHMQXS\<>*=7O?$5[)\U
MR]RDQ58Y'/S;57YU7H#(Q RQSZQ_P4X_9EBUW]F+_A:OP*L[30?&?P@OW\<:
M#):Q) GGVS&XO8V"A01<J&=Q_P M)%7=U-? G[26F_#;]@;]H#Q-IW[./[1E
M_P#"N?QK*WB#6_"%MX7_ .$KM[-Y\^;>HB BS4C#;& 8J!C*!%7[JO/C#^SI
M\+/^";PU/XG_ !IN_&&@^/;'4-,M?&%[#)?7=_>:NLXV0VD*^8#$2ZK; *8E
MCV,5VD@ SO\ @D]X(\1>/?!_BK]O[XKQ(OC#XWWYU&.,/YHT_1+4F&QM$8CH
MJ+N)&-R[-PW+7W]\??B_\&OV:/A]K'[17Q=FM].L]%LS'+>%%-U*A;*6T1X9
MVDDP$C!P6.?4CX^_X);?'#]FWQ3^SOHW[/'P1\8-XEU+X;Z?!I^I)=V$VE7B
M\G$C6L^652<C*NX!X)SQ7YI_M_?%S]EO]JO]J#P?+I'[1D?A&S\ 7HLH;>Y\
M*S:YX;77_-?$TUU))%9-(%*JIDWQ1A"V\9:@#Q#XG?"WXI_"S_@C_P#&/XR^
M/]/?PI>_&_QM;^))](CS&=,TK4K^ QQ,N!M9E'*\?NV56 (9:_3'_@KIX8\/
M^"/@A\%-1\$VD5C>>$_B3X8AT+[. A@5?,011D=$*(ORC@[!Z5]&C]C#XP?%
MSX%^._@)^VC\51\3M'\96MM!:26F@VVA2Z:\#-)YJ&&2996,@A==XPIBZ$,:
M_*#Q3XQ^ OP8^.O@_P "_MR?M*7?Q1@^"]W%?6&@:3X9D5+*]M5"07.J7-G]
MI$LMN 1L9O,##+?><, ?H[_P5'^+7@[X<?LXZU^S;X#T6#6OB%\:8[K0]$T&
MTB3SKJXOU\N>]D  PL"GS#,_\:KD@99?DS4O@I+\(/VO/V'?V6_',ZZI9^#]
M!UZ9B26@GU:QT]6$BA@/]3(F^$D948]Z[?PI^PQ\8_C!\>-9_P""@_[-W[25
MHP\>Q-_8]Y/X3M]6^PZ27;R[2VDN;L>6L8^1]L4;,P.\;BU>O_MB?LK^-[G]
MES1OC=\4?B=>3?%#X$P:MXJL_&>EZ-;023)"DD\T!TTRB!E>"-(BAF4.R!F.
M&92 97BZUA\/?\%QO"5[X=40S:_\+KQ-6$?R^;';WC&)Y /O$,JJ"><*!VK]
MAZ_+K_@G_P#L^:EJUQ:_\% /BYXTO/'WC?XD^&--%I=7-A#I<6FZ/<(ETEI%
M;022HI+L&D82$,PR!DL6_46@ HHKCO&_Q#\!?#32X=<^(FM6.A65S<Q6<4]_
M<);1O<3G;'$K2$ NYX51R>U '8T444 %%%% !1110 4444 %%%% !1110 44
M44 %%4-4U33-#TRYUK6KF*SL[.)Y[BXG<1Q111@LSNS$!54 DDD  9->,_\
M#47[,W_11?#'_@WM?_CM:0I3GK"+?HC"KBJ-)I59J/JTCW6BL+PSXI\,^--$
M@\2^#M1M=6TVYW>3=V<R3P2;&*-MD0E3A@5.#P01U%?GO\0/^"MW[!OPR^(U
M]\,_%GC&6.ZTJ^;2]0NX=.NYK"TO48JT,MRD)B#*00V&8+@Y(P:AIIV>YK&2
MDE*+NF?I+7XJ?!;3=*^(O_!;3XT:]X_C6[U#P#X7T*R\,I<8?[-:WT$<US+"
M#PI\V1E+#D"1AGYC7Z-_'[]KC]GK]F3P1IWQ!^,7B.&PT_6I$ATP6Z27D]])
M(NY1;PVZR22Y!!W*I4 @D@$5^7?CRQ_9Q_;-\5:C^WQ^Q]\9[CX5>.?AUITN
MG>)M2ETTLL>GQJTQBU/3KP0LP7:2LAW*=F &:-=B*/U?^.'[.?PK^/GPY\7?
M#OQII5MM\9Z7_9=_>1PH+IHTW&!C)C<QMY&\R(,2$?D=37X2_P#!,_X=?''X
M^_M*VB_M0O%=VO[)UI<>"])17\Q+S67EDC^VD'/,=G'%&"<DL(Y =VX#Z$_X
M)[_MH?!WQ+\9;_PA\0OV@]7^)GC3QE'#'I$.I:'+X=T=H;7S&_XE]N4$1DDW
M'<Y8/*%4 $BO6[+QG^S!_P $POB9\0?$?QR^(]O)J7QG\6'7++28K-S>6PN/
MW80QPO,[QAL_OV2-.,8SQ0!^JVNV'ARZM$OO$T-M)!ISB\62Z52D#P@D2@OP
MA09._@@9YK\./@+J=[^UI_P4!^(7_!0CX5V9B\!^"?"4_@W0-2">7_PD%_"[
M32W"<?/#$Q:,.>& CQR&5?T5_;Q_9:\9_MD?L^W?P'\'^.I_ ":I<Q-J%[!:
M?;#<V2*^^U9!- 0DC%"Q#\A=I!5B*_/NT\5:W_P3'UWP9X1_:6_:4T[4?"EM
M:R6]AX%TKP/!;7=Y L3QQ>6;&2>>)$EP_F,FV1D*ELDF@#D/V&_!?@K7O^"#
M&LR:U#%<CQ'X;\7:CJT\H#//>"6\!FD8]9$$4>&/(V*>U?4'[(?QT^&?P"_X
M)=?#K]IGX]W$-C'HO@ZSMY+Z15:[E@B&VWMHF.&=I,((X\X+$>YKXB_9O_93
M\)_M-?"WQC\'OV,_VB[ZR^"&JZI/_;7A$Z"L>K::MZV^>Q2ZN3'-##, P!\D
MK@$?/F0G[(_:N_X)@>+/CQXE^&4OPG^):>!O#'PIL+>VT7P]=:%'K=B+JURD
M=TZ37,4;NL0C11)&^W9D'+-0!B?\$QOV7-4U#]FKXB^*OVBO#B:=!\>?$.I^
M)+GPS("B6FF:E_J[=U&TJS(6) P0A0$!@0*O[%7A#PIX!_X*D?M.^#? VF6N
MCZ3I^E^"8;6RLHE@@AC&G'"I&@"J/8"N\_8@\8_M+_&;P;\:O#_B/XOR^(-<
M\+^(]0\$Z=J=UX6LM.73-3TI2)KI(+>YD6[AD::)E25HR/+((&XUA_!O_@GO
M^US\*_VE]:_:6O\ ]H&WU:_\87&DGQ-;CPA;VXU&TTE1&D",+QQ;EH04\R-,
M@G=@D4 ?KS115+4]3T[1=-N-8UB>.UM+2-YIYIF"1QQQ@LS,QP%50"22< 4
M7:*YSPAXQ\)_$#PS9>-/ NIVNLZ1J40FM+VRE6>WGC/1DD0E6'N#71T %%%%
M !1110 4444 %%%% !1110 4444 %%%>6ZA\<O@II%_/I6J^,-$M;JUD:*:&
M74+=)(Y$.&5E+@JRD$$$9!K*K7I4DG5DH^K2_,WHX:M6;5&#DUV3?Y'J5%<)
MX8^*7PR\;W[Z5X,\1Z7J]U'&96ALKR*XD6,$ L5C8D*"P&<8R1ZU\^_M-?MU
M?LU?LCZAIN@_&?6IH-7UB)Y[+3;&SGOKN6&,X:3RX$?:@(/S.5!P<9(-.G5A
M4CS4Y)KNG<FM0J4I<E6+B^S5G^)]>T5\W_![]KO]G+X\?!:Y_:%^&GBJTN_"
M%@)S>ZA-NM5LS;*'E%PLP1HBBD,=X'RD,,@@GQ#X,_\ !3_]BOX]?$:P^%GP
M]\5RMJVL[SI/V[3[NP@U(1C+?9I;B&-)".FW<&/\(-:&1\K?\%/;#3?'_P"U
MQ^RG\$?'JB?P;KWBG4K_ %&TF^:VNKK388&M(Y4/#AFD==K9#!B,')K]B]0\
M+^&=6O-/U'5=.M;FXTB0S6,LL*.]K(R&,M$Q!,;%&9"5P=I(Z$U^(W_!3']I
M/_@G)\65;X!?&+Q[J?AOQ9X&U:"]M?$.A:?=7+^'=5C_ -6SSQ1,G4@/&KYR
M!RCJI&C=>*/%_P"RW<>!OVA_VS?VK+WQEX1G)D\.:3H6@1V(UUYX#Y;3"P,T
MEV@CD60*0(PVQBV<9 /B;XG?LQ_$[1?VS=0_X)5^$Y5M?@W\5M>MOB/.(Y-C
MVFDV_F-J%@BC[J2W,,0C ^YM0X.Y\?U$QZ%HD6AKX9CLX1IJP"U%KY:^3Y 7
M9Y>S&W9M^7;C&.*_+/X#:[^SS^W)^V#IO[</P&\=?;CX$\/W'A74O#TVGRVU
MW#+>2O*LDIF:-T'WE $3*Q4X?(('WC^TG\0?"?PQ^!7BGQ9XR\7V_@*U33KB
M&/7[A1(+"XFC9(I4B)'G2(Y#)$/FD8!1R: /R@_;C;1_VQ_VL/A1^PU\$+6*
MX_X5IXAL?&'B[5+9 L.AV=BI6&S5U&%FN Q C'W2(R1@-L])_8MB@\2?\%/?
MVK_%WB!!+J^DR>%]*LW?EX+![21RB?W4E:-'8#@LH/6OS*_8(2/2O$K? #]D
M_P#:\2QUCQ3=W&JK_:OPW\NZUN8AI)9A=W\^^X8*"0'DW  X'6OV,^-'["'Q
M3U+]I'4_VJ/V4OBC)\,O$WB?3K?3/$,4VDPZQ9Z@EJ L,WE2R1A)HD 4-\V0
M /E!?< >&?\ !,C1_"^D?$7]IKPM<6]JOAOPY\5-0O[%)E0V]E.4!E:/<-L7
ME[1R,;1Z5A_LJ2+^V5_P4O\ %O[>G@"U-O\ #GPEX>_X0?1M3"^6-?O$F,D]
MRG'SPQ9:,.?O 1XY#*OFOQ8_9+\-^'_ ^C_\$FO GQ UW1/%?Q5DU'QIXC\8
MO91W?]KM'G[9%<QBY@=!.PCP$9ALC"N6W,3]U?LN_LE?M<?L^:SX;T3Q'\;[
M'Q!X!\/6[VH\,V?@ZRTA'B$3)$JW$-P[Q^7(5D)"DN5(;[Q- 'R__P %8-0T
M+XO^!M#_ ."7WP%TRTO/&WQ!O;.ZDM[>)1!H.DVEPMQ+?S[!B(%DV@8!=6?&
M25#?M)X;T2#PSX=L/#=J[RQ:?;16R/(<NRQ*%!8]R0.?>OQ7^%7_  2Y_;%^
M"?CWQ9\3_AU^TI##X@\;79N]6U*]\%VM]>3X^Y'YT]X[+$G\,:;4'&%&!C]F
MO!&E^)M#\%Z1HOC751KNLV=E!#?ZDMNMH+RYC0++.($++$)'!?RU)"9P"0*
M.HHKC]$^(?@/Q+XJUKP+X=UJQOM:\.&W&JV%O<))<V)NT,D'GQJ2T7FH"R;P
M-RC(R*["@ HHHH **** "BBB@ HHHH **** "BBB@ HHKPCXH?M3?LQ_!#7X
M?"GQH^(WA?PAJEQ;K=Q6>MZO::?</;NS(LJQSRHQ0LCJ& P2I&<@U48RD[15
MQ.22NV>[T5\L>'OVZ/V)?%VOV/A3PI\8O ^IZIJEQ%:6=G:>(;":XN+B9@D<
M44:3%G=V(554$L2 !FO0OCS^T%\(/V9?AU<?%;XWZS'H>AV\B0&=TDE9YI>$
MCCCB5Y'=L'"JI/!/0$T2A*/Q*PHRC+X7<]EHKXS_ &9/V_?V7OVN?$.J>#/@
MUKTLVO:-$+B\TN_M)["\C@) $@CG1"R99<E<[=R[L;AGSKX@?\%5_P!A;X9?
M$6_^&?BKQF5N](NQ8:G=V]A=W.GV-TQ"B*>[BA>!&W':WSD(00Y4@U)1^B-?
MF?\ \%B?%OBCP3_P38^*>M>#Y)(;N2QM;)WB;:PM[V\@M[CD=C#(X/L37M/[
M1G[?'[+O[+3:/9_%7Q YOO$%N;S3;+3+6;4;BYMAUF5;9) (O1V(4X."<5S6
ML_M(?L3?M9_L9^*_B;K'B.TU7X57=E=6.N74J20FW7: Z/&R":.9=Z-&-F_<
M49,Y4D ]:_9Y^#WPC\-?LL>$OA%X:TFQNO"7]@VD(M7A26VNHI859GD1@5D,
MQ)=RP.]F).2:_(;_ (*N:-\6OV1/C!H?[</[+<4<>K^-].E^'.LVH81"2XOH
MF_LN[7MYD$B#D]HXTX4L:\&_97NY_B9KMG^Q7\ /VO\ Q-I/AC[*S:/HNH>%
M/[/UV32H@6$=EJEP$<A(P=CHH954[(PBD#]M?VS/V4H/VH_A7X;\"7/B4^'X
MO"WB'2_$3WL\'VLRII98LCYDBVEP<F0DXQG:: .M_8Q_9HT#]D3]FOPO\"-$
M99YM)M0^H72CF[U"<^9<S$GDAY6;;G)"!5[5\F?\%1_BUX.^''[..M?LV^ ]
M%@UKXA?&F.ZT/1-!M(D\ZZN+]?+GO9  ,+ I\PS/_&JY(&67=U#_ (+$_P#!
M/+3O%DGA>3QYYL,%S]CEU2'3[R72HY\[0IO%A,)!/1U8QXYW8YKQK6O^":?[
M3,W[5WBK]L'X:?M PZ7K7B??#9&\\)VVK-INF%BT5I;2SW>U(U4A2T<:&3&6
MY8Y /%-2^"DOP@_:\_8=_9;\<SKJEGX/T'7IF)):"?5K'3U82*& _P!3(F^$
MD948]Z]X\=Z1IMA_P6Z\+QZ=;QE?$_PKOK?6XMH*7,$5V_EF92,/DJJ?-G(4
M#H*Y#_@H5\*M=^'O[.'PR^+/QH^(VI7OQ3\ >)X8='\::+HUK"QN-8G,>V73
MFG6$P>4(XY%$V7\L,00S*?ICX/\ ["7Q*\'^+/''QY^*GQ0G\5?%OQ=X??P[
M8^(TTR*SMM$M-I:-;6R21E.R?;*VYQYA7HI+%@#Y7_;C;1_VQ_VL/A1^PU\$
M+6*X_P"%:>(;'QAXNU2V0+#H=G8J5ALU=1A9K@,0(Q]TB,D8#;/M?]LKQI^V
M-X TN^_X8^^%.D>-;K5=.D-YJ%YJ4-I)'<("D:-:R*OVH!.0#,N?N_7XZ_9\
M_P""8'[9?[+WAV^\,_!K]I2VT^+5;V34=0GF\$6EU=WEU,<M)/<3WKS2MSP6
M<X[=37UQ\:_V</VU_$WQ.UCQA\ OCX_@W0]<2!7T:^\/VVKQV+Q0I$TEI+))
M&R;]GF&-LKO9CGG% 'DG_!%.?X9P_P#!/WPOX7^&UY?74FA7=]9:RFHP?9KB
MVU8S&:XA,89PJH95V88Y0@MABRC]8*^(/V2?@;\$OV#O .@_LQ67BI+WQ'XI
MN]0U42:I<1QZCKE^%62\GBA+;F\N,)N5-VQ "Q)RQ^WZ "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH _];^_BBBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH _G%_;S_Y.P\5_P#;C_Z1P4?L&?\ )V'A3_M^_P#2.>OU
MD^+?["'PB^,WQ"U#XD^*-1UB"^U+RO-CM9H5B'DQ)$NT/ [?=0$Y8\Y^E'PD
M_80^$7P9^(6G_$GPOJ.L3WVF^;Y4=U-"T1\Z)XFW!($;[KDC##G'TK\M_P!4
M\P_MCZ[9<GM>??6W/?;T/*^J5/;<_2]_Q/ISX@:Y\.O NA7'Q4^),MEI]CX:
MMY[J34KP*!9P[?WK!R,H"HP=O+=.>E?SI>%;;QWXY^!G[8G_  4JT;39_#>D
M?%#P_/:>%;9E,$\NF:=:/;G4'3^%IQB13UW;R"058_JE_P %$OV&O&_[=G@_
MPWX#T'XB-X)TC1[YK_4+)M,&J6VJ2(4,"SQFXMP4A*L=C;T<MDC*@UK_  C_
M &5OVDM.T_7/ ?[3WQ=M?B5X'UK0;G0SH-OX7M-"2);@+'O66WFD.U8?,C$>
MT+\X.1M /ZD>J?GO^U'X!\!:=_P;YZ78:;:PQ6MAX+\,:I:.@"E+V5[25IE(
MZ2222.6(Y)=AW-=-_P %7OA1\/-8_P""8_C#]HOQ!H%G+X^OO#/AFTN-8FC$
MEXL0O[1VC61LE 7D<MLQNS\V<#'::/\ \$F_BC>>!M$_9J^*'QMO_$GP2\/7
ML-S;^%SI$%O>7%O;2F6"TN=060O)#&VW@1C<   FU-OT'^WK^Q)\>/VT?#.H
M?"CP_P#%N'P7X!U>SM;>^T3_ (1V+49)9[6X%P)1=&Y@D0%DC&Q1@;.IW$4
M<-_P4>^"'Q>^+OP"^%GBSX.:"OB^]^'7BS0O%=UX=:1(O[3M;!'$D2F3Y2_S
MC"GJI; 8X4_'WB+XW>//C3_P5G_9N\57_P +M>^&\PL?$]G-)KYMTNM0M5L7
MD*&&&21DBMW)*-(0'>3Y0"IK],;/X _MLZ9\"!X!M/CK;OXRMM42ZMO$'_"+
M6J0?V='"(_L,EF9W5@7S(9UD60<#H#G)_9V_8A\5^ ?CE>_M2_M(^/[CXG?$
M*;3_ .R+"[:QCTRQTNP9M[Q6MK$\BJSM]^0MN89X&YB0#YS_ ."WMY/<_LS>
M"/A]?7$EKH'C'XA:!HVO.CE!_9LIFE<.1@[=\2'KU K]7IO 7P\M?"5EX3GT
M2P.B:*()+.R-LC6]M]B(:$Q1[2JF(J#&5&5(!7D5YC^U)^S/\,_VN_@EK'P(
M^+$4K:5JRHPFMR%N+:>)@\<T+,&"NC#N"""5(*DBOBWX>_L0?MM:+JGA_0?B
M3^T[K.N^#O#MU:W"V-GHMMIVHWL=HRND-SJ"RR3/&VW;+G)E4D,>: /C+X1'
M]M7]M3]E37_^"@&D_&G6/!%_=G6-0\*^&M,AM_[(M;32Y)8XX+Q'C9IVD:!@
MSL> =V&^[7G_ .T=\7_BW^V+\'_V+_BKX0U*#PIXT\7>(W4:CY GAM+U8F@F
MN$A?(8!D>2.-LCD G'-?84/_  2S^-W@7PMXE^ GP$^.EYX1^$7BFYNY9O#Q
MT6"\O+*"^.;BVM+YI5>..0%@#LR@.?F8LQ^G_%G[ /@VY3X$Z)\.]5.@Z)\#
M=2CO;2T>W^TO?1QP^5L>3S(]CL?G>3:VYB3MYH ^&M*^-7Q^_8._::^)GP<^
M)'CS5/BKX;TOX3WOQ)TY]<6,7D-YI\[0O;^9$J_NI2K'&,("H &&)\I\2P?M
MX^$/V#[3_@I6WQRU6Y\6-I-GXLE\-/;6_P#PCC:=>%)1:" (&5E@D&9-Y8L,
M#!^<?J]\0OV*?#WQ/_:QU#]HOQAJ@N='U;X=W7P]O=!-N1YUO>733R3?:!("
M,HYCV"//\6_M7Q;;_P#!*/XW7WPMM/V4?&/Q[U'4O@G92Q*N@+HUO#JDMA#+
MYL=G)J0D+>6I"_,(AD#:%50  #R6Y\5_M4_MK_MR:C\+/AS\4]6^&G@:;P'X
M?\5SP:8J/>1RWL09(H'=?W89Y=TS=6$87&#QA:I^S)\1];_X+*WOA*W^+_BN
MPNW^%Z:T=3MFM5N5MQJZQ&P7,!06N[]Y@J7W?Q$5^K_PZ_9#T[X<?M=>)?VG
M=&U9%LM=\-:;X<@T2.U\M;2/3C\KB;S#N!4 !/+&WU->8?M#_L4_%;X@?M4Z
M%^UQ^S]\2O\ A7_B.RT$^%]3272HM5AO-,-R;K"K+(@1Q(V<D-G"],$, ?HQ
M1110 4444 %%%% !1110 4444 %%%% !1110!_,W_P '%?\ S1[_ +F'_P!Q
M]?S-U_?'^VA_P3_^#?[='_"-?\+:U/6=._X1;[9]D_LB:"'?]N\GS/,\Z"?.
M/(7;MVXR<YXQ\,_\0_\ ^QO_ -#+XS_\#+'_ .0:^VRC/<+A\)"C4;YE?IW;
M9ZN&Q=.%-1EN?MYJNE:7KNF7&BZY;17EG=QM#/;SH)(I8W&&5U8$,I!P0001
M7XB_M"75A^V[_P %'OA9\'?@Q EUI/[/^JGQ'XMUZ%08+2Z!0V^FQR#@RNT(
M$J \#.>8G _7SXS^"_%OQ&^$_B+P%X$\12^$=8UBPFL[368(O/EL9)5*B9$W
MQY9<Y&'4@\@@@&ORN_9C_P"";'[8'[*'AFP^'WPK_:(L[7PY!?&]N[0>"+,S
M7KR.&E,MR]V\S/(HV>8S,RJ !PH%?$GE&K_P39@M?$7[4G[5WCG7D$VN2>/C
MI+RR8:0:?81F.VCR>0@7( Z8 ]*Y[_@D=#X'\*? ;XKIXA%G;^&_ /Q4\5#2
M;B[V"#3[*V2(^9&[\1*JR2Y8$85FYP37L?Q(_8 ^,5A^T!XN^/G[(OQ<E^&%
MQ\0XK=?$EA)H\&KV\]Q;(8TNH!+)'Y,H4\\-EBS$\XK@/BQ_P2:7Q/\ L4Z!
M^Q5\(?B1>^$M+L]0;4]=U">R&H3:[/(6DD^TJ)[?Y6F(?;O881%(.T&@#YB^
M#VH>*?C?\2_VFO\ @J'\.K.?1O"]YX)U#PYX/G9#!/JITRWW/J ! 8+YMNBQ
M,1G!*G!0BMKPS\/?A[_Q#P3Z0MK +.3P%=:LWRC#:@K/=!SZN+@#!ZY %?H'
M^SY^RS^U/\,K^W\._&+XR6'CCP'!ILFF#PS;^$++18/*:/RXU66"9RJ(O'EA
M<$<5\FVG_!(_XH6GPV?]E)/CCJ7_  HI[XW'_",#2H!J/V1KC[0;+^T_,WB(
MOR6$7)R-N"10!]W_  #\7>+H/^"?/@KQYA[G7D^'FFW^'.YY+L:;')R3U)DZ
MY[U\J?\ !$+PCX3T[_@GOX7\?:8J7.M>,KK4]3UV_;YY[R]^V3Q$S.?F8HB*
MO)[$]6.?UATG1=)T+1K;P[H]NEO8V<*6T$"#"1Q1J%5 /0*  /2OR+T;_@FA
M\?/@/KVO:?\ L1?':[^&W@KQ%>R7\OAVZT.UUJ&QFG_UALY)G0Q+V5 O3&XL
M0#0!D_$BZ^+'QV_;DOOV%/@?XNN?A%X!\ >&8=<U23PQ!!;W][>:C+E(HG:,
MK!$H?>Q122^[=DL"GC5I\5OCEIWP9_;._8O^.WB63QO<?"[P?>7&E:_<1)%=
MW%AK.D7-PD5QY856DA&T;\98ENP%?3&O?\$U_BGX;\9^&_C=\ ?C1J^A_$C3
M-$;0=9UO7+*+6EUVU:9IP;F&1XPKH[8C8,VV-$0?=R?0/AQ_P3N3P=\$/C%X
M.\6^-KKQ/X]^-UA>VGB+Q9=VB1$O<6LMK!Y5I&X5(;996*1"3N0&5=H4 _*+
MP\/VP/V2_P!BKX#_ +8,'Q=U#5;.8^%;";PC]FA31ET&_BCBB@"[=YN%BV;Y
MB=Q<L5Q@$_;%A=_M%_MZ?M7_ !>\$^'OBCK7PP\$?">^MM"L+7PXL*7=[J#1
MEYKBYFE1B8U9<+&/E93U!#%_IGXJ_L#-\3/V)O ?['H\5"R/@I/#R?VM]B\S
M[3_80C!/D><NSSMG_/1MF?XL5R?Q$_8'^,NC_M!>*_V@_P!C_P"+<GPTN_'Z
M6_\ PD>GW.C0ZS:7%Q;+Y:7,*RR1^5*%))'S!F))(!Q0!^87C#]L3]MW5OV9
MM%^&&D^-$L_B?X8^/D/PLG\1I B0:E"(KA8Y;B((4*F0H9$"\B,$Y).>V_X*
M9?LI_%?X9?LI>#;+Q=\:/%?B^X3QYI:-+?\ D ,]^\2(^ A(-L\3O -V%\U@
M<@ U]V6'_!+#PMH'P>^'?PQ\/>+KIK_PE\2K#XFZWK-_;"XN==U.V,AG#@21
MB$S;U57S)L5!D.26/U%^V]^RE;?MD_ 6Y^#PUV7PQ?I>V>IZ=JL4(N#:WEE(
M)(W,19-XZ@C<O7.>,4 >Q_!/X;Z_\)_AY:>"?$WBS5?&MY;/*[ZMK)B-W*)'
M+!6,21IA =J_+G KUBO(?@7X4^+G@OX;67A_XY>+(O&WB6-I6N=6AL(],CE#
MN2BK;QLRKL4A<YRV,G&<5Z]0 4444 %%%% !1110 4444 %%%% !1110!X5^
MU%_R;-\1?^Q8U?\ ])):_C,K^WSQ[X.TSXB>!M:^'^M22Q6>NV%SI]P\!"RK
M%=1M&Q0L& 8!C@E2,]0:_,S_ (<[_LS?]!SQ/_X%6O\ \B5]7P[F^'P=.<:S
M=V^B/S+CSA7'YK7HU,(DU&+3N[=3W7_@FG_R9/X*_P"XE_Z7W-?+7_!6'QMX
M=NO@E_PP3\&]&MM7^(WQCN%@T_1[:-0MO"UP)[K4KD*,1HI1V\UL$R9?G8Y'
MZ;_ _P"#OAGX!?"[2_A+X.GNKG3=)\_R9+QD>=O/F>9MQ1$4X:0@84<8ZGFO
MRIT/_@F'^UEX'_:"\;?M(?#G]HJ*P\0^-KAVN+F]\'VNI7$%F'+16L4MQ>$I
M%&NU=L:HK!%ROR@#Y[&U8U<15J0VE)M>C=S[S)\-/#8##X>K\4(1B_5129SB
M?#FU\%?\%2OV>/@9XCG_ +3L?AU\*+@:5),,JU_%_H<DRJ<X=H8E)/7@>E=[
MX6\/:$O_  6S^(7AB.TAN-+\4?">TO-:MG17AN+F.^CMD\Y""KDV_P OS _*
M<=#7LWQK_8.^*'Q;M_AM\4;'XIRZ/\9?AM'<10^,(-(@\B_CNU*S13Z?Y@C$
M;C@ 2$+EC@EN(/AO^P#\0O!NA?%'QOXA^*EYJOQ?^*-@NGS>,UTZ.V&F00QF
M.%+.SCE 18\Y.)068*V589/*>B?-?[0EU8?MN_\ !1[X6?!WX,0)=:3^S_JI
M\1^+=>A4&"TN@4-OIL<@X,KM"!*@/ SGF)P$_P""TGP7^%&A?LZZA\:=*\/V
M47BW7/$WAJ"]U?R@UW+#!.B)'YARRH%4?*I"DC)!/-=9^S'_ ,$V/VP/V4/#
M-A\/OA7^T19VOAR"^-[=V@\$69FO7D<-*9;E[MYF>11L\QF9E4 #A0*]8_;J
M_8/_ &A?VSY)O"MG\9H?"O@AKBQO8=#_ .$:AOI([JR(82&[-U#(P:0;MN !
MTY% 'ZC5^*G[$NF:7\0_^"HG[4'Q-\=1+<^)/"USHNAZ09\,]EIDD$I/DY^X
MLYC5FV]\_P!XY_4GX%^#OC!X%\!IH/QQ\9Q>/==6>1VU6+3(](5HFQLC^SQ2
M2J-G/S;LMGI7QA^T#_P3]\6>+?VA'_:S_97^)%W\*?']_9)I^KS)81:II^JP
M1 "/[1:RLBF1555WY; 5< ,,D P_^"B'Q.^('PQU?X??"']G&>S\(^,_C=XF
MM]#O?$RVD<MQ;65LA,LH#+B69$8+%O)VC<%VDAAY/HFH_M$?L4?MV?"OX$^*
M/B9K'Q-\#_&&VUBWV>(EADO].U#28!<>;%-%&A,<F]4V$;5!).2%-=KXN_X)
ME_$WXL?#_P WXT_'#7=>^)&GZY9>(=!\31V4-K;:+=V*LJ+;:<C>4(G#DS+Y
M@\UE0DC;SZ9\&/V&?B?8_M#:5^U'^UE\39/B9XI\,6%QI_AZ&#2XM'L--6\!
M2XE$,3R>9-*AVER5PI(PV$*@'Y3_  &^"7[2WQ#3]J[Q_P#"OXN:G\/]+\,_
M$_QG=V&G:1!%NNM6@*RM)=RNI9K<QK"BQ*1SO8]@?:/#W[7O[3?[8>F?LW_
M'P;XK?P)JGQ)\,WGB+Q;XATZ"(WK0Z:6AV6BNICB>>6)F8J/D## V@JWZ;_
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
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
,B@ HHHH **** /_9

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698141454160">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover Page - USD ($)<br> shares in Millions, $ in Billions</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Feb. 16, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-K<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentAnnualReport', window );">Document Annual Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Dec. 31,  2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-38897<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">FASTLY, INC.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">DE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">27-5411834<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">475 Brannan Street, Suite 300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">San Francisco<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">CA<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">94107<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">844<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">432-7859<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Class&#160;A Common Stock, $0.00002 par value<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">FSLY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NYSE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityWellKnownSeasonedIssuer', window );">Entity Well-known Seasoned Issuer</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityVoluntaryFilers', window );">Entity Voluntary Filers</a></td>
<td class="text">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Large Accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_IcfrAuditorAttestationFlag', window );">ICFR Auditor Attestation Flag</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFinStmtErrorCorrectionFlag', window );">Document Financial Statement Error Correction Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityPublicFloat', window );">Entity Public Float</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2.0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">134.2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentsIncorporatedByReferenceTextBlock', window );">Documents Incorporated by Reference</a></td>
<td class="text"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Portions of the registrant&#8217;s Definitive Proxy Statement relating to the 2024 Annual Meeting of Stockholders are incorporated by reference into Part&#160;III of this Annual Report on Form 10-K where indicated. Such Definitive Proxy Statement will be filed with the Securities and Exchange Commission within 120 days after the end of the registrant&#8217;s fiscal year ended December&#160;31, 2023.</span></div><span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001517413<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">FY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentAnnualReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an annual report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentAnnualReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFinStmtErrorCorrectionFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates whether any of the financial statement period in the filing include a restatement due to error correction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 402<br> -Subsection w<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFinStmtErrorCorrectionFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentsIncorporatedByReferenceTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Documents incorporated by reference.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-23<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentsIncorporatedByReferenceTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityPublicFloat">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityPublicFloat</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityVoluntaryFilers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityVoluntaryFilers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityWellKnownSeasonedIssuer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityWellKnownSeasonedIssuer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_IcfrAuditorAttestationFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_IcfrAuditorAttestationFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698141385584">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Audit Information<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_AuditInformationAbstract', window );"><strong>Audit Information [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorName', window );">Auditor Name</a></td>
<td class="text">Deloitte & Touche LLP<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorLocation', window );">Auditor Location</a></td>
<td class="text">San Francisco, California<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorFirmId', window );">Auditor Firm ID</a></td>
<td class="text">34<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorFirmId">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>PCAOB issued Audit Firm Identifier</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorFirmId</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:nonemptySequenceNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorLocation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorLocation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_AuditInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Audit Information [Abstract]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_AuditInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698139697248">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED BALANCE SHEETS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 107,921<span></span>
</td>
<td class="nump">$ 143,391<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecuritiesCurrent', window );">Marketable securities, current</a></td>
<td class="nump">214,799<span></span>
</td>
<td class="nump">374,581<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net of allowance for credit losses of $7,054 and $5,029 as of December 31, 2023 and December&#160;31, 2022, respectively</a></td>
<td class="nump">120,498<span></span>
</td>
<td class="nump">89,578<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">20,455<span></span>
</td>
<td class="nump">28,933<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">463,673<span></span>
</td>
<td class="nump">636,483<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization', window );">Property and equipment, net</a></td>
<td class="nump">176,608<span></span>
</td>
<td class="nump">180,378<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease right-of-use assets, net</a></td>
<td class="nump">55,212<span></span>
</td>
<td class="nump">68,440<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">670,356<span></span>
</td>
<td class="nump">670,185<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangible assets, net</a></td>
<td class="nump">62,475<span></span>
</td>
<td class="nump">82,900<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecuritiesNoncurrent', window );">Marketable securities, non-current</a></td>
<td class="nump">6,088<span></span>
</td>
<td class="nump">165,105<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other assets</a></td>
<td class="nump">90,779<span></span>
</td>
<td class="nump">92,622<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">1,525,191<span></span>
</td>
<td class="nump">1,896,113<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">5,611<span></span>
</td>
<td class="nump">4,786<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued expenses</a></td>
<td class="nump">61,818<span></span>
</td>
<td class="nump">61,161<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityCurrent', window );">Finance lease liabilities, current</a></td>
<td class="nump">15,684<span></span>
</td>
<td class="nump">28,954<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating lease liabilities, current</a></td>
<td class="nump">24,042<span></span>
</td>
<td class="nump">23,026<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesCurrent', window );">Other current liabilities</a></td>
<td class="nump">40,539<span></span>
</td>
<td class="nump">34,394<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">147,694<span></span>
</td>
<td class="nump">152,321<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtNoncurrent', window );">Long-term debt</a></td>
<td class="nump">343,507<span></span>
</td>
<td class="nump">704,710<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityNoncurrent', window );">Finance lease liabilities, non-current</a></td>
<td class="nump">1,602<span></span>
</td>
<td class="nump">15,507<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liabilities, non-current</a></td>
<td class="nump">48,484<span></span>
</td>
<td class="nump">61,341<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other long-term liabilities</a></td>
<td class="nump">4,416<span></span>
</td>
<td class="nump">7,076<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="nump">545,703<span></span>
</td>
<td class="nump">940,955<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">Commitments and contingencies (Note&#160;10)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Stockholders&#8217; equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Class A Common stock, $0.00002 par value; 1,000,000,000 shares authorized as of both December&#160;31, 2023 and 2022; 132,992,126 and 124,336,171 shares issued and outstanding at December&#160;31, 2023 and 2022, respectively</a></td>
<td class="nump">3<span></span>
</td>
<td class="nump">2<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapital', window );">Additional paid-in capital</a></td>
<td class="nump">1,815,245<span></span>
</td>
<td class="nump">1,666,106<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss</a></td>
<td class="num">(1,008)<span></span>
</td>
<td class="num">(9,286)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Accumulated deficit</a></td>
<td class="num">(834,752)<span></span>
</td>
<td class="num">(701,664)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total stockholders&#8217; equity</a></td>
<td class="nump">979,488<span></span>
</td>
<td class="nump">955,158<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and stockholders&#8217; equity</a></td>
<td class="nump">$ 1,525,191<span></span>
</td>
<td class="nump">$ 1,896,113<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapital">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapital</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 26: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.17)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from finance lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482598/350-20-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482686/350-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-5<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MarketableSecuritiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in marketable security, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MarketableSecuritiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MarketableSecuritiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in marketable security, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MarketableSecuritiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated undistributed earnings (deficit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-11<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698323431856">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED BALANCE SHEETS (Parenthetical) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementOfFinancialPositionAbstract', window );"><strong>Statement of Financial Position [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Allowance for doubtful accounts</a></td>
<td class="nump">$ 7,054<span></span>
</td>
<td class="nump">$ 5,029<span></span>
</td>
<td class="nump">$ 3,311<span></span>
</td>
<td class="nump">$ 3,248<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share)</a></td>
<td class="nump">$ 0.00002<span></span>
</td>
<td class="nump">$ 0.00002<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized (in shares)</a></td>
<td class="nump">1,000,000,000<span></span>
</td>
<td class="nump">1,000,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued (in shares)</a></td>
<td class="nump">132,992,126<span></span>
</td>
<td class="nump">124,336,171<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding (in shares)</a></td>
<td class="nump">132,992,126<span></span>
</td>
<td class="nump">124,336,171<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479344/326-20-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfFinancialPositionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfFinancialPositionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698139435648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF OPERATIONS - USD ($)<br> shares in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementAbstract', window );"><strong>Income Statement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 505,988,000<span></span>
</td>
<td class="nump">$ 432,725,000<span></span>
</td>
<td class="nump">$ 354,330,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenue', window );">Cost of revenue</a></td>
<td class="nump">239,660,000<span></span>
</td>
<td class="nump">222,944,000<span></span>
</td>
<td class="nump">167,002,000<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">266,328,000<span></span>
</td>
<td class="nump">209,781,000<span></span>
</td>
<td class="nump">187,328,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Operating expenses:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development</a></td>
<td class="nump">152,190,000<span></span>
</td>
<td class="nump">155,308,000<span></span>
</td>
<td class="nump">126,859,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingAndMarketingExpense', window );">Sales and marketing</a></td>
<td class="nump">191,773,000<span></span>
</td>
<td class="nump">179,869,000<span></span>
</td>
<td class="nump">152,645,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative</a></td>
<td class="nump">116,077,000<span></span>
</td>
<td class="nump">120,803,000<span></span>
</td>
<td class="nump">126,845,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment', window );">Impairment expense</a></td>
<td class="nump">4,316,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Total operating expenses</a></td>
<td class="nump">464,356,000<span></span>
</td>
<td class="nump">455,980,000<span></span>
</td>
<td class="nump">406,349,000<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Loss from operations</a></td>
<td class="num">(198,028,000)<span></span>
</td>
<td class="num">(246,199,000)<span></span>
</td>
<td class="num">(219,021,000)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Net gain on extinguishment of debt</a></td>
<td class="nump">52,416,000<span></span>
</td>
<td class="nump">54,391,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentIncomeInterest', window );">Interest income</a></td>
<td class="nump">18,186,000<span></span>
</td>
<td class="nump">7,044,000<span></span>
</td>
<td class="nump">1,282,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpense', window );">Interest expense</a></td>
<td class="num">(4,051,000)<span></span>
</td>
<td class="num">(5,887,000)<span></span>
</td>
<td class="num">(5,245,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other income (expense), net</a></td>
<td class="num">(1,832,000)<span></span>
</td>
<td class="num">(29,000)<span></span>
</td>
<td class="nump">356,000<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Loss before income taxes</a></td>
<td class="num">(133,309,000)<span></span>
</td>
<td class="num">(190,680,000)<span></span>
</td>
<td class="num">(222,628,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax expense (benefit)</a></td>
<td class="num">(221,000)<span></span>
</td>
<td class="nump">94,000<span></span>
</td>
<td class="nump">69,000<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net loss</a></td>
<td class="num">$ (133,088,000)<span></span>
</td>
<td class="num">$ (190,774,000)<span></span>
</td>
<td class="num">$ (222,697,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Net loss per share attributable to common stockholders, basic (in dollars per share)</a></td>
<td class="num">$ (1.03)<span></span>
</td>
<td class="num">$ (1.57)<span></span>
</td>
<td class="num">$ (1.92)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Net loss per share attributable to common stockholders, diluted (in dollars per share)</a></td>
<td class="num">$ (1.03)<span></span>
</td>
<td class="num">$ (1.57)<span></span>
</td>
<td class="num">$ (1.92)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted-average shares used in computing net loss per share attributable to common stockholders, basic (in shares)</a></td>
<td class="nump">128,770<span></span>
</td>
<td class="nump">121,723<span></span>
</td>
<td class="nump">116,053<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted-average shares used in computing net loss per share attributable to common stockholders, diluted (in shares)</a></td>
<td class="nump">128,770<span></span>
</td>
<td class="nump">121,723<span></span>
</td>
<td class="nump">116,053<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Asset Impairment Charges, Excluding Operating Lease Impairment</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate cost of goods produced and sold and services rendered during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainsLossesOnExtinguishmentOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481303/470-50-40-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481303/470-50-40-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainsLossesOnExtinguishmentOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 940<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481913/940-20-25-1<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the cost of borrowed funds accounted for as interest expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483013/835-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentIncomeInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentIncomeInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482916/730-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 912<br> -SubTopic 730<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482517/912-730-25-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481283/985-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingAndMarketingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total amount of expenses directly related to the marketing or selling of products or services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingAndMarketingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698137422432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementOfOtherComprehensiveIncomeAbstract', window );"><strong>Statement of Other Comprehensive Income [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net loss</a></td>
<td class="num">$ (133,088)<span></span>
</td>
<td class="num">$ (190,774)<span></span>
</td>
<td class="num">$ (222,697)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract', window );"><strong>Other comprehensive loss:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent', window );">Foreign currency translation adjustment</a></td>
<td class="nump">565<span></span>
</td>
<td class="num">(255)<span></span>
</td>
<td class="num">(286)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent', window );">Gain (loss) on investments in available-for-sale-securities</a></td>
<td class="nump">7,713<span></span>
</td>
<td class="num">(6,404)<span></span>
</td>
<td class="num">(2,347)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent', window );">Total other comprehensive gain (loss)</a></td>
<td class="nump">8,278<span></span>
</td>
<td class="num">(6,659)<span></span>
</td>
<td class="num">(2,633)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">Comprehensive loss</a></td>
<td class="num">$ (124,810)<span></span>
</td>
<td class="num">$ (197,433)<span></span>
</td>
<td class="num">$ (225,330)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax and reclassification adjustment, of gain (loss) in value of unsold investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), attributable to parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-20<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to parent entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-20<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of other comprehensive income (loss) attributable to parent entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-20<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfOtherComprehensiveIncomeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfOtherComprehensiveIncomeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698139096880">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF STOCKHOLDERS&#8217; EQUITY - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Total</div></th>
<th class="th"><div>Common Class A</div></th>
<th class="th"><div>Common Class B</div></th>
<th class="th">
<div>Common Stock </div>
<div>Common Class A</div>
</th>
<th class="th">
<div>Common Stock </div>
<div>Common Class A </div>
<div>RSUs</div>
</th>
<th class="th">
<div>Common Stock </div>
<div>Common Class A </div>
<div>RSAs</div>
</th>
<th class="th">
<div>Common Stock </div>
<div>Common Class B</div>
</th>
<th class="th"><div>Additional Paid-in Capital</div></th>
<th class="th"><div>Accumulated Other Comprehensive Income (Loss)</div></th>
<th class="th"><div>Accumulated Deficit</div></th>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Beginning balance (in shares) at Dec. 31, 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">103,394,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,229,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance at Dec. 31, 2020</a></td>
<td class="nump">$ 1,061,865<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1<span></span>
</td>
<td class="nump">$ 1,350,050<span></span>
</td>
<td class="nump">$ 6<span></span>
</td>
<td class="num">$ (288,193)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercise of stock options (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,188,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Exercise of vested stock options</a></td>
<td class="nump">12,626<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,626<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestingOfEarlyExercisedStockOptionsNumberOfShares', window );">Vesting of early exercised stock options (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">48,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">43,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_StockIssuedDuringPeriodValueVestingOfEarlyExercisedStockOptions', window );">Vesting of early exercised stock options</a></td>
<td class="nump">405<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">405<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross', window );">Vesting of restricted stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,000,000<span></span>
</td>
<td class="nump">448,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_StockSoldDuringPeriodSharesRestrictedStockAward', window );">Proceeds from sale of restricted shares (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">224,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_StockSoldDuringPeriodValueRestrictedStockAward', window );">Proceeds from sale of restricted shares</a></td>
<td class="nump">10,655<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,655<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans', window );">Shares issued under employee stock purchase program (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">236,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan', window );">Shares issued under employee stock purchase program</a></td>
<td class="nump">8,798<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,798<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">144,934<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">144,934<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities', window );">Conversion of Class B to Class A Stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,272,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(10,272,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities', window );">Conversion of Class B common stock to Class A common stock</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (1)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net loss</a></td>
<td class="num">(222,697)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(222,697)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent', window );">Other comprehensive income (loss)</a></td>
<td class="num">(2,633)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,633)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Ending balance (in shares) at Dec. 31, 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">118,811,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Dec. 31, 2021</a></td>
<td class="nump">1,013,953<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">1,527,468<span></span>
</td>
<td class="num">(2,627)<span></span>
</td>
<td class="num">(510,890)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercise of stock options (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,778,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Exercise of vested stock options</a></td>
<td class="nump">5,688<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,688<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross', window );">Vesting of restricted stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,119,000<span></span>
</td>
<td class="nump">112,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans', window );">Shares issued under employee stock purchase program (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">516,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan', window );">Shares issued under employee stock purchase program</a></td>
<td class="nump">4,665<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,665<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">128,285<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">128,285<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net loss</a></td>
<td class="num">(190,774)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(190,774)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent', window );">Other comprehensive income (loss)</a></td>
<td class="num">$ (6,659)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(6,659)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Ending balance (in shares) at Dec. 31, 2022</a></td>
<td class="nump">124,336,171<span></span>
</td>
<td class="nump">124,300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">124,336,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Dec. 31, 2022</a></td>
<td class="nump">$ 955,158<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">1,666,106<span></span>
</td>
<td class="num">(9,286)<span></span>
</td>
<td class="num">(701,664)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercise of stock options (in shares)</a></td>
<td class="nump">291,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">291,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Exercise of vested stock options</a></td>
<td class="nump">$ 2,169<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,169<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross', window );">Vesting of restricted stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,150,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross', window );">Vesting of restricted stock units</a></td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_StockIssuedDuringPeriodSharesBonusProgram', window );">Shares issued under bonus program (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,193,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_StockIssuedDuringPeriodValueBonusProgram', window );">Shares issued under bonus program</a></td>
<td class="nump">16,599<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16,599<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans', window );">Shares issued under employee stock purchase program (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,022,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan', window );">Shares issued under employee stock purchase program</a></td>
<td class="nump">8,692<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,692<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">121,679<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">121,679<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net loss</a></td>
<td class="num">(133,088)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(133,088)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent', window );">Other comprehensive income (loss)</a></td>
<td class="nump">$ 8,278<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,278<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Ending balance (in shares) at Dec. 31, 2023</a></td>
<td class="nump">132,992,126<span></span>
</td>
<td class="nump">133,000,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">132,992,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Dec. 31, 2023</a></td>
<td class="nump">$ 979,488<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 1,815,245<span></span>
</td>
<td class="num">$ (1,008)<span></span>
</td>
<td class="num">$ (834,752)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestingOfEarlyExercisedStockOptionsNumberOfShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Share-based Compensation Arrangement By Share-based Payment Award, Options, Vesting Of Early Exercised Stock Options, Number Of Shares</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestingOfEarlyExercisedStockOptionsNumberOfShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_StockIssuedDuringPeriodSharesBonusProgram">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Stock Issued During Period, Shares, Bonus Program</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_StockIssuedDuringPeriodSharesBonusProgram</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_StockIssuedDuringPeriodValueBonusProgram">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Stock Issued During Period, Value, Bonus Program</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_StockIssuedDuringPeriodValueBonusProgram</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_StockIssuedDuringPeriodValueVestingOfEarlyExercisedStockOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Stock Issued During Period, Value, Vesting Of Early Exercised Stock Options</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_StockIssuedDuringPeriodValueVestingOfEarlyExercisedStockOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_StockSoldDuringPeriodSharesRestrictedStockAward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Stock Sold During Period, Shares, Restricted Stock Award</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_StockSoldDuringPeriodSharesRestrictedStockAward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_StockSoldDuringPeriodValueRestrictedStockAward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Stock Sold During Period, Value, Restricted Stock Award</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_StockSoldDuringPeriodValueRestrictedStockAward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481089/718-20-55-13<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481089/718-20-55-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInStockholdersEquityRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of other comprehensive income (loss) attributable to parent entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-20<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued during the period as a result of the conversion of convertible securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-3<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-30)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued during the period as a result of an employee stock purchase plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The gross value of stock issued during the period upon the conversion of convertible securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate change in value for stock issued during the period as a result of employee stock purchase plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate value of stock related to Restricted Stock Awards issued during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued as a result of the exercise of stock options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698137532240">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Cash flows from operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net loss</a></td>
<td class="num">$ (133,088,000)<span></span>
</td>
<td class="num">$ (190,774,000)<span></span>
</td>
<td class="num">$ (222,697,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net loss to net cash used in operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationNonproduction', window );">Depreciation expense</a></td>
<td class="nump">51,602,000<span></span>
</td>
<td class="nump">42,619,000<span></span>
</td>
<td class="nump">28,799,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization of intangible assets</a></td>
<td class="nump">20,424,000<span></span>
</td>
<td class="nump">21,696,000<span></span>
</td>
<td class="nump">21,238,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense', window );">Non-cash lease expense</a></td>
<td class="nump">22,678,000<span></span>
</td>
<td class="nump">25,448,000<span></span>
</td>
<td class="nump">23,065,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfFinancingCostsAndDiscounts', window );">Amortization of debt discount and issuance costs</a></td>
<td class="nump">2,476,000<span></span>
</td>
<td class="nump">3,169,000<span></span>
</td>
<td class="nump">3,185,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostAmortization', window );">Amortization of deferred contract costs</a></td>
<td class="nump">15,548,000<span></span>
</td>
<td class="nump">8,916,000<span></span>
</td>
<td class="nump">6,294,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="nump">136,303,000<span></span>
</td>
<td class="nump">145,796,000<span></span>
</td>
<td class="nump">140,488,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred income taxes</a></td>
<td class="num">(900,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProvisionForDoubtfulAccounts', window );">Provision for credit losses</a></td>
<td class="nump">2,025,000<span></span>
</td>
<td class="nump">2,406,000<span></span>
</td>
<td class="nump">196,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment', window );">(Gain) loss on disposals of property and equipment</a></td>
<td class="nump">505,000<span></span>
</td>
<td class="nump">854,000<span></span>
</td>
<td class="num">(300,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments', window );">Amortization and accretion of discounts and premiums on investments</a></td>
<td class="num">(646,000)<span></span>
</td>
<td class="nump">3,137,000<span></span>
</td>
<td class="nump">2,221,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseImpairmentLoss', window );">Impairment of operating lease right-of-use assets</a></td>
<td class="nump">744,000<span></span>
</td>
<td class="nump">2,083,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment', window );">Impairment expense</a></td>
<td class="nump">4,316,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Net gain on extinguishment of debt</a></td>
<td class="num">(52,416,000)<span></span>
</td>
<td class="num">(54,391,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNoncashIncomeExpense', window );">Other adjustments</a></td>
<td class="nump">648,000<span></span>
</td>
<td class="nump">3,688,000<span></span>
</td>
<td class="nump">4,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="num">(32,945,000)<span></span>
</td>
<td class="num">(27,359,000)<span></span>
</td>
<td class="num">(14,563,000)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">8,709,000<span></span>
</td>
<td class="num">(6,758,000)<span></span>
</td>
<td class="num">(4,777,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets', window );">Other assets</a></td>
<td class="num">(23,137,000)<span></span>
</td>
<td class="num">(35,396,000)<span></span>
</td>
<td class="num">(10,423,000)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="nump">382,000<span></span>
</td>
<td class="num">(4,724,000)<span></span>
</td>
<td class="nump">146,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilities', window );">Accrued expenses</a></td>
<td class="num">(7,856,000)<span></span>
</td>
<td class="nump">8,289,000<span></span>
</td>
<td class="nump">4,261,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_IncreaseDecreaseInOperatingLeaseLiabilities', window );">Operating lease liabilities</a></td>
<td class="num">(22,074,000)<span></span>
</td>
<td class="num">(22,778,000)<span></span>
</td>
<td class="num">(22,629,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities', window );">Other liabilities</a></td>
<td class="nump">7,064,000<span></span>
</td>
<td class="nump">4,447,000<span></span>
</td>
<td class="nump">7,010,000<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash (used in) provided by operating activities</a></td>
<td class="nump">362,000<span></span>
</td>
<td class="num">(69,632,000)<span></span>
</td>
<td class="num">(38,482,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash flows from investing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireShortTermInvestments', window );">Purchases of marketable securities</a></td>
<td class="num">(132,233,000)<span></span>
</td>
<td class="num">(355,479,000)<span></span>
</td>
<td class="num">(928,155,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities', window );">Sales of marketable securities</a></td>
<td class="nump">25,625,000<span></span>
</td>
<td class="nump">161,918,000<span></span>
</td>
<td class="nump">66,527,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities', window );">Maturities of marketable securities</a></td>
<td class="nump">433,767,000<span></span>
</td>
<td class="nump">535,040,000<span></span>
</td>
<td class="nump">118,085,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Business acquisitions, net of cash acquired</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(25,902,000)<span></span>
</td>
<td class="num">(1,169,000)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_AdvancesForPaymentsOfPropertyPlantAndEquipment', window );">Advance payment for purchase of property and equipment</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(42,197,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchases of property and equipment</a></td>
<td class="num">(10,976,000)<span></span>
</td>
<td class="num">(19,975,000)<span></span>
</td>
<td class="num">(34,816,000)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment', window );">Proceeds from sale of property and equipment</a></td>
<td class="nump">49,000<span></span>
</td>
<td class="nump">492,000<span></span>
</td>
<td class="nump">588,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForSoftware', window );">Capitalized internal-use software</a></td>
<td class="num">(21,292,000)<span></span>
</td>
<td class="num">(18,146,000)<span></span>
</td>
<td class="num">(13,479,000)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireIntangibleAssets', window );">Purchases of intangible assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(2,092,000)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash (used in) provided by investing activities</a></td>
<td class="nump">294,940,000<span></span>
</td>
<td class="nump">235,751,000<span></span>
</td>
<td class="num">(794,511,000)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from financing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromConvertibleDebt', window );">Issuance of convertible note, net of issuance costs</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">930,775,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfDebtIssuanceCosts', window );">Payments of debt issuance costs</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(1,351,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfDebtExtinguishmentCosts', window );">Cash paid for debt extinguishment</a></td>
<td class="num">(310,540,000)<span></span>
</td>
<td class="num">(177,082,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeasePrincipalPayments', window );">Repayments of finance lease liabilities</a></td>
<td class="num">(27,175,000)<span></span>
</td>
<td class="num">(22,532,000)<span></span>
</td>
<td class="num">(13,568,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_ProceedsFromEarlySaleOfRestrictedShares', window );">Cash received for restricted stock sold in advance of vesting conditions</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">10,655,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_PaymentsForEarlySaleOfRestrictedShares', window );">Cash paid for early sale of restricted shares</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(10,655,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_DeferredPaymentForBusinessCombinations', window );">Payment of deferred consideration for business acquisitions</a></td>
<td class="num">(4,393,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds from exercise of vested stock options</a></td>
<td class="nump">2,169,000<span></span>
</td>
<td class="nump">5,688,000<span></span>
</td>
<td class="nump">12,626,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromStockPlans', window );">Proceeds from employee stock purchase plan</a></td>
<td class="nump">8,559,000<span></span>
</td>
<td class="nump">4,777,000<span></span>
</td>
<td class="nump">8,069,000<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash (used in) provided by financing activities</a></td>
<td class="num">(331,380,000)<span></span>
</td>
<td class="num">(189,149,000)<span></span>
</td>
<td class="nump">936,551,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Effects of exchange rate changes on cash, cash equivalents, and restricted cash</a></td>
<td class="nump">608,000<span></span>
</td>
<td class="num">(390,000)<span></span>
</td>
<td class="num">(477,000)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase (decrease) in cash, cash equivalents, and restricted cash</a></td>
<td class="num">(35,470,000)<span></span>
</td>
<td class="num">(23,420,000)<span></span>
</td>
<td class="nump">103,081,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash, cash equivalents, and restricted cash at beginning of period</a></td>
<td class="nump">143,541,000<span></span>
</td>
<td class="nump">166,961,000<span></span>
</td>
<td class="nump">63,880,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash, cash equivalents, and restricted cash at end of period</a></td>
<td class="nump">108,071,000<span></span>
</td>
<td class="nump">143,541,000<span></span>
</td>
<td class="nump">166,961,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowElementsAbstract', window );"><strong>Supplemental disclosure of cash flow information:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestPaidNet', window );">Cash paid for interest</a></td>
<td class="nump">1,574,000<span></span>
</td>
<td class="nump">2,656,000<span></span>
</td>
<td class="nump">1,938,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaidNet', window );">Cash paid for income taxes, net of refunds received</a></td>
<td class="nump">331,000<span></span>
</td>
<td class="nump">250,000<span></span>
</td>
<td class="nump">267,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract', window );"><strong>Noncash investing and financing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CapitalExpendituresIncurredButNotYetPaid', window );">Property&#160;and&#160;equipment&#160;additions&#160;not&#160;yet&#160;paid&#160;in&#160;cash or financed</a></td>
<td class="nump">640,000<span></span>
</td>
<td class="nump">1,492,000<span></span>
</td>
<td class="nump">18,275,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_VestingOfEarlyExercisedStockOptions', window );">Vesting of early-exercised stock options</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">405,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_ShareBasedPaymentArrangementNoncashAmountCapitalizedIntoInternalUseSoftware', window );">Stock-based compensation capitalized to internal-use software</a></td>
<td class="nump">9,975,000<span></span>
</td>
<td class="nump">7,997,000<span></span>
</td>
<td class="nump">4,446,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability', window );">Assets obtained in exchange for operating lease obligations</a></td>
<td class="nump">5,769,000<span></span>
</td>
<td class="nump">29,606,000<span></span>
</td>
<td class="nump">32,458,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability', window );">Assets obtained in exchange for finance lease obligations</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">23,575,000<span></span>
</td>
<td class="nump">31,529,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_NoncashChangeInOperatingLeaseAssetsAndLiabilities', window );">Net non-cash change in operating lease assets and liabilities associated with modifications and terminations</a></td>
<td class="num">(4,425,000)<span></span>
</td>
<td class="nump">3,126,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestPaidCapitalized', window );">Interest paid for finance leases</a></td>
<td class="nump">1,329,000<span></span>
</td>
<td class="nump">2,381,000<span></span>
</td>
<td class="nump">1,754,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_PaymentForBusinessIncurredButNotYetPaid', window );">Purchase consideration associated with business combination, accrued but not paid</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">8,000,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_DeploymentsOfPrepaidCapitalEquipment', window );">Deployments of prepaid capital equipment</a></td>
<td class="nump">8,665,000<span></span>
</td>
<td class="nump">5,184,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_ReceivableRelatedToSharesOfRestrictedStock', window );">Receivable related to shares of restricted stock</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">10,655,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract', window );"><strong>Reconciliation of cash, cash equivalents, and restricted cash as shown in the statements of cash flows</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">107,921,000<span></span>
</td>
<td class="nump">143,391,000<span></span>
</td>
<td class="nump">166,068,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCashCurrent', window );">Restricted cash</a></td>
<td class="nump">150,000<span></span>
</td>
<td class="nump">150,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCashEquivalents', window );">Restricted cash included in other assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">893,000<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Total cash, cash equivalents, and restricted cash</a></td>
<td class="nump">$ 108,071,000<span></span>
</td>
<td class="nump">$ 143,541,000<span></span>
</td>
<td class="nump">$ 166,961,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_AdvancesForPaymentsOfPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Advances For Payments Of Property, Plant, And Equipment</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_AdvancesForPaymentsOfPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Asset Impairment Charges, Excluding Operating Lease Impairment</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_DeferredPaymentForBusinessCombinations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deferred Payment For Business Combinations</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_DeferredPaymentForBusinessCombinations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_DeploymentsOfPrepaidCapitalEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deployments Of Prepaid Capital Equipment</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_DeploymentsOfPrepaidCapitalEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_IncreaseDecreaseInOperatingLeaseLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Increase (Decrease) In Operating Lease Liabilities</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_IncreaseDecreaseInOperatingLeaseLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_NoncashChangeInOperatingLeaseAssetsAndLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Noncash Change In Operating Lease Assets And Liabilities</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_NoncashChangeInOperatingLeaseAssetsAndLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_PaymentForBusinessIncurredButNotYetPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Payment For Business Incurred, But Not Yet Paid</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_PaymentForBusinessIncurredButNotYetPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_PaymentsForEarlySaleOfRestrictedShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Payments For Early Sale Of Restricted Shares</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_PaymentsForEarlySaleOfRestrictedShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_ProceedsFromEarlySaleOfRestrictedShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Proceeds From Early Sale Of Restricted Shares</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_ProceedsFromEarlySaleOfRestrictedShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_ReceivableRelatedToSharesOfRestrictedStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Receivable Related to Shares of Restricted Stock</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_ReceivableRelatedToSharesOfRestrictedStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_ShareBasedPaymentArrangementNoncashAmountCapitalizedIntoInternalUseSoftware">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Share-Based Payment Arrangement, Noncash, Amount Capitalized Into Internal Use Software</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_ShareBasedPaymentArrangementNoncashAmountCapitalizedIntoInternalUseSoftware</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_VestingOfEarlyExercisedStockOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Vesting Of Early-Exercised Stock Options</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_VestingOfEarlyExercisedStockOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The sum of the periodic adjustments of the differences between securities' face values and purchase prices that are charged against earnings. This is called accretion if the security was purchased at a discount and amortization if it was purchased at premium. As a noncash item, this element is an adjustment to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfFinancingCostsAndDiscounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense attributable to debt discount (premium) and debt issuance costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69E<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69E<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69F<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69F<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfFinancingCostsAndDiscounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482686/350-30-45-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalExpendituresIncurredButNotYetPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Future cash outflow to pay for purchases of fixed assets that have occurred.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-3<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalExpendituresIncurredButNotYetPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedContractCostAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for asset recognized from cost incurred to obtain or fulfill contract with customer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 340<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479483/340-40-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -SubTopic 230<br> -Topic 830<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481877/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationNonproduction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The expense recognized in the current period that allocates the cost of nonproduction tangible assets over their useful lives.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationNonproduction</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 230<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481877/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeasePrincipalPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow for principal payment on finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeasePrincipalPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfPropertyPlantEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainsLossesOnExtinguishmentOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481303/470-50-40-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481303/470-50-40-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainsLossesOnExtinguishmentOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in operating assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherOperatingAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in operating liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherOperatingLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in prepaid expenses, and assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestPaidCapitalized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash paid for interest capitalized, classified as investing activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPaidCapitalized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncashInvestingAndFinancingItemsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseImpairmentLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of loss from impairment of right-of-use asset from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 6<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479365/842-20-25-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseImpairmentLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of periodic reduction over lease term of carrying amount of right-of-use asset from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNoncashIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNoncashIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForSoftware">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the development, modification or acquisition of software programs or applications for internal use (that is, not to be sold, leased or otherwise marketed to others) that qualify for capitalization.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForSoftware</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfDebtExtinguishmentCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow for cost from early extinguishment and prepayment of debt. Includes, but is not limited to, third-party cost, premium paid, and other fee paid to lender directly for debt extinguishment or debt prepayment. Excludes accrued interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (g)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDebtExtinguishmentCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfDebtIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow paid to third parties in connection with debt origination, which will be amortized over the remaining maturity period of the associated long-term debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDebtIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireShortTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for securities or other assets acquired, which qualify for treatment as an investing activity and are to be liquidated, if necessary, within the current operating cycle. Includes cash flows from securities classified as trading securities that were acquired for reasons other than sale in the short-term.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireShortTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromConvertibleDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the issuance of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromConvertibleDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from sale, maturity, prepayment and call of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481830/320-10-45-11<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the aggregate amount received by the entity through sale or maturity of marketable securities (held-to-maturity or available-for-sale) during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromStockPlans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the amount received from the stock plan during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromStockPlans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (reversal of expense) for expected credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCashCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash restricted as to withdrawal or usage, classified as current. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash equivalents restricted as to withdrawal or usage. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480632/954-210-45-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480602/954-210-50-2<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-8<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(1)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in right-of-use asset obtained in exchange for finance lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in right-of-use asset obtained in exchange for operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalCashFlowElementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalCashFlowElementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698141178352">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Nature of Business<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Organization, Consolidation and Presentation of Financial Statements [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NatureOfOperations', window );">Nature of Business</a></td>
<td class="text">Nature of Business<div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fastly, Inc. has built an edge cloud platform that can process, serve, and secure its customer&#8217;s applications as close to their end users as possible. As of December&#160;31, 2023, the Company&#8217;s edge network spans across 79 markets around the world. The Company was incorporated in Delaware in 2011 and is headquartered in San Francisco, California.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As used herein,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> &#8220;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fastly,&#8221; &#8220;the Company,&#8221;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8220;its&#8221; and similar terms include Fastly, Inc. and its subsidiaries, unless the context indicates otherwise.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Conversion of Dual Class Common Stock Structure</span></div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On July 12, 2021, all outstanding shares of Class B common stock automatically converted into the same number of shares of Class A common stock (the &#8220;Conversion&#8221;) pursuant to the terms of the Company&#8217;s amended and restated certificate of incorporation (the &#8220;Certificate&#8221;). Upon the Conversion, outstanding options denominated in shares of Class B common stock issued under any of the Company&#8217;s equity incentive plans remained unchanged, except that such options now represent the right to receive shares of Class A common stock on exercise. In accordance with the Certificate, the shares of Class B common stock that converted to Class A common stock were retired and will not be reissued by the Company.</span><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NatureOfOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//275/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NatureOfOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698240515376">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SignificantAccountingPoliciesTextBlock', window );">Summary of Significant Accounting Policies</a></td>
<td class="text">Summary of Significant Accounting Policies<div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Basis of Presentation and Consolidation</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying consolidated financial statements and footnotes have been prepared in accordance with accounting principles generally accepted in the United States of America (&#8220;GAAP&#8221;). The accompanying consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries. All intercompany transactions and balances have been eliminated in consolidation.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certain changes to presentation have been made to conform the prior period presentation to the current period reporting. The Company has made certain presentation changes to consolidate the interest paid on finance lease line into other liabilities working capital changes and components of the non-cash lease expense related to operating lease liability changes into operating lease liability working capital changes within operating cash flows in the consolidated statements of cash flows. Such reclassifications did not affect the consolidated balance sheets, total revenues, operating income, net income, or cash flows from operating, investing or financing activities. </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Use of Estimates</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of consolidated financial statements in conformity with GAAP requires management to make estimates, judgments, and assumptions that affect the reported amounts of assets, liabilities, revenue, costs and expenses, and related disclosures. Actual results and outcomes could differ significantly from the Company&#8217;s estimates, judgments, and assumptions. Significant estimates, judgments, and assumptions used in these financial statements include, but are not limited to, those related to revenue, accounts receivable and related reserves, internal-use software development costs, the incremental borrowing rate related to the Company&#8217;s lease liabilities,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">fair value of assets acquired and liabilities assumed during business combinations, useful lives of acquired intangible assets and property and equipment, fair value of the Company&#8217;s long-lived assets as well as reporting unit, income tax reserves, and accounting for stock-based compensation. Estimates are periodically reviewed in light of changes in circumstances, facts, and experience. The effects of material revisions in estimates are reflected in the consolidated financial statements in the period of change and prospectively from the date of the change in estimate.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Concentrations of Credit Risk</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Financial instruments that potentially subject the Company to significant concentrations of credit risk consist primarily of cash, cash equivalents, marketable securities and accounts receivable. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s cash, cash equivalents, and marketable securities primarily consisted of bank deposits, money market funds, investment-grade commercial paper, corporate notes and bonds, U.S. treasury securities, agency bonds, municipal securities, foreign government and supranational securities and asset-backed securities held at major financial institutions that </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">the Company believes to be of high credit standing. The primary focus of its investment strategy is to preserve capital and meet liquidity requirements. The Company&#8217;s investment policy limits the amount of credit exposure with any one financial institution or commercial issuer. The Company maintains deposits in federally insured financial institutions in excess of federally insured limits. The Company is exposed to credit risk in the event of default by the financial institutions holding its cash and cash equivalents to the extent recorded in the balance sheets. While the Company has not experienced any losses in such accounts and the Company has historically maintained its cash in multiple financial institutions, the failure of Silicon Valley Bank (&#8220;SVB&#8221;) in March 2023, at which the Company held cash and cash equivalents in multiple accounts, exposed the Company to limited credit risk prior to the completion by the Federal Deposit Insurance Corporation (&#8220;FDIC&#8221;) of the resolution of SVB in a manner that fully protected all depositors.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Concentrations of credit risk with respect to accounts receivable are primarily limited to certain customers to which the Company makes substantial sales. The Company&#8217;s customer base consists of a large number of geographically dispersed customers diversified across several industries. No customer accounted for more than 10% of revenue for both the years ended December&#160;31, 2023, 2022 and 2021. One customer accounted for more than 10% of the total accounts receivable balance as of December&#160;31, 2023, whereas no customers accounted for more than 10% of the total accounts receivable balance as of December&#160;31, 2022. Affiliated customers that are business units of a single company in the streaming entertainment space generated an aggregate of 12%, 11% and 11% of the Company&#8217;s revenue for the years ended December&#160;31, 2023, 2022 and 2021, respectively. The same affiliated customers accounted for an aggregate of 23% and 15% of the Company&#8217;s accounts receivable balance as of December&#160;31, 2023 and 2022, respectively.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash, Cash Equivalents and Marketable Securities</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash and cash equivalents include cash held in banks, highly liquid money market funds, U.S. treasury securities and commercial paper, all with original maturities of three months or less when acquired. The Company&#8217;s short-term and long-term marketable securities consists of fixed income U.S. and foreign government agency securities, corporate bonds, agency bonds, asset-backed securities and commercial paper. Management determines the appropriate classification of the Company&#8217;s investments at the time of purchase and reevaluates such designation at each balance sheet date. The Company classifies its marketable securities as either short-term or long-term based on each instrument&#8217;s underlying remaining contractual maturity date.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company classifies its marketable securities as available-for-sale as it has the ability to sell the marketable securities prior to its maturity. The Company&#8217;s marketable securities are reported at fair value with unrealized gains and losses reported, net of tax, as a separate component of accumulated other comprehensive income (loss) in stockholders&#8217; equity. Cash and cash equivalents are stated at cost, which approximate fair market value. Short-term and long-term marketable securities are classified as available-for-sale debt securities and are also carried at fair market value. When the available-for-sale debt securities are sold, cost is based on the specific identification method, and the realized gains and losses are included in other income (expense), net in the consolidated statements of operations.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company evaluates its investments periodically for possible other-than-temporary impairment. A decline in fair value below the amortized costs of its available-for-sale debt securities is considered an other-than-temporary impairment if the Company has the intent to sell the security or it is more likely than not that the Company will be required to sell the security before recovery of the entire amortized cost basis. Otherwise, the credit loss component of the impairment is recorded as allowance for credit losses with an offsetting entry charged to other income (expense), net, while the remaining loss is recognized in other comprehensive income (loss).</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Restricted Cash</span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of both December&#160;31, 2023 and 2022, the Company had a restricted cash balance of $0.2 million, which consists of a letter of credit related to a lease arrangement that is collateralized by restricted cash. As of December&#160;31, 2023 and 2022, these amounts are included in prepaid expenses and other current assets on the consolidated balance sheets. </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Accounts Receivable, net</span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts receivable are recorded and carried at the original invoiced amount, net of an allowance for any potential credit losses. The allowance for credit losses is determined based upon the assessment of various factors, such as historical experience, credit quality of its customers, age of the accounts receivable balances, geographic related risks, economic </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">conditions, and other factors that may affect a customer&#8217;s ability to pay. The Company records these charges as a component of general and administrative expenses in the consolidated statements of operations in the period in which the change occurs. The Company does not have any&#160;off-balance&#160;sheet credit exposure related to its customers.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Incremental Costs to Obtain a Contract with a Customer</span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company capitalizes incremental costs associated with obtaining customer contracts, specifically certain commission payments. The Company pays commissions based on contract value upon signing a new arrangement with a customer and upon renewal and upgrades of existing contracts with customers only if the renewal and upgrades result in an incremental increase in contract value. These costs are deferred on the consolidated balance sheets and amortized over the expected period of benefit on a straight-line basis. The Company also pays commissions on an ongoing basis based upon revenue recognized. In these cases, no incremental costs are deferred, as the commissions are earned and expensed in the same period for which the associated revenue is recognized. Based on the nature of the Company&#8217;s technology and services, and the duration of its relationships with its customers, the expected period of benefit is determined to be five years. Amortization is primarily included in sales and marketing expense in the consolidated statements of operations. Deferred commission and incentive payments are included in other assets on the consolidated balance sheets.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Fair Value of Financial Instruments</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s available-for-sale securities are recorded at fair value. The Company&#8217;s cash and cash equivalents and restricted cash are recorded at cost, which approximates fair value. Additionally, accounts receivable, accounts payable, and accrued expenses approximate fair value due to their short-term nature. For disclosure purposes, the Company measures the fair value of its outstanding senior convertible notes using a market approach based on actual bids and offers in an over-the-counter market, or Level 2 inputs, on the last trading day of the period.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Property and Equipment</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment are stated at cost less accumulated depreciation and amortization. Depreciation and amortization are computed on a straight-line basis over the estimated useful lives of the assets. The estimated useful life of each asset category is as follows:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.444%"><tr><td style="width:1.0%"></td><td style="width:68.404%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:29.396%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Computer and networking equipment</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 to 5 years</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Leasehold improvements</span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Shorter of lease term or 5 years</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Furniture and fixtures</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 years</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Office equipment</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Internal-use software</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 to 5 years</span></div></td></tr></table></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company periodically reviews the estimated useful lives of property and equipment and any changes to the estimated useful lives are recorded prospectively from the date of the change. </span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Upon retirement or sale, the cost of the assets disposed of and the related accumulated depreciation are removed from the accounts, and any resulting gain or loss is included in the consolidated statements of operations. Repairs and maintenance costs are expensed as incurred.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Internal-Use Software Development Costs</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Labor and related costs associated with&#160;internal-use&#160;software incurred during the application development stage are capitalized.&#160;Capitalization of costs begins when the preliminary project stage is completed, management has committed to funding the project, and it is probable that the project will be completed and the software will be used to perform the function intended. Capitalization ceases at the point when the project is fully tested, is substantially completed and is ready for its intended purpose. The capitalized amounts are included in property and equipment, net on the consolidated balance sheets. The Company amortizes such costs on a straight-line basis over the estimated useful life of the software, which is generally <span style="-sec-ix-hidden:f-496">three</span> to five years. Completed&#160;internal-use&#160;software that is related to the Company&#8217;s network is amortized to cost of revenue over its </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">estimated useful life. Costs incurred during the planning, training, and post-implementation stages of the software development life-cycle are expensed as incurred.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Business Combinations</span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company accounts for its acquisitions using the acquisition method of accounting, which requires, among other things, allocation of the fair value of purchase consideration to the tangible and intangible assets acquired and liabilities assumed at their estimated fair values on the acquisition date. The excess of the fair value of purchase consideration over the values of these identifiable assets and liabilities is recorded as goodwill. </span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Determining the fair value of assets acquired and liabilities assumed requires significant judgment and estimates including the selection of valuation methodologies, future expected cash flows, discount rates, and useful lives. The Company&#8217;s estimates of fair value are based on assumptions believed to be reasonable, but which are inherently uncertain and, as a result, actual results may differ from estimates. During the measurement period, not to exceed one year from the date of acquisition, the Company may record adjustments to the assets acquired and liabilities assumed with a corresponding offset to goodwill to reflect new information obtained about facts and circumstances that existed as of the acquisition date. At the conclusion of the measurement period, or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments are reflected in the consolidated statements of operations.</span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Transaction costs associated with business combinations are expensed as incurred, and are included in general and administrative expense in the consolidated statements of operations.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Segments</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company considers operating segments to be components of the Company in which separate financial information is available and is evaluated regularly by the Company&#8217;s Chief Operating Decision Maker (&#8220;CODM&#8221;) in deciding how to allocate resources and in assessing performance. The CODM is the Chief Executive Officer (&#8220;CEO&#8221;). The CEO reviews financial information presented on a consolidated basis, accompanied by information about revenue, customer size, and industry vertical for purposes of allocating resources and evaluating financial performance.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">The Company has determined that it is organized as a single operating segment with no segment managers who are held accountable for operations, operating results, or plans for levels or components below the consolidated unit level. Accordingly, the Company has determined that it has a single reportable segment and operating segment.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Goodwill, Intangible Assets and Other Long-Lived Assets</span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill represents the excess of the purchase price of an acquired business over the fair value of the net tangible and identifiable intangible assets acquired. The carrying amount of goodwill is reviewed for impairment at least annually, in the fourth quarter, or whenever events or changes in circumstances indicate that the carrying value may not be recoverable. The Company has a single operating segment and reporting unit structure for all of the periods presented.</span></div><div style="text-indent:27pt"><span><br/></span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As part of the annual goodwill impairment test, the Company first performs a qualitative assessment to determine whether further impairment testing is necessary. If, as a result of the qualitative assessment, it is more likely than not that the fair value of the reporting unit is less than its carrying amount, the quantitative impairment test will be required. If the Company has determined it necessary to perform a quantitative impairment assessment, the Company will compare the fair value of the reporting unit with its carrying amount and recognize an impairment charge for the amount by which the carrying amount exceeds the reporting unit&#8217;s fair value, limited to the total amount of goodwill of the reporting unit. The Company did not recognize any goodwill impairment charges for any of the periods presented.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s definite lived intangible assets are carried at cost, net of accumulated amortization. Intangible assets are amortized on a straight-line basis over their estimated useful lives. The Company estimates the useful life by estimating the expected period of economic benefit. </span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The useful lives of the intangible assets are as follows:</span></div><div><span><br/></span></div><div style="margin-bottom:12pt;padding-left:36pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:90.789%"><tr><td style="width:1.0%"></td><td style="width:76.999%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:20.801%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 to 8 years</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Developed technology</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4 to 5 years</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trade names</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 to 4 years</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Backlog</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2 years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Internet protocol addresses</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10 years</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">In-process research and development (&#8220;IPR&amp;D&#8221;)</span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Indefinite</span></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-lived assets, including property and equipment, definite lived intangible assets, and operating lease right-of-use assets, are reviewed for impairment whenever events or changes in circumstances, such as service discontinuance, technological obsolescence, significant decreases in market capitalization, facility closures, or work-force reductions indicate that the carrying amount of the long-lived asset or asset group may not be recoverable. When such events occur, the Company compares the carrying amount of the asset or asset group to the undiscounted expected future cash flows related to the asset or asset group. If this comparison indicates that an impairment is present, the amount of impairment is calculate as the difference between the carrying amount and the fair value of the asset or asset group. The Company&#8217;s indefinite lived intangibles are assessed annually for impairment. In addition to the recoverability assessment, the Company periodically reviews the remaining estimated useful lives of long-lived assets. If the estimated useful life assumption for any asset is changed due to new information, the remaining unamortized balance would be depreciated or amortized over the revised estimated useful life, on a prospective basis. Refer to Note 6 &#8212; Balance Sheet Information and Note 7 &#8212; Leases for discussion of impairment of property and equipment and impairment of operating lease right-of-use asset, respectively.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Leases </span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leases office space and data centers (&#8220;colocation leases&#8221;) under non-cancelable operating leases with various expiration dates. The Company also leases server equipment under non-cancelable finance leases with various expiration dates. The Company determines if an arrangement contains a lease at inception.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating lease right-of-use assets and lease liabilities are recognized at the present value of the future lease payments at commencement date. The interest rate implicit in the Company&#8217;s operating leases is not readily determinable, and therefore an incremental borrowing rate is estimated to determine the present value of future payments. The estimated incremental borrowing rate factors in a hypothetical interest rate on a collateralized basis with similar terms, payments, and economic environments. Operating lease right-of-use assets also include any prepaid lease payments and exclude lease incentives.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating lease expense is recognized on a straight-line basis over the lease term commencing on the date the Company has the right to use the leased property. The lease terms may include options to extend or terminate the lease. The Company generally uses the base, non-cancelable, lease term when recognizing the lease assets and liabilities, unless it is reasonably certain that the option will be exercised. The lease agreements may contain variable costs such as common area maintenance, operating expenses or other costs. Variable lease costs are expensed as incurred on the consolidated statements of operations. The Company&#8217;s lease agreements generally do not contain any residual value guarantees or restrictive covenants.</span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certain of our operating leases contain both lease and non-lease components. Non-lease components for our office spaces include fixed payments for maintenance, utilities, real estate taxes, and management fees. Non-lease components for colocation leases include fixed payments for utilities and other operating costs. For both office spaces and colocation leases, the Company combines fixed lease and non-lease components and account for them as a single lease component.</span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leases networking equipment from a third party, through equipment finance leases. These leases include a bargain purchase option, resulting in a full transfer of ownership at the completion of the lease term. </span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating leases are reflected in operating lease right-of-use assets, operating lease liabilities, and operating lease liabilities, non-current on the consolidated balance sheets. Finance leases are included in property and equipment, net, finance lease liabilities, and finance lease liabilities, non-current on the consolidated balance sheets.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Convertible Debt</span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company evaluated the terms of its debt in line with Accounting Standards Update (&#8220;ASU&#8221;) 2020-06 and concluded that the instrument does not require separation and that there were no other derivatives that required separation. The Company has combined these features with the host contract and accounted for the convertible debt as a single liability in long-term debt on the consolidated balance sheets. The carrying amount of the liability is based on the gross proceeds, net of the unamortized transaction costs incurred related to the issuance of the convertible debt instrument, and the partial repurchases made in 2022 and 2023. The debt discount from the net unamortized transaction cost is amortized to interest expense over the term of the convertible debt instrument using the effective interest rate method.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue recognition</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company primarily derives revenue from the sale of services to customers executing contracts in which the standard contract term is one year, although terms may vary by contract. Most of the Company&#8217;s contracts are non-cancelable over the contractual term. The majority of the Company&#8217;s usage-based contracts commit the customer to a minimum monthly level of usage and specify the rate at which the customer must pay for actual usage above the monthly minimum. The Company also offers subscriptions to access a unified security web application and application programming interface at a fixed rate.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recognizes revenue in accordance with Accounting Standards Codification (&#8220;ASC&#8221;) 606, where revenue is recognized upon transfer of control of promised products or services to customers in an amount that reflects the consideration the Company expects to receive in exchange for those products or services. The processing and recording of certain revenue requires a manual process, which uses a complex set of procedures to generate complete and accurate data to record these revenue transactions. The Company enters into contracts that can include various combinations of products and services, each of which are distinct and accounted for as separate performance obligations. Revenue is recognized net of any taxes collected from customers, which are subsequently remitted to governmental authorities.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s contracts with customers often include promises to transfer multiple products and services to a customer. Determining whether products and services are considered distinct performance obligations that should be accounted for separately versus together may require significant judgment. Performance obligations generally represent stand-ready obligations that are satisfied over time as the customer simultaneously receives and consumes the benefits provided by the Company. These obligations can be network services, security, compute, professional services, support, and other edge cloud platform services.  Accordingly, the Company&#8217;s revenue is recognized over time, consistent with the pattern of benefit provided to the customer over the term of the agreement. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For contracts with multiple performance obligations that are delivered over different time periods, the Company allocates the contract transaction price to each performance obligation using the estimated standalone selling price (</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#8220;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">SSP&#8221;) of each distinct good or service in the contract. Judgment is required to determine the SSP for each distinct performance obligation. The Company analyzes separate sales of its products and services or the discounted list price per management&#8217;s approved price list as a basis for estimating the SSP of these products and services. In instances where SSP is not directly observable, such as when the Company does not sell the product or service separately, the Company determines the SSP using information that may include market conditions and other observable inputs. The Company typically has more than one SSP for individual products and services due to the stratification of those products and services by customers and circumstances. In these instances, the Company may use information, such as geographic region and distribution channel, in determining the SSP.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The transaction price in a contract for usage-based services is typically equal to the minimum commit price in the contract plus any variable amounts of usage above the minimum commitment, less any discounts provided. The transaction price in a contract that does not contain usage-based services is equal to the total contract value. Because the Company&#8217;s typical contracts represent distinct services delivered over time with the same pattern of transfer to the customer, usage-based consideration primarily related to actual consumption over the minimum commit levels is allocated to the period to which it relates. The amount of consideration recognized for usage above the minimum commit price is limited to the amount the Company expects to be entitled to receive in exchange for providing services. The Company has elected to apply the practical expedient for estimating and disclosing the variable consideration when variable consideration is allocated entirely to a wholly unsatisfied performance obligation or to a wholly unsatisfied promise to transfer a distinct good or service that forms part of a single performance obligation from its remaining performance obligations under these contracts. For contracts to which such practical expedient cannot be applied, consideration is estimated. For custom arrangements, other methods may be used as a measure of progress towards satisfying the performance obligations. Revenue on the Company&#8217;s subscription services are recognized ratably over their respective contractual term.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At times, customers may request changes that either amend, replace, or cancel existing contracts. Judgment is required to determine whether the specific facts and circumstances within the contracts should be accounted for as a separate contract or as a prospective modification.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In contracts where there are timing differences between when the Company transfers a promised good or service to the customer and when the customer pays for that good or service, the Company has determined its contracts do not include a significant financing component. The Company has also elected the practical expedient to not measure financing components for any contract where the timing difference is less than one year.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cost of Revenue</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenue consists primarily of fees paid to network providers for bandwidth and to third-party network data centers for housing servers, also known as colocation costs. Cost of revenue also includes employee costs for network operation, build-out and support and services delivery, network storage costs, cost of managed services and software-as-a-service, depreciation of network equipment used to deliver services, and amortization of network-related internal-use software. The Company enters into contracts for bandwidth with third-party network providers with terms of typically one year. These contracts generally commit the Company to pay minimum monthly fees plus additional fees for bandwidth usage above the committed level. The Company enters into contracts for colocation services with third-party providers with terms typically ranging from <span style="-sec-ix-hidden:f-514">one</span> to six years.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Research and Development Costs</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development costs consist of primarily payroll and related personnel costs for the design, development, testing, and enhancement of the Company&#8217;s edge cloud platform. Research and development expenses also include cloud infrastructure fees for development and testing. Costs incurred in the development of the Company&#8217;s edge cloud platform are expensed as incurred, excluding those expenses which meet the criteria for the capitalization of internal-use software.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Advertising Expense</span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recognizes advertising expense as incurred. The Company recognized total advertising expense of approximately $4.6&#160;million, $2.5 million and $2.3&#160;million for the years ended December&#160;31, 2023, 2022, and 2021, respectively.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Accounting for Stock-Based Compensation</span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recognizes stock-based compensation expense based on the grant-date fair value of the awards. The fair values of the restricted stock units (&#8220;RSUs&#8221;), restricted stock awards (&#8220;RSAs&#8221;) and performance stock awards (&#8220;PSUs&#8221;) are based on the fair value of the Company&#8217;s stock price on the grant date. The fair values of stock options and ESPP are based on the Black-Scholes option-pricing model. The fair value of the market-based performance stock awards (&#8220;MPSUs&#8221;) is measured using a Monte Carlo simulation valuation model. </span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The determination of the fair value of a stock-based award is affected by the deemed fair value of the underlying stock price on the grant date, as well as assumptions regarding a number of other complex and subjective variables, including expected term and stock price volatility of the awards. </span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation expense for awards with service-based vesting only is recognized on a straight-line basis over the requisite service period of the awards, which is generally <span style="-sec-ix-hidden:f-522">three</span> or four years. In addition to service-based conditions, stock-based compensation expense for awards that have performance-based or market-based conditions are recognized over the requisite service period for each separately-vesting tranche as though each tranche of the award is its own separate grant, which results in an accelerated recognition of compensation cost. The Company accounts for forfeitures as they occur. </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Foreign Currency </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The functional currency of the Company&#8217;s foreign subsidiaries is the U.S. dollar. The monetary assets and liabilities that are denominated in a currency other than the U.S. dollar of the Company&#8217;s foreign subsidiaries are remeasured into U.S. dollars at the exchange rate on the balance sheet date, while non-monetary items are remeasured at historical rates. Revenue and expenses are remeasured at average exchange rates during the period. Transaction gains and losses that arise from exchange rate fluctuations on transactions denominated in a currency other than the functional currency are included in other income (expense), net in the consolidated statements of operations. The aggregate transaction gain or loss for the years ended December&#160;31, 2023, 2022 and 2021 is included in the determination of net income for the period and was not material to the respective periods.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Income Taxes</span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company accounts for income taxes under the asset and liability method, which requires the recognition of deferred tax assets and liabilities for the expected future tax consequences of events that have been included in the financial statements. Under this method, the Company determines deferred tax assets and liabilities on the basis of the differences between the financial statement and tax bases of assets and liabilities by using enacted tax rates for the year in which the differences are expected to reverse. The effect of a change in tax rates on deferred tax assets and liabilities is recognized in income in the period that includes the enactment date. </span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recognizes deferred tax assets to the extent that it believes that these assets are more likely than not to be realized. In making such a determination, the Company considers all available positive and negative evidence, including future reversals of existing taxable temporary differences, projected future taxable income,&#160;tax-planning&#160;strategies, and results of recent operations. If the Company determines that it would be able to realize its deferred tax assets in the future in excess of </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">their net recorded amount, the Company would make an adjustment to the deferred tax asset valuation allowance, which would reduce the provision for income taxes.</span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company records uncertain tax positions in accordance with ASC 740 on the basis of a&#160;two-step&#160;process in which (1)&#160;it determines whether it is more likely than not that the tax positions will be sustained on the basis of the technical merits of the position and (2)&#160;for those tax positions that meet the&#160;more-likely-than-not&#160;recognition threshold, the Company recognizes the largest amount of tax benefit that is more than 50&#160;percent likely to be realized upon ultimate settlement with the related tax authority.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recognizes interest and penalties related to unrecognized tax benefits on the income tax expense line in the accompanying consolidated statement of operations and consolidated statement of comprehensive loss. Accrued interest and penalties are included in accrued expenses on the consolidated balance sheet.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Net Loss Per Share Attributable to Common Stockholders</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic and diluted net loss per share is computed by dividing net loss by the weighted-average number of shares of common stock outstanding during the period. Diluted earnings per share attributable to common stockholders adjusts basic earnings per share for the potentially dilutive impact of stock options, restricted stock units, restricted stock awards, shares issuable under its employee stock purchase place and performance stock awards. The Company also applies the if-converted method for calculation of diluted per share for its convertible debt instruments. As the Company has reported losses for all periods presented, all potentially dilutive securities are antidilutive and accordingly, basic net loss per share equals diluted net loss per share. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Prior to the Conversion, the Company&#8217;s basic and diluted net loss per share attributable to common stockholders was presented in conformity with the two-class method required for multiple classes of common stock and participating securities. Under the&#160;two-class&#160;method, net income is attributed to common stockholders and participating securities based on their participation rights. Under the&#160;two-class&#160;method, basic net loss per share attributable to common stockholders is computed by dividing the net loss attributable to common stockholders by the weighted-average number of shares of common stock outstanding during the period. Diluted earnings per share attributable to common stockholders adjusts basic earnings per share for the potentially dilutive impact of stock options, restricted stock units, restricted stock awards, shares issuable under our employee stock purchase place and performance stock awards.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Recently Issued and Adopted Accounting Pronouncements</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In November 2023, the FASB issued ASU 2023-07 &#8220;Segment Reporting - Improvements to Reportable Segment Disclosures&#8221;, which updates reportable segment disclosure requirements, primarily through enhanced disclosures about significant segment expenses and information used to assess segment performance. The guidance is effective for the Company's annual periods beginning in 2024 and interim periods beginning in the first quarter of fiscal year 2025. The Company is currently evaluating the impact of the new guidance and intends to adopt the guidance retrospectively when it becomes effective in 2024.</span></div>In December, 2023, the FASB issued ASU 2023-09 &#8220;Income Taxes (Topic 740): Improvements to Income Tax Disclosures&#8221;, which expands disclosures in an entity&#8217;s income tax rate reconciliation table and regarding cash taxes paid both in the U.S. and foreign jurisdictions. The guidance is effective for the Company's annual periods beginning in 2025. The Company is currently evaluating the impact of the new guidance and intends to adopt the guidance prospectively when it becomes effective in 2025<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//235/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698133808448">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerTextBlock', window );">Revenue</a></td>
<td class="text">Revenue<div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Disaggregation of revenue</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue by geography is based on the billing address of the customer. Aside from the United States, no other single country accounted for more than 10% of revenue for the years ended December&#160;31, 2023, 2022 and 2021. The following table presents the Company&#8217;s net revenue by geographic region:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.099%"><tr><td style="width:1.0%"></td><td style="width:64.026%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.545%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.779%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.545%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.779%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.545%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.781%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">United States</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">370,424&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">316,149&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">260,399&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asia Pacific</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">72,873&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,073&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39,496&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Europe</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42,770&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,469&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,177&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">All other </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,921&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,034&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,258&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">505,988&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">432,725&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">354,330&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The majority of the Company&#8217;s revenue is derived from enterprise customers. In the first quarter of 2023, the Company updated its methodology (&#8220;new methodology&#8221;) by which it calculates its customer count metrics, including Total Customer Count, Enterprise Customer Count and associated metrics. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under the prior methodology, enterprise customers is defined as customers with revenue in excess of&#160;$100,000 over the trailing 12-month period. The following table presents the Company&#8217;s net revenue for enterprise and non-enterprise customers based on the prior methodology:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.099%"><tr><td style="width:1.0%"></td><td style="width:64.026%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.545%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.779%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.545%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.779%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.545%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.781%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Enterprise customers</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">458,472&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">386,853&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">313,360&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-enterprise customers</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47,516&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">45,872&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">40,970&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">505,988&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">432,725&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">354,330&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;margin-top:5pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under the new methodology, enterprise customers is defined as customers with annualized current quarter revenue in excess of $100,000. This is calculated by taking the sum of revenue for each customer within the quarter and multiplying it by four. The following table presents the Company&#8217;s net revenue for enterprise and non-enterprise customers based on the new methodology:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.099%"><tr><td style="width:1.0%"></td><td style="width:64.026%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.545%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.779%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.545%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.779%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.545%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.781%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Enterprise customers</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">464,452&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">393,152&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">315,918&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-enterprise customers</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,536&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39,573&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,412&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">505,988&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">432,725&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">354,330&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Contract balances</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The timing of revenue recognition may differ from the timing of invoicing to customers. The Company has an unconditional right to consideration when it invoices its customers and records a receivable. The Company records a contract asset, or a receivable, when revenue is recognized prior to invoicing. The Company records a contract liability, or deferred revenue, when revenue is recognized subsequent to invoicing.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred revenue includes amounts billed to customers for which revenue has not been recognized and consists of the unearned portions of edge cloud platform usage and billings to customers for the Company&#8217;s security subscription services. Amounts that have been invoiced for annual subscriptions, but not collected, are recorded in accounts receivable and in unearned revenue or in revenue depending on whether services have been delivered to the customer. The Company&#8217;s payment terms and conditions vary by contract type, and generally range from 30 to 90 days. </span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the Company&#8217;s contract assets and contract liabilities as of December&#160;31, 2023 and 2022:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:60.742%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.613%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.615%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contract assets</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">621&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contract liabilities</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,150&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,544&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents revenue recognized during the years ended December&#160;31, 2023 and 2022 from amounts included in the contract liability at the beginning of the period:</span></div><div style="margin-bottom:7pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:67.759%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.104%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.107%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revenue recognized in the period from amounts included in contract liability at the beginning of the period</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,616&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,274&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Remaining performance obligations</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023, the aggregate amount of the transaction price in the Company's contracts allocated to remaining performance obligations that were unsatisfied or partially unsatisfied was $235.7 million. This amount includes future committed revenue for periods within current contracts with customers, as well as deferred revenue arising from consideration invoiced for which the related performance obligations have not been satisfied. The Company has elected to not provide certain information about its remaining performance obligations for service contracts with an original contract duration of one year or less. As of December&#160;31, 2023, the Company expects to recognize approximately 80% of its remaining performance obligations over the next 12 months. The Company&#8217;s typical contractual term with its customers is one year, although terms may vary by contract. </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Costs to obtain a contract</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023 and December&#160;31, 2022, the Company&#8217;s costs to obtain contracts were as follows:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:61.911%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.174%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.885%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred contract costs, net</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">61,981&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,523&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span><br/></span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the years ended December&#160;31, 2023, 2022 and 2021, the Company recognized $15.5&#160;million, $8.9&#160;million and $6.3&#160;million of amortization related to deferred contract costs, respectively. These costs are recorded within sales and marketing expenses on the accompanying consolidated statements of operations.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-9<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-15<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-13<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//606/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698144530176">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Investments and Fair Value Measurements<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresTextBlock', window );">Investments and Fair Value Measurements</a></td>
<td class="text">Investments and Fair Value Measurements<div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s total cash, cash equivalents and marketable securities consisted of the following:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"></td><td style="width:63.070%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.080%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.082%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash and cash equivalents:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,269&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46,516&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. Treasury securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,830&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,166&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">96,875&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,656&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total cash and cash equivalents</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"> </span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">107,921&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">143,391&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Marketable securities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. Treasury securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,448&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">287,988&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate notes and bonds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">105,566&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">71,744&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,934&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,851&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">175&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,221&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign government and supranational securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,453&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total marketable securities, current </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">214,799&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">374,581&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate notes and bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,999&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">140,949&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">89&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,156&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total marketable securities, non-current </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,088&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">165,105&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total marketable securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">220,887&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">539,686&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total cash, cash equivalents and marketable securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">328,808&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">683,077&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes adjusted cost, gross unrealized gains and losses, and fair value related to cash and cash equivalents and available-for-sale securities on the accompanying consolidated balance sheets as of December&#160;31, 2023 and December&#160;31, 2022:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:45.020%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.641%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amortized<br/>Cost</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross<br/>Unrealized<br/>Gain</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross<br/>Unrealized<br/>Loss</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Fair<br/>Value</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash and cash equivalents:</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. Treasury securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,824&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,830&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,663&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,656&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Marketable securities:</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. Treasury securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,444&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,448&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate notes and bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">112,487&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(931)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">111,565&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,946&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(12)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,934&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">89&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">89&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,854&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,851&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total available-for-sale investments</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">287,307&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(957)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">286,373&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amortized<br/>Cost</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Unrealized Gain</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross<br/>Unrealized Loss</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Fair<br/>Value</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Marketable securities:</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. Treasury securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">291,685&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,697)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">287,988&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate notes and bonds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">217,187&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,494)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">212,693&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,617&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(286)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,331&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,322&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(101)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,221&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign government and supranational securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,522&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(69)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,453&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total available-for-sale investments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">548,333&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(8,647)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">539,686&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There were no material realized gains or losses from sales of marketable securities that were reclassified out of accumulated other comprehensive income (loss) into other income (expense), net as of December&#160;31, 2023 and December&#160;31, 2022. There were 28 and 76 securities in a continuous loss position for 12 months or longer as of December&#160;31, 2023, and 2022, respectively.  Investments are reviewed periodically to identify possible other-than-temporary impairments. For the years ended December&#160;31, 2023 and 2022, the Company did not record any impairment charges for its marketable debt securities in its consolidated statements of operations. No impairment loss has been recorded on the securities as the Company does not intend to sell any impaired securities, nor is it more likely than not that the Company would be required to sell impaired securities before recovery of amortized cost basis. Furthermore, the Company has determined that the decline in fair value of the investment is not due to credit related factors. </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">Fair Value of Financial Instruments</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For certain of the Company&#8217;s financial instruments, including cash held in banks, accounts receivable, and accounts payable, the carrying amounts approximate fair value due to their short maturities, and are therefore excluded from the fair value tables below.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fair value is defined as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date. There is a three-tier fair value hierarchy, which prioritizes the inputs used in measuring fair value as follows:</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 1&#8212;Observable inputs such as quoted prices in active markets for identical assets or liabilities;</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 2&#8212;Inputs other than Level&#160;1 that are observable, either directly or indirectly, such as quoted prices for similar assets or liabilities, quoted prices in markets that are not active, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities; and</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 3&#8212;Unobservable inputs that are supported by little or no market activity, which require management judgment or estimation.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company measures its cash equivalents, marketable securities, and restricted cash at fair value. The Company classifies its cash equivalents, marketable securities and restricted cash within Level&#160;1 or Level&#160;2 because the Company values these investments using quoted market prices or alternative pricing sources and models utilizing market observable inputs.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company classifies its investments, which are comprised of corporate notes and bonds, commercial paper, U.S. treasury securities, agency bonds, foreign government and supranational securities and asset-backed securities within Level 2 of the fair value hierarchy because the fair value of these securities is priced by using inputs based on non-binding market consensus prices that are primarily corroborated by observable market data or quoted market prices for similar instruments. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Financial assets and liabilities measured and recorded at fair value on a recurring basis consisted of the following types of instruments:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"><tr><td style="width:1.0%"></td><td style="width:44.997%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.418%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.712%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.712%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.717%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,166&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,166&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. Treasury securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,830&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,830&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,656&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,656&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total cash equivalents</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,166&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65,486&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">86,652&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Marketable securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. Treasury securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,448&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,448&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate notes and bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">111,565&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">111,565&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Commercial paper</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,934&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,934&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">89&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">89&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,851&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,851&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total marketable securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#8212;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">220,887&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#8212;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">220,887&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restricted cash:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restricted cash, current</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">150&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">150&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total restricted cash</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">150&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">150&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total financial assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,316&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">286,373&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">307,689&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:7pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:45.020%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.641%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level&#160;1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level&#160;2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level&#160;3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">96,875&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">96,875&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total cash equivalents</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">96,875&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">96,875&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Marketable securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. Treasury securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">287,988&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">287,988&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate notes and bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">212,693&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">212,693&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,331&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,331&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,221&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,221&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign government and supranational securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,453&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,453&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total marketable securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">539,686&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">539,686&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restricted cash:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restricted cash, current</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">150&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">150&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total restricted cash</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">150&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">150&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total financial assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">97,025&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">539,686&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">636,711&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restricted cash was $0.2 million as of both December&#160;31, 2023 and 2022. The restricted cash balance consisted of letters of credit related to lease arrangements that were collateralized by the Company&#8217;s cash. The amounts as of December&#160;31, 2023 and 2022, were both classified as current on the Company&#8217;s consolidated balance sheets.</span></div>There were no transfers of assets and liabilities measured at fair value between Level&#160;1 and Level&#160;2, or between Level&#160;2 and Level&#160;3, during the years ended December&#160;31, 2023 and 2022.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698144432000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Business Combinations<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract', window );"><strong>Business Combination and Asset Acquisition [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationDisclosureTextBlock', window );">Business Combinations</a></td>
<td class="text">Business Combinations <div style="margin-bottom:12pt;margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Glitch, Inc.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On May 18, 2022, the Company acquired 100% of the voting equity interest of Glitch, Inc. (&#8220;Glitch&#8221;), a software company specializing in developer project management tools, for $34.9&#160;million in cash, of which $8.0&#160;million was held back as security for indemnification claims under the terms of the merger agreement (&#8220;Holdback&#8221;). During the year ended December&#160;31, 2023, $4.1&#160;million of the Holdback was distributed to certain shareholders of Glitch and the remaining Holdback will be distributed 24 months following the acquisition closing date. The acquisition expands the Company&#8217;s brand awareness within the developer community and bolsters the Company&#8217;s existing product offerings by making it easier to innovate at a layer in the Company&#8217;s software stack. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company accounted for the transaction as a business combination. The purchase price was preliminarily allocated based on the estimated fair value of the identified intangible assets of $2.0&#160;million, cash of $1.6&#160;million and other net assets of $0.6&#160;million, and goodwill of $32.5&#160;million.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The goodwill was primarily attributed to the value of synergies created with the acquisition of Glitch&#8217;s technology offering. Goodwill is not deductible for income tax purposes.</span></div><div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Identifiable finite-lived intangible assets were comprised of the following (in thousands): </span></div><div style="margin-bottom:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:55.771%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.543%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.115%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:25.071%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Estimated useful life (in years)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Developed technology</span></div></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">630&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">760&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trade name</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">610&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total intangible assets acquired</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,000&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the year ended December&#160;31, 2022, we incurred $2.0&#160;million in acquisition-related expenses. The acquired intangible assets have a total weighted average amortization period of 3.6 years.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From the date of the acquisition, the financial results of Glitch have been included in and are not material to the Company&#8217;s consolidated financial statements. Pro forma revenue and results of operations have not been presented because the historical results are not material to the consolidated financial statements in any period presented.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationAndAssetAcquisitionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-5<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 805<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//805/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698144366880">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Balance Sheet Information<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetRelatedDisclosuresAbstract', window );"><strong>Balance Sheet Related Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock', window );">Balance Sheet Information</a></td>
<td class="text">Balance Sheet Information<div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Allowance for Credit Losses</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The activity in the accounts receivable reserves is as follows:</span></div><div style="margin-bottom:12pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:49.742%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.502%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.630%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.502%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.630%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.361%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.633%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Beginning balance</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,029&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,311&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,248&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Additions to the reserves</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,025&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,406&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">196&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Write-offs and adjustments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(688)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(133)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ending balance</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,054&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,029&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,311&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Property and Equipment, Net</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net consisted of the following:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"></td><td style="width:63.070%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.080%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.082%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Computer and networking equipment</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">224,313&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">225,009&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Leasehold improvements</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,605&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,374&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Furniture and fixtures</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,142&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,792&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Office equipment</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,228&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,176&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Internal-use software</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">97,623&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">66,488&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment, gross</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">333,911&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">302,839&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accumulated depreciation and amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(157,303)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(122,461)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment, net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">176,608&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">180,378&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the year ended December&#160;31, 2023, the Company recognized an impairment charge of $4.3&#160;million, of which $3.0&#160;million related to property and equipment, net and $1.3&#160;million related to advance payments for the purchase of property and equipment. The write-off was primarily related to excess computer and networking equipment including software the Company does not expect to use and therefore abandoned. Impairment charges are included within impairment expense in the consolidated statements of operations. There were no impairments during the years ended December&#160;31, 2022 and 2021.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Depreciation on property and equipment for the years ended December&#160;31, 2023, 2022 and 2021 was approximately $51.6&#160;million, $42.6&#160;million, and $28.8&#160;million, respectively. Included in these amounts was amortization expense for capitalized internal-use software costs of approximately $14.0 million, $8.6 million and $4.6&#160;million for the years ended December&#160;31, 2023, 2022 and 2021, respectively. As of December&#160;31, 2023 and 2022, the unamortized balance of capitalized internal-use software costs on the Company&#8217;s consolidated balance sheets was approximately $62.6 million and $45.5 million, respectively. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leases certain networking equipment from various third parties through equipment finance leases. The Company&#8217;s networking equipment assets as </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">of </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2022</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, included a total of $74.7&#160;million and $77.3&#160;million acquired under finance lease agreements, respectively. These leases are capitalized in property and equipment, </span></div><div style="margin-bottom:12pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">and the related amortization of assets under finance leases is included in depreciation and amortization expense. The accumulated depreciation of the associated networking equipment assets under finance leases totaled $40.1&#160;million and $28.1&#160;million as of </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2022</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, respectively. </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Other Assets</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other assets consisted of the following:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:64.689%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.274%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.277%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred contract costs, net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">61,981&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,523&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Advance payment for purchase of property and equipment</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,509&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37,013&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,289&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,086&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total other assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">90,779&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">92,622&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Accrued Expenses</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued expenses consisted of the following:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"></td><td style="width:63.070%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.080%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.082%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued compensation and related benefits</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,918&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,204&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued bonus</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,614&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,818&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued colocation and bandwidth costs</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,362&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,448&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other tax liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,344&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,698&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other accrued expenses</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,580&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,993&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total accrued expenses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">61,818&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">61,161&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Other Current Liabilities</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other current liabilities consisted of the following:</span></div><div style="margin-bottom:12pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:64.639%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.298%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.299%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,824&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,047&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued computer and networking equipment</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,673&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,467&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Holdback payable</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,771&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,013&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other current liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,271&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">867&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total other current liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">40,539&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,394&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Accumulated Other Comprehensive Loss</span></div><div style="margin-bottom:12pt;margin-top:5pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the changes in accumulated other comprehensive loss, which is reported as a component of stockholders&#8217; equity:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:37.642%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.666%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:20.537%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:21.565%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Foreign Currency Translation</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Unrealized gain/(loss) for available-for-sale investments</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Accumulated Other Comprehensive Income (Loss)</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2020</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(36)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other comprehensive loss</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(286)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,347)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,633)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2021</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(322)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,305)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,627)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other comprehensive loss</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(255)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,404)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,659)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2022</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(577)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(8,709)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(9,286)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other comprehensive income </span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">565&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,713&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,278&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2023</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(12)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(996)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,008)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div>There were no material reclassifications out of accumulated other comprehensive loss for the years ended December&#160;31, 2023 and 2022. Additionally, there was no material tax impact on the amounts presented.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetRelatedDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetRelatedDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//210/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalBalanceSheetDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698144533200">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeasesTextBlock', window );">Leases</a></td>
<td class="text">Leases<div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has operating leases for corporate offices and data centers (&#8220;colocation&#8221; leases), and finance leases for networking equipment. The Company&#8217;s operating leases have remaining lease terms ranging from less than 1 year to 7 years, some of which include options to extend the leases. The Company&#8217;s finance leases have remaining lease terms up to 1 year. The Company also subleases a portion of its corporate office spaces. The Company&#8217;s subleases have remaining lease terms ranging from 1 year to 7 years. Sublease income was $1.2&#160;million, $0.9&#160;million, and $1.0&#160;million for the years ended December&#160;31, 2023, 2022 and 2021, respectively. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components of lease cost were as follows:</span></div><div style="margin-bottom:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:54.309%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.104%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.666%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.353%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="15" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease cost:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease cost</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,996&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,976&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,716&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Variable lease cost</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,112&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,736&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,820&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total operating lease cost</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42,108&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42,712&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,536&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance lease cost:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amortization of assets under finance lease</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,391&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,539&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,834&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,328&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,381&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,754&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total finance lease cost</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,719&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,920&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,588&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The short-term lease costs were not material for the years ended December&#160;31, 2023, 2022 and 2021. During the years ended December&#160;31, 2023 and 2022, the Company recognized impairment on its operating lease right-of-use assets of $0.7&#160;million and $2.1&#160;million, respectively. The Company did not recognize any material impairment on its operating lease right-of-use assets for the year ended December&#160;31, 2021. </span></div><div style="margin-bottom:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:54.016%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.666%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.546%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31,</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="15" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted Average Remaining Lease term (in years):</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating leases</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.48</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.09</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.41</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance leases</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.00</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.74</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.23</span></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted Average Discount Rate:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating leases</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.03&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.36&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.20&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance leases</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.67&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.73&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.86&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future minimum lease payments under non-cancellable leases as of December&#160;31, 2023 were as follows:</span></div><div style="margin-bottom:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:58.110%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.783%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.223%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Operating Leases</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Finance Leases</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Year ending December 31, </span></td><td colspan="9" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,160&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,064&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,868&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,617&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,896&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,502&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2028</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,446&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,838&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total future minimum lease payments</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">82,710&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,681&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: imputed interest</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7,905)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(395)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total liability</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">74,805&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,286&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023, the Company has undiscounted commitments of $2.3&#160;million for operating leases that have not yet commenced, and therefore are not included in the right-of-use asset or operating lease liability. These operating leases will commence in 2024 with lease terms of 3 years.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeFinanceLeasesTextBlock', window );">Leases</a></td>
<td class="text">Leases<div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has operating leases for corporate offices and data centers (&#8220;colocation&#8221; leases), and finance leases for networking equipment. The Company&#8217;s operating leases have remaining lease terms ranging from less than 1 year to 7 years, some of which include options to extend the leases. The Company&#8217;s finance leases have remaining lease terms up to 1 year. The Company also subleases a portion of its corporate office spaces. The Company&#8217;s subleases have remaining lease terms ranging from 1 year to 7 years. Sublease income was $1.2&#160;million, $0.9&#160;million, and $1.0&#160;million for the years ended December&#160;31, 2023, 2022 and 2021, respectively. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components of lease cost were as follows:</span></div><div style="margin-bottom:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:54.309%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.104%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.666%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.353%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="15" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease cost:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease cost</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,996&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,976&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,716&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Variable lease cost</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,112&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,736&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,820&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total operating lease cost</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42,108&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42,712&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,536&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance lease cost:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amortization of assets under finance lease</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,391&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,539&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,834&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,328&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,381&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,754&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total finance lease cost</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,719&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,920&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,588&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The short-term lease costs were not material for the years ended December&#160;31, 2023, 2022 and 2021. During the years ended December&#160;31, 2023 and 2022, the Company recognized impairment on its operating lease right-of-use assets of $0.7&#160;million and $2.1&#160;million, respectively. The Company did not recognize any material impairment on its operating lease right-of-use assets for the year ended December&#160;31, 2021. </span></div><div style="margin-bottom:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:54.016%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.666%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.546%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31,</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="15" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted Average Remaining Lease term (in years):</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating leases</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.48</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.09</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.41</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance leases</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.00</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.74</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.23</span></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted Average Discount Rate:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating leases</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.03&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.36&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.20&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance leases</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.67&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.73&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.86&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future minimum lease payments under non-cancellable leases as of December&#160;31, 2023 were as follows:</span></div><div style="margin-bottom:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:58.110%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.783%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.223%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Operating Leases</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Finance Leases</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Year ending December 31, </span></td><td colspan="9" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,160&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,064&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,868&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,617&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,896&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,502&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2028</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,446&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,838&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total future minimum lease payments</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">82,710&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,681&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: imputed interest</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7,905)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(395)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total liability</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">74,805&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,286&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023, the Company has undiscounted commitments of $2.3&#160;million for operating leases that have not yet commenced, and therefore are not included in the right-of-use asset or operating lease liability. These operating leases will commence in 2024 with lease terms of 3 years.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeFinanceLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for finance leases of lessee. Includes, but is not limited to, description of lessee's finance lease and maturity analysis of finance lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//842-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeFinanceLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//842-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698141183840">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock', window );">Goodwill and Intangible Assets</a></td>
<td class="text">Goodwill and Intangible Assets<div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Goodwill</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The changes in the carrying amount of goodwill for th</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">e years ended </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2022</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> are as follows</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">:</span></div><div style="margin-bottom:7pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:58.549%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.344%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.347%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Beginning balance</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">670,185&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">636,805&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill acquired from business combinations</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,419&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency translation and other adjustments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">171&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(39)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ending balance</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">670,356&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">670,185&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The goodwill acquired from business combinations are from the Company&#8217;s acquisition described in Note 5 &#8212; Business Combinations. The Company did not record an impairment charge on goodwill for the fiscal years ended December&#160;31, 2023, 2022 and 2021.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Intangible Assets, net</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023 and December&#160;31, 2022, the Company&#8217;s intangible assets consisted of the following:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:23.461%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.742%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.742%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.742%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.742%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.742%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.749%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2023</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross carrying value</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Accumulated amortization</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Net carrying value</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross carrying value</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Accumulated amortization</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Net carrying value</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Intangible assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69,860&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(28,473)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,387&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69,860&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(19,582)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,278&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Developed technology</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,130&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(32,424)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,706&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,130&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(22,367)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,763&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trade names</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,910&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,542)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">368&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,910&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,564)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,346&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Internet protocol addresses</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,984&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,970)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,014&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,984&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,471)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,513&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Backlog</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,200&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,200)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total intangible assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">128,884&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(66,409)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">62,475&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">131,084&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(48,184)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">82,900&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;margin-top:5pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s customer relationships, developed technology, trade names, backlog and Internet protocol addresses represent intangible assets subject to amortization. Amortization expense was $20.4&#160;million, $21.7&#160;million and $21.2 million, for the years ended December&#160;31, 2023, 2022 and 2021, respectively. </span></div><div style="margin-bottom:12pt;margin-top:5pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company did not purchase any intangible assets during the year ended December&#160;31, 2023. During the year ended December&#160;31, 2022, the Company added $2.0&#160;million of intangible assets from the acquisition of Glitch, which are subject to amortization. During the year ended December&#160;31, 2021, the Company purchased $2.1&#160;million of intangible assets. The Company did not record any impairments during the years ended December&#160;31, 2023, 2022 and 2021.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The expected amortization expense of intangible assets subject to amortization as of December&#160;31, 2023&#160;is as follows:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:78.578%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.222%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,599&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,976&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,193&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,051&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2028</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,891&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">765&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">62,475&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//350/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698140736128">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Debt Instruments<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureTextBlock', window );">Debt Instruments</a></td>
<td class="text">Debt Instruments<div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Senior Secured Credit Facilities Agreement</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 16, 2021, the Company entered into a Senior Secured Credit Facilities Agreement (&#8220;Credit Agreement&#8221;) with the lenders from time to time party thereto (the &#8220;Lenders&#8221;) and Silicon Valley Bank, as a lender and as administrative agent and collateral agent for the Lenders, for an aggregate commitment amount of $100.0&#160;million with a maturity date of February 16, 2024. The Company recorded $0.6&#160;million of debt issuance costs associated with the Credit Agreement in other assets on the Company&#8217;s consolidated balance sheet. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Credit Agreement originally bore interest at a rate per annum equal to the sum of LIBOR for the applicable interest period plus 1.75% to 2.00%, depending on the average daily outstanding balance of all loans and letters of credit under the Credit Agreement. On June 28, 2023, the Company entered into the First Amendment to Credit Agreement with the Lenders and First-Citizens Bank &amp; Trust Company (successor by purchase to the Federal Deposit Insurance Corporation as Receiver for Silicon Valley Bridge Bank, N.A. (as successor to Silicon Valley Bank)), as a lender and as administrative agent and collateral agent for the Lenders, which, among other things, amended the interest rate provisions of the Credit Agreement to replace LIBOR with the Secured Overnight Finance Rate (&#8220;SOFR&#8221;) as the interest rate benchmark. On February 16, 2024, the Company entered into the Second Amendment to Credit Agreement with the Lenders and Silicon Valley Bank, a division of First-Citizens Bank &amp; Trust Company, as a lender and as administrative agent and collateral agent for the Lenders, which, among other things, extended the maturity date of the loans under the Credit Agreement to June 14, 2024. As amended, the revolving loans bear interest, at the Company&#8217;s election, at an annual rate based on SOFR or a base rate. Loans based on SOFR bear interest at a rate per annum equal to SOFR, plus an adjustment of 0.10%, plus 1.75% to 2.00%, depending on the average daily outstanding balance of all loans and letters of credit under the Credit Agreement. Loans based on the base rate bear interest at a rate per annum equal to the base rate plus 0.75% to 1.00%, depending on the average daily outstanding balance of all loans and letters of credit under the Credit Agreement.</span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Interest payments on outstanding borrowings are due on the last day of each interest period. The Credit Agreement has a commitment fee on the unused portion of the borrowing commitment, which is payable on the last day of each calendar quarter at a rate per annum of 0.20% to 0.25% depending on the average daily outstanding balance of all loans and letters of credit under the Credit Agreement. In addition, the Company&#8217;s Credit Agreement contains a financial covenant that requires the Company to maintain a consolidated adjusted quick ratio of at least 1.25 tested on a quarterly basis as well as a springing revenue growth covenant for certain periods if the Company&#8217;s consolidated adjusted quick ratio falls below 1.75 on the last day of any fiscal quarter. The Credit Agreement requires the Company to comply with various affirmative and negative covenants, and contains customary events of default.</span></div><div style="text-indent:36pt"><span><br/></span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023 and 2022, the Company was in compliance with all of the Credit Agreement&#8217;s covenants. During the years ended December&#160;31, 2023 and 2022, no amounts were drawn down on the Company&#8217;s Credit Agreement. As of the years ended December&#160;31, 2023 and 2022, no amounts were outstanding under the Credit Agreement. </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Convertible Senior Notes</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 5, 2021, the Company issued approximately $948.8&#160;million aggregate principal amount of 0% convertible senior notes due 2026 (the &#8220;Notes&#8221;), including the exercise in full by the initial purchasers of their</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">option to purchase up to an additional approximately $123.8&#160;million principal amount of the Notes. The Notes were issued in a private placement to qualified institutional buyers pursuant to Rule 144A under the Securities Act. The Notes will mature on March 15, 2026, unless earlier converted, redeemed or repurchased. The net proceeds from the issuance of the Notes were approximately $930.0&#160;million after deducting the initial purchasers&#8217; discounts and transaction costs.</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company may not redeem the Notes prior to March 20, 2024. On or after March 20, 2024, the Company may redeem for cash, all or any portion of the Notes, at the Company&#8217;s option, at a redemption price equal to 100% of the principal amount of the Notes to be redeemed, plus accrued and unpaid special interest, if any, to, but excluding, the redemption date, if the last reported sale price of the Company&#8217;s Class A common stock has been at least 130% of the conversion price for the Notes then in effect for at least 20 trading days (whether or not consecutive) during any 30 consecutive trading day period (including the last trading day of such period) ending on, and including, the trading day immediately preceding the date on which the Company provides notice of redemption. No sinking fund is provided for the Notes.</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Holders of the Notes may convert their notes at their option at any time prior to the close of business on the business day immediately preceding December 15, 2025, only under the following circumstances: (i) during any calendar quarter commencing after the calendar quarter ending on June 30, 2021 (and only during such calendar quarter), if the last reported sale price of the Company&#8217;s Class A common stock for at least 20 trading days (whether or not consecutive) during a period of 30 consecutive trading days ending on, and including, the last trading day of the immediately preceding calendar quarter is greater than or equal to 130% of the conversion price for the Notes on each applicable trading day; (ii) during the five business day period after any ten consecutive trading day period (the &#8220;Measurement Period&#8221;) in which the trading price, as defined in the indenture agreement governing the Note filed with the Company&#8217;s Current Report on Form 8-K filed with the Securities and Exchange Commission on March 5, 2021, per $1,000 principal amount of notes for each trading day of the Measurement Period was less than 98% of the product of the last reported sale price of the Company&#8217;s Class A common stock and the conversion </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">rate on each such trading day; (iii) if the Company calls such Notes for redemption, at any time prior to the close of business on the scheduled trading day immediately preceding the applicable redemption date, but only with respect to the Notes called (or deemed called) for redemption; or (iv) upon the occurrence of specified corporate events. On or after December 15, 2025 until the close of business on the second scheduled trading day immediately preceding the maturity date, holders may convert all or any portion of their notes at any time, regardless of the foregoing circumstances.</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Upon conversion, the Company may satisfy its conversion obligation by paying or delivering, as the case may be, cash, shares of its Class A common stock or a combination of cash and shares of its Class A common stock, at the Company&#8217;s election. The initial conversion rate is 9.7272 shares of Class A common stock per $1,000 principal amount of Notes, equivalent to an initial conversion price of approximately $102.80 per share of Class A common stock. The conversion rate is subject to adjustment as described in the indenture governing the Notes but will not be adjusted for any accrued and unpaid special interest. In addition, following certain corporate events that occur prior to the maturity date of the Notes or if the Company delivers a notice of redemption in respect of the Notes, the Company will, in certain circumstances, increase the conversion rate of the Notes for a holder who elects to convert its Notes, in connection with such a corporate event or convert its Notes called (or deemed called) for redemption during the related redemption period, as the case may be.</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The indenture includes customary covenants and sets forth certain events of default after which the Notes may be declared immediately due and payable and sets forth certain types of bankruptcy or insolvency events of default involving the Company after which the Notes become automatically due and payable. If the Company undergoes a fundamental change, as defined in the indenture agreement governing the Notes, then subject to certain conditions and except as described in the indenture governing the Notes, holders may require the Company to repurchase for cash all or any portion of their Notes at a fundamental change repurchase price equal to 100% of the principal amount of the Notes to be repurchased, plus accrued and unpaid special interest, if any, to, but excluding, the fundamental change repurchase date.</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company evaluated the terms of its debt and concluded that the instrument does not require separation and that there were no other derivatives that required separation. As such, the Company has combined these features with the host contract and the Company accounts for its convertible debt as a single liability in long-term debt on its consolidated balance sheet. The initial purchasers&#8217; discounts and transaction costs of $18.6&#160;million incurred related to the issuance of the Notes were classified as liability and represents the difference between the principal amount of the Notes and the liability component (the &#8220;debt discount&#8221;), which is amortized to interest expense using the effective interest method over the term of the Notes.</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023, the conversion conditions had not been met and therefore the Notes were not yet convertible.</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On May 25, 2022, the Company entered into separate, privately negotiated transactions with certain holders of the Notes to repurchase (the &#8220;Repurchases&#8221;) $235.0&#160;million aggregate principal amount of the Notes for an aggregate cash repurchase price of $176.4&#160;million and aggregate transaction costs of $0.7&#160;million. The Repurchases were accounted for as a debt extinguishment that resulted in a net gain of $54.4&#160;million, which was recorded as non-operating income on the Company's consolidated statement of operations for the year ended December 31, 2022.</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">During the year ended December&#160;31, 2023, the Company entered into several separate privately negotiated transactions with certain holders of the Notes to repurchase $367.3&#160;million aggregate principal amount of the Notes for an aggregate cash repurchase price of $309.1&#160;million and aggregate transaction costs of $2.0&#160;million. The Repurchases were accounted for as a </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">debt extinguishment that resulted in a net gain of $52.4&#160;million, which was recorded as non-operating income on the Company&#8217;s consolidated statement of operations for the year ended December&#160;31, 2023.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table reflects the carrying values of the debt agreements as of December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2022</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> as follows</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:68.783%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.666%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.667%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Convertible Senior notes (effective interest rate of 0.38% and 0.40% as of December&#160;31, 2023 and 2022, respectively)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%">Principal amount</span></div></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">346,489&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">713,753&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: unamortized debt issuance costs</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,982)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(9,043)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: current portion of long-term debt</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%">Long-term debt, less current portion</span></div></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">343,507&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">704,710&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">For the years ended December&#160;31, 2023, 2022 and 2021, interest expense related to the Company&#8217;s debt obligations was $2.7&#160;million, $3.4&#160;million, and $3.5&#160;million respectively. As of December&#160;31, 2023 and 2022, the total estimated fair value of the Notes were $301.4&#160;million and $517.5&#160;million, respectively.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 470<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//470/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1C<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1C<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1C<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698144402192">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">Commitments and Contingencies</a></td>
<td class="text">Commitments and Contingencies<div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Purchase Commitments</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">As of December&#160;31, 2023, the Company had long-term commitments for cost of revenue related agreements (i.e., bandwidth usage, peering and other managed services with various networks, fixed asset vendors, Internet service providers and other third-party vendors). The Company also has non-cost of revenue long-term commitments for various non-cancelable agreements. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Aside from the Company&#8217;s finance and operating lease commitments, including its colocation operating commitments, which have been disclosed in Note 7&#8212;Leases, the minimum future commitments related to the Company&#8217;s purchase commitments as of December&#160;31, 2023 were as follows: </span></div><div style="margin-bottom:12pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.391%"><tr><td style="width:1.0%"></td><td style="width:48.974%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.542%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.798%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.542%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.798%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.542%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.804%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Cost of Revenue Commitments</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Operating Expense Commitments</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total Purchase Commitments</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48,699&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,480&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">59,179&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,105&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,797&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,902&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,111&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,097&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,208&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">111&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">111&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2028</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">40&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">40&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,066&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,374&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">79,440&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Sales and Use Tax</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company conducts its operations in many tax jurisdictions throughout the United States. In many of these jurisdictions, non-income-based taxes, such as sales and use and telecommunications taxes are assessed on the Company&#8217;s operations. The Company is subject to indirect taxes, and may be subject to certain other taxes, in some of these jurisdictions. Historically, the Company has not billed or collected these taxes and, in accordance with GAAP, the Company has recorded a provision for its tax exposure in these jurisdictions when it is both probable that a liability has been incurred and the amount of the exposure can be reasonably estimated. As a result, the Company has recorded a liability of $4.3 million and $7.6 million as of December&#160;31, 2023 and 2022, respectively. These estimates are based on several key assumptions, including the taxability of the Company&#8217;s products, the jurisdictions in which the Company believes it has nexus and the sourcing of revenues to those jurisdictions. In the event these jurisdictions challenge the Company&#8217;s assumptions and analysis, its actual exposure could differ materially from its current estimates.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Legal Matters</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time, the Company has been and may be subject to legal proceedings and claims. Such matters are subject to many uncertainties and outcomes are not predictable with assurance. The Company accrues for contingencies when it believes that a loss is probable and that the Company can reasonably estimate the amount of any such loss. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company is not presently a party to any legal proceedings that, if determined adversely to it, would individually or taken together have a material effect on the Company&#8217;s business, results of operations, financial condition, or cash flows. As of December&#160;31, 2023, the Company has not recorded any significant accruals for loss contingencies associated with such legal proceedings, determined that an unfavorable outcome is probable or reasonably possible, or determined that the amount or range of any possible loss is reasonably estimable.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Indemnification</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company enters into standard indemnification agreements in the ordinary course of business. Pursuant to these agreements, the Company agrees to indemnify, hold harmless, and reimburse the indemnified party for losses suffered or incurred by the indemnified party, generally the Company&#8217;s business partners or customers, in connection with its provision of its services. Generally, these obligations are limited to claims relating to infringement of a patent, copyright, or other intellectual property right, breach of the Company&#8217;s security or data protection obligations, or its negligence, willful misconduct, or violation of law. Subject to applicable statutes of limitation, the term of these indemnification agreements is generally for the duration of the agreement. The maximum potential amount of future payments the Company could be required to make under these indemnification agreements is unlimited; however, the Company carries insurance that covers certain third-party claims relating to the Company&#8217;s services and could limit its exposure in that respect.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has agreed to indemnify each of its officers and directors during his or her lifetime for certain events or occurrences that happen by reason of the fact that the officer or director is, was, or has agreed to serve as an officer or director of the Company. The Company has director and officer insurance policies that may limit its exposure and may enable it to recover a portion of certain future amounts paid.</span></div><div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">To date, the Company has not encountered material costs as a result of such indemnification obligations and has not accrued any related liabilities in its financial statements. In assessing whether to establish an accrual, the Company considers such factors as the degree of probability of an unfavorable outcome and the ability to make a reasonable estimate of the amount of loss.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482648/440-10-50-4<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//450/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 440<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480327/954-440-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482648/440-10-50-4<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 440<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//440/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698144606272">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders&#8217; Equity<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityNoteAbstract', window );"><strong>Stockholders' Equity Note [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock', window );">Stockholders' Equity</a></td>
<td class="text">Stockholders&#8217; Equity<div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Common Stock</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s Amended and Restated Certificate of Incorporation, as amended and restated in May 2019, authorizes the issuance of 1.0 billion&#160;shares of Class A common stock and 94.1 million shares of Class B common stock, each at a par value per share of $0.00002. Holders of Class&#160;A common stock are entitled to&#160;one&#160;vote per share and holders of Class&#160;B common stock are entitled to&#160;10&#160;votes per share. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On July 12, 2021, all outstanding shares of Class B common stock automatically converted into the same number of shares of Class A common stock (the &#8220;Conversion&#8221;) pursuant to the terms of the Company&#8217;s amended and restated certificate of incorporation (the &#8220;Certificate&#8221;). Upon the Conversion, outstanding options denominated in shares of Class B common stock issued under any of the Company&#8217;s equity incentive plans remained unchanged, except that such options now represent the right to receive shares of Class A common stock on exercise. In accordance with the Certificate, the shares of Class B common stock that converted to Class A common stock were retired and will not be reissued by the Company. Accordingly, the Company filed a certificate with the Secretary of State of the State of Delaware effecting the retirement of the shares of Class B common stock that were issued but no longer outstanding following the Conversion. Upon the effectiveness of the certificate, the Company&#8217;s total number of authorized shares of capital stock was reduced by the retirement of 94.1&#160;million shares of Class B common stock.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Equity Incentive Plans</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company maintains four equity incentive plans: the 2019 Equity Incentive Plan (the &#8220;2019 Plan&#8221;), 2011 Equity Incentive Plan (&#8220;2011 Plan&#8221;), Employee Stock Purchase Plan and the Signal Sciences Corp. 2014 Stock Option and Grant Plan, as amended (the &#8220;Signal Plan&#8221;). The 2019 Plan became effective in May 2019 and replaced the 2011 Plan. The Company&#8217;s 2019 Plan provides for the issuance of incentive stock options, non-statutory stock options, stock appreciation rights, restricted stock units (&#8220;RSUs&#8221;), restricted stock awards, performance-based stock awards (&#8220;PSUs&#8221;), and other forms of equity compensation, which are collectively referred to as stock awards to its employees, directors, and consultants. The Signal Plan includes 251,754 registered shares which can be exercised to purchase shares of Fastly&#8217;s common stock. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023 and 2022, there were 8.9&#160;million and 9.6&#160;million Class A common stock available for issuance under the 2019 Plan, respectively. As of December&#160;31, 2023 and 2022, 133.0&#160;million and 124.3&#160;million shares of Class A common stock were issued and outstanding, respectively. As of both December&#160;31, 2023 and 2022, no shares of Class B common stock were issued and outstanding.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock Options</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Options granted under the 2011&#160;Plan and 2019 Plan are exercisable for Class A common stock and generally expire within 10 years from the date of grant and generally vest over four years, at the rate of 25% on the first anniversary of the date of grant and ratably on a monthly basis over the remaining 36-month period thereafter based on continued service. Due to the Conversion on July 12, 2021, options granted under the 2011 Plan are now exercisable for Class A common stock. Forfeitures are recognized as they occur.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes stock option activity during the year ended December&#160;31, 2023:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:38.227%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.250%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.958%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.649%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number of Shares</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted-Average&#160;<br/>Exercise Price</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted-Average<br/>Remaining<br/>Contractual Term</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Aggregate<br/>Intrinsic&#160;Value</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in&#160;thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in&#160;years)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in&#160;thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding at December 31, 2022</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,443&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.01&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.7</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,674&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">602&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16.47&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercised</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(291)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.45&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(44)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8.41&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding at December 31, 2023</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,710&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8.14&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.1</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,383&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested and exercisable at December 31, 2023</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,142&#160;</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.94&#160;</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.8</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,620&#160;</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total pre-tax intrinsic value of options exercised during the years ended December&#160;31, 2023, 2022, and 2021 was $3.1 million, $8.9 million, and $64.9 million, respectively. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total grant date fair value of employee options vested for the years ended December&#160;31, 2023, 2022, 2021 was $2.1 million, $5.6 million, and $6.9 million, respectively. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The weighted-average grant date fair value for options granted to employees during the year ended December&#160;31, 2023 was $10.97. The Company did not grant any options for the years ended December&#160;31, 2022 and 2021.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company estimates the fair value of stock options on the date of grant using the Black-Scholes option-pricing model. Each of the Black-Scholes inputs is subjective and generally requires significant judgments to determine. The Company estimated the fair value of stock option awards during the year ended December&#160;31, 2023 on the date of the grant using the Black-Scholes option pricing model with the following weighted-average assumptions:</span></div><div style="margin-bottom:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:67.613%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:29.164%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fair value of common stock</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$16.47 </span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected term (in years)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.96</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Risk-free interest rate</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.67%</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected volatility</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">71.2% </span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Dividend yield</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;%</span></div></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the years ended December&#160;31, 2023 and 2022, and 2021, the Company recognized stock-based compensation expense from stock options of approximately $2.1 million, $6.1 million, and $24.9 million, respectively. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023, total unrecognized stock-based compensation cost related to outstanding unvested stock options that are expected to vest was $6.2 million. This unrecognized stock-based compensation cost is expected to be recognized over a weighted-average period of approximately 3.6 years.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Early Exercise of Stock Options</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%">Certain stock options granted by the Company are exercisable at the date of grant, with unvested shares subject to repurchase by the Company in the event of voluntary or involuntary termination of employment of the stockholder. Such exercises are recorded as a liability on the accompanying consolidated balance sheets and reclassified into equity as the options vest. During the year ended December 31, 2021, the Company modified the terms of 47,882 unvested options subject to repurchase, with an exercise value of approximately $0.2&#160;million, to become fully vested upon change in service status. As of December 31, 2021, a total of 90,977&#160;shares of Class B Common Stock were subject to repurchase by the Company at the lower of (i)&#160;the fair market value of such shares on the date of repurchase, or (ii)&#160;the original exercise price of such shares. The corresponding exercise value of approximately $0.4 million as of December 31, 2021, was recorded in other current liabilities and other liabilities on the related consolidated balance sheets. The Company did not have any early exercise awards for the year ended December&#160;31, 2023 and 2022.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Restricted Stock Units (&#8220;RSUs&#8221;)</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company began granting RSUs under the 2019 Plan during the fiscal year ended December 31, 2019. The fair value of RSUs is based on the grant date fair value and is expensed on a straight-line basis over the applicable vesting period. RSUs granted to new hires typically vest over <span style="-sec-ix-hidden:f-1182">three</span> or four years, at the rate of 33% or 25%, respectively, on the first anniversary of the vesting start date and ratably on a quarterly basis over the remaining 24-month or 36-month period thereafter, respectively. RSUs granted to existing employees typically vest in equal quarterly installments over a <span style="-sec-ix-hidden:f-1188">three</span> or four-year service period. All vesting is contingent on continued service. Forfeitures are recognized as they occur.</span></div><div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes RSU activity during the years ended December&#160;31, 2023:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:50.361%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.882%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:27.997%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number of Shares</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted-Average&#160;Grant Date Fair Value Per Share</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in&#160;thousands)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested RSUs as of December 31, 2022</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,990&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20.10&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,667&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15.80&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,719)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18.94&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cancelled/forfeited</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,694)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22.80&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested RSUs as of December 31, 2023</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,244&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17.46&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the years ended December&#160;31, 2023, 2022 and 2021, the weighted-average grant date fair value for RSUs granted was $15.80, $14.63 and $54.92 per share, respectively. During the years ended December&#160;31, 2023, 2022 and 2021, the total weighted-average grant date fair value of RSUs vested was $127.3&#160;million, $97.9&#160;million and $67.7&#160;million, respectively.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the years ended December&#160;31, 2023, 2022 and 2021, the Company recognized stock-based compensation expense related to RSUs of $105.2&#160;million, $98.5&#160;million and $78.3&#160;million, respectively. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023, total unrecognized stock-based compensation cost related to non-vested RSUs was $177.1&#160;million. This unrecognized stock-based compensation cost is expected to be recognized over a weighted-average period of approximately 2.4 years. </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock Subject to Revest (&#8220;Revest Shares&#8221;)</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In conjunction with a prior acquisition in fiscal 2020, a restriction was placed on 896,499 shares belonging to the three co-founders of the target which are subject to revesting on a quarterly basis over a 2-year period. </span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company did not recognize any stock-based compensation expense related to revest shares for the year ended December&#160;31, 2023. For the year ended December 31, 2022, the Company recognized stock-based compensation expense related to revest shares of $27.6&#160;million. As of December&#160;31, 2023, there is no unrecognized stock-based compensation cost related to revest shares. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On January 24, 2022, the Company entered into an agreement with certain holders of restricted stock, who had sold their awards in advance of their vesting conditions, in order to return the proceeds associated with the remaining 224,124 unvested shares as of December 31, 2021. These stockholders are eligible to continue vesting under the original agreements as long as they have continued service as either an employee or consultant. On January 31, 2022, the Company received $10.7&#160;million from these stockholders related to the settlement of the matter, which the Company classified as unrestricted cash on its  consolidated balance sheets. This amount will similarly be returned to the holders in accordance with the vesting under the original agreements. Correspondingly, the Company reclassified the award from equity to liability as the award will now be settled for the fixed monetary amount received, rather than a release of the restrictions on shares. The modification did not result in any incremental expense to be recognized. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In February 2022, one of the stockholders had a change in employment status and the Company accelerated the remaining stock-based compensation associated with his awards on his last day of service as an employee as his services under the modified arrangement were not substantive. For the year ended December 31, 2022, the Company recognized stock-based compensation expense of $5.6&#160;million associated with the modification of these awards, which is included in the total stock-based compensation expense. For the year ended December&#160;31, 2023, the Company did not recognize any stock-based compensation expense associated with the modification of these awards. </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Performance-Based Restricted Stock Units ("PSUs") </span></div><div style="margin-bottom:12pt;padding-left:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Performance stock awards for executive officers ("executive PSUs&#8221;)</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">In February 2021, pursuant to the Company&#8217;s 2019 Equity Incentive Plan, the Company granted shares of executive PSUs to certain employees of the Company, which are to vest based on the level of achievement of certain Company and individual targets related to the Company&#8217;s operating plan for the fiscal year 2021 (&#8220;2021 Operating Plan&#8221;). In February 2022, </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">the Company concluded that the minimum target performance to be eligible for vesting under the 2021 Operating Plan was not attained, and as such, none of the 2021 executive PSUs were eligible to vest and the awards were cancelled.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">In February 2022, pursuant to the Company&#8217;s 2019 Equity Incentive Plan, the Company granted certain employees shares of executive PSUs, which are to vest based on the level of achievement of certain Company-wide targets related to the Company&#8217;s operating plan for the fiscal year 2022. The Company has accounted for these awards as equity-based awards and will recognize stock-based compensation expense over the employees&#8217; requisite service period based on the expected attainment of the Company-wide targets as of the end of each reporting period.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">On March 29, 2023, May 4, 2023, and May 30, 2023, pursuant to the Company&#8217;s 2019 Equity Incentive Plan, the Company granted certain employees shares of executive PSUs, which are to vest based on the level of achievement of certain Company-wide targets related to the Company&#8217;s operating plan for the fiscal year 2023. The Company has accounted for these awards as equity-based awards and will recognize stock-based compensation expense over the employees&#8217; requisite service period based on the expected attainment of the Company-wide targets as of the end of each reporting period.</span></div><div style="margin-bottom:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:57.233%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.297%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:21.710%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number of Shares</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted-Average&#160;Grant Date Fair Value Per Share</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in&#160;thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested executive PSUs as of December 31, 2022</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">267&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28.16&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">762&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15.88&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(84)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28.16&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cancelled/forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(213)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24.35&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested executive PSUs as of December 31, 2023</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">732&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16.49&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">For the years ended December&#160;31, 2023, 2022 and 2021, the Company recognized $4.3&#160;million, $1.4&#160;million, and $3.4&#160;million of stock-based compensation expense associated with these awards, respectively. </span></div><div style="margin-bottom:12pt;padding-left:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Company-wide Bonus Program (&#8220;Bonus Program&#8221;)</span></div><div style="margin-bottom:9pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">On February 11, 2022, the Compensation Committee approved a company-wide bonus program, including performance targets, to most of the Company&#8217;s employees on active payroll in fiscal year 2022. Shares awarded under the program were paid out in February 2023 in fully vested RSUs and based on the final attainment of Company-wide performance targets which were tied to its operating plan for fiscal year 2022. The Company recognized stock-based compensation expense over the employees requisite service period, based on the final attainment of the Company-wide targets. In February 2023, the Company paid out the bonus liability associated with the 2022 Bonus Program in 1.2&#160;million of restricted stock units, and correspondingly recorded a charge to additional paid-in-capital of $16.6&#160;million.</span></div><div style="margin-bottom:9pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">On March 29, 2023, the Compensation Committee approved a company-wide bonus program, including performance targets, to most of the Company&#8217;s employees on active payroll in fiscal year 2023. Shares awarded under the program will be in fully vested RSUs and will be based on the final attainment of Company-wide performance targets which are tied to its operating plan for fiscal year 2023. The payout of the 2023 Company-wide bonus program will vary linearly between 50%, 100% and 150% based on the achievement of these targets. Employees are required to be employed through the payout date to earn the awards. The Company has accounted for these awards as liability-based awards, since the monetary value of the obligation associated with the award is based predominantly on a fixed monetary amount known at inception, and it has an unconditional obligation that it must or may settle by issuing a variable number of its equity shares. The Company is recognizing the stock-based compensation expense over the employees requisite service period, based on the expected attainment of the Company-wide targets as of the end of each reporting period. </span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">During the years ended December&#160;31, 2023, and 2022, the Company recognized $24.7&#160;million and $14.9&#160;million of stock-based compensation expense associated with the Bonus Programs, respectively. The Company did not recognize any stock-based compensation expense associated with the Bonus Program for the year ended December&#160;31, 2021.</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Market-Based Performance Stock Awards (&#8220;MPSUs&#8221;)</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In September 2022 and January 2023, pursuant to the Company&#8217;s 2019 Equity Incentive Plan, the Company granted certain employees shares of MPSUs, which are to vest upon the satisfaction of the Company&#8217;s achievement of specified Fastly </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Class A common stock price targets during the applicable performance period. In addition, the awards are subject to each recipient&#8217;s continuous service through each applicable vest dates. </span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company measured the fair value of the MPSUs using a Monte Carlo simulation valuation model. The risk-free interest rates used were 3.37% - 3.68%, which were based on five-year US treasury yield, adjusted to a continuous time basis. The expected volatility was a blended volatility rate of 80%, which incorporated both the Company&#8217;s observed equity volatility and the relevant guideline company volatility.</span></div><div style="margin-bottom:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:57.964%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.636%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.640%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number of Shares</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted-Average&#160;Grant Date Fair Value Per Share</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in&#160;thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested MPSUs as of December 31, 2022</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,174&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.80&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">87&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.25&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(540)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.84&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cancelled/forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(250)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.69&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested MPSUs as of December 31, 2023</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,471&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.46&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation expense relating to the MPSUs are recognized using the accelerated attribution method over the derived service period. For the year ended December&#160;31, 2023, the Company recognized $5.9&#160;million of stock-based compensation expense associated with these awards. </span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total unrecognized stock-based compensation expense related to the unvested portion of the MPSUs was $4.7&#160;million as of December&#160;31, 2023. This expense is expected to be amortized over a weighted-average vesting period of 3.9 years. </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Employee Stock Purchase Program (&#8220;ESPP&#8221;)</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The ESPP allows eligible employees to purchase shares of the Company&#8217;s Class A common stock through payroll deductions of up to 15% of their eligible compensation. The ESPP provides for six-month offering periods, commencing in May and November of each year. At the end of each offering period employees are able to purchase shares at&#160;85%&#160;of the lower of the fair market value of the Company&#8217;s Class A common stock on the first trading day of the offering period or on the date of purchase. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company estimates the fair value of shares to be issued under the ESPP on the first day of the offering period using the Black-Scholes valuation model. The inputs to the Black-Scholes option pricing model are the Company&#8217;s stock price on the first date of the offering period, the risk-free interest rate, the estimated volatility of the Company&#8217;s stock price over the term of the offering period, the expected term of the offering period and the expected dividend rate. Stock-based compensation expense related to the ESPP is recognized on a straight-line basis over the offering period. Forfeitures are recognized as they occur.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company estimated the fair value of shares granted under the ESPP on the first date of the offering period using the Black-Scholes option pricing model with the following assumptions:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:49.923%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.543%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.543%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.547%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fair value of common stock</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$3.33 &#8211; $6.09</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$8.40 &#8211; $11.85</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$41.24 &#8211; $44.87</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected term (in years)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.49 &#8211; 0.50</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.49</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.49 &#8211; 0.50</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Risk-free interest rate</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.65% &#8211; 5.43%</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.57% &#8211; 4.65%</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.02% &#8211; 0.07%</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected volatility</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">70% &#8211; 88%</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">88% &#8211; 101%</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47% &#8211; 58%</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Dividend yield</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the years ended December&#160;31, 2023, 2022 and 2021, the Company recognized $4.1&#160;million, $3.2&#160;million, and $3.5&#160;million in stock-based compensation expense related to the ESPP, respectively. As of December&#160;31, 2023, total unrecognized stock-based compensation cost related to ESPP was $1.9&#160;million. This unrecognized stock-based compensation cost is expected to be recognized over a weighted-average period of approximately 0.4 years. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the years ended December&#160;31, 2023, 2022 and 2021, an aggregate of 1.0 million and 0.5 million and 0.2 million shares of the Company&#8217;s Class A common stock was purchased under the ESPP, respectively.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%">Equity Awards Modification </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">In September 2023, as part of one employee's separation and transition plan, the Company modified this employee&#8217;s outstanding equity awards in an amount that would have vested if this individual had remained an employee for an additional period of time. As a result of the modification, the Company recognized stock-based compensation expense of $2.0&#160;million for the year ended December&#160;31, 2023. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">In September 2022, as part of one employee's separation and transition plan, the Company modified this employee&#8217;s outstanding equity awards in an amount that would have vested if this individual had remained an employee for an additional period of time. As a result of the modification, the Company recognized stock-based compensation expense of $3.1&#160;million for the year ended December&#160;31, 2022. </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock-based Compensation Expense</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the components of total stock-based compensation expense included in the accompanying consolidated statements of operations:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:61.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.601%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,656&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,050&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,227&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47,827&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,435&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47,019&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sales and marketing</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,703&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39,083&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,159&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">General and administrative</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,117&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">36,228&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">55,083&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">136,303&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">145,796&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">140,488&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;margin-top:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the years ended December&#160;31, 2023, 2022 and 2021, the Company capitalized $10.1&#160;million, $8.0&#160;million, and $4.4&#160;million of stock-based compensation expense, respectively. </span></div><div style="margin-bottom:12pt;margin-top:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the year ended December&#160;31, 2023, the Company recognized $24.7&#160;million of stock-based compensation expense associated with liability classified awards related to the company-wide Bonus Program. For the year ended December&#160;31, 2022, the Company recognized $25.5&#160;million of stock-based compensation expense associated with liability classified awards related to the company-wide Bonus Program and certain of the Company&#8217;s Revest Shares that were modified. The Company did not recognize any stock-based compensation expense associated with liability classified awards for the year ended December&#160;31, 2021.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for shareholders' equity and share-based payment arrangement. Includes, but is not limited to, disclosure of policy and terms of share-based payment arrangement, deferred compensation arrangement, and employee stock purchase plan (ESPP).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//505/tableOfContent<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//718/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityNoteAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698144628208">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Net Loss Per Share Attributable to Common Stockholders<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareTextBlock', window );">Net Loss Per Share Attributable to Common Stockholders</a></td>
<td class="text">Net Loss Per Share Attributable to Common Stockholders<div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic net loss per share is computed by dividing net loss by basic weighted-average shares outstanding during the period. Diluted net loss per share is computed by dividing net loss by diluted weighted-average shares outstanding, including potentially dilutive securities. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On July 12, 2021, the shares of Class B common stock that converted to Class A common stock were retired and will not be reissued by the Company. Prior to that date, the Company computed net loss per share using the two-class method required for multiple classes of common stock and participating securities. The rights of the holders of the Class A common stock and Class B common stock are identical, except with respect to voting and conversion. Accordingly, the Class A common stock and Class B common stock share equally in the Company&#8217;s net losses.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the computation of basic and diluted net loss per share of common stock (in millions, except per share data):</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.514%"><tr><td style="width:1.0%"></td><td style="width:32.333%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.549%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.244%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.549%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.244%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.549%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.244%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.549%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.244%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.549%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.244%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.549%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.253%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Class A</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Class B</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline">(2)</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Class A </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Class B</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline">(2)</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Class A </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Class B</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline">(2)</span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in&#160;thousands, except per share amounts)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss attributable to common stockholders</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(133,088)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(190,774)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(212,120)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(10,577)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average shares used in computing net loss per share attributable to common stockholders, basic and diluted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">128,770&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">121,723&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">110,541&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,512&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss per share attributable to common stockholders, basic and diluted</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1.03)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1.57)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1.92)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1.92)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">__________</span></div><div style="padding-left:18pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt">Class A common stock includes the issuance of 12.9&#160;million shares of Class A common stock issued by the Company in connection with the IPO and the shares issued in connection with the follow-on offering on May 26, 2020. It also includes shares issued upon the exercise of options and vesting of RSUs granted subsequent to the IPO, shares issued as part of the prior acquisitions, and converted Common B shares. </span></div><div style="margin-bottom:12pt;padding-left:18pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt">Class B common stock includes, for all periods presented, common stock issued prior to the IPO and the conversion of all of the Company&#8217;s preferred stock into an aggregate of 53.6&#160;million shares of the Company&#8217;s Class B common stock upon closing of the IPO. Some of these shares were previously converted into shares of Class A common stock. On July 12, 2021, all shares of Class B common stock were converted into shares of Class A common stock. </span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following securities were excluded from the computation of diluted net loss per share of common stock for the periods presented as their effect would have been antidilutive:</span></div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:47.021%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.522%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.518%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.378%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.518%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.522%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.521%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number of Shares</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock options</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,710&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,443&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,369&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">RSUs</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,244&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,990&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,285&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revest shares</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">336&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">PSUs</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">732&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">267&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">71&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">MPSUs</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,471&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,174&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Bonus PSUs</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,572&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,777&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Shares issuable pursuant to the ESPP</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">410&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">186&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Convertible senior notes (if-converted)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,370&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,338&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,229&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,509&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,175&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,341&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for earnings per share.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//260/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698144366880">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Income Taxes</a></td>
<td class="text">Income Taxes<div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Loss before income ta</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">xes includes the following components:</span></div><div style="margin-bottom:12pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"><tr><td style="width:1.0%"></td><td style="width:58.399%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.712%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.712%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.569%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">United States</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(137,240)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(196,469)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(224,159)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,931&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,789&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,531&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Loss before income taxes</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(133,309)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(190,680)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(222,628)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The income tax expense (benefit) consists of the following:</span></div><div style="margin-bottom:12pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"></td><td style="width:58.311%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.694%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.694%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.696%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current tax provision (benefit):</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Federal</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">57&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(79)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">622&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">173&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">322&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax benefit:</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Federal</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(253)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(900)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total tax expense (benefit)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(221)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">94&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Reconciliation between </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">the Company&#8217;s</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> effective tax rate on income from continuing operations and the U.S. federal statutory rate is as follows:</span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:58.490%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.640%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provision at federal statutory tax rate</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Change in valuation allowance</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(25)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(14)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(30)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign tax rate differential</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(9)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development credits</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Disallowed executive compensation</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restructuring</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Effective tax rate</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recorded tax benefit of $0.2&#160;million for the year ended December&#160;31, 2023 and recorded tax expense of $0.1&#160;million for both the years ended December&#160;31, 2022 and 2021. The Company&#8217;s income tax expense (benefit) is primarily due to income taxes from certain foreign jurisdictions where the Company conducts business and state minimum income taxes in the United States. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> deferred tax assets and liabilities were as follows:</span></div><div style="margin-bottom:12pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.099%"><tr><td style="width:1.0%"></td><td style="width:58.661%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.545%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.125%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.843%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.126%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax assets:</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net operating losses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">178,149&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">183,306&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease liability</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,137&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,245&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development credits</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,280&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,383&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Capitalized research and development </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">45,418&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,032&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,765&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,429&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,934&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,811&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Reserves and accruals</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,336&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,648&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,889&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,179&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">304,908&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">271,033&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Intangible asset amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(16,310)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(21,713)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Right-of-use asset</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(15,322)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(18,847)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State taxes</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(13,032)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(10,732)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid commissions</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(13,868)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11,526)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(58,532)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(62,818)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Valuation allowance</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(245,476)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(208,215)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net deferred tax (liabilities) assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">900&#160;</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">As of December&#160;31, 2023 and </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">2022</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">, t</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">he Company</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"> had NOL carryforwards for U.S. federal income tax purposes of approximately </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">$626.4 million</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"> and $658.8 million, respectively; and for state income tax purposes of approximately</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"> $568.3 million</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"> and $528.9 million, respectively. The federal NOL carryforwards, if not utilized, will begin to expire in 2035. The state NOL carryforward, if not utilized, will begin to expire on various dates starting in 2024.</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:115%"> </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">The Company also has federal and California research and development credit carryforwards totaling $42.1&#160;million and $12.2&#160;million </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">as of </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">December&#160;31, 2023,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"> respectively. The federal research and development credit carryforwards will begin to expire in 2033, unless previously utilized. The California research credits do not expire.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">As of December&#160;31, 2023, the Company has NOL carryforwards for United Kingdom purposes of approximately </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">$27.9 million. The UK </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">NOL carryforwards </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">do not expire.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Based on all available evidence on a jurisdictional basis </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">t</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">he Company believes that it is more likely than not that the Company&#8217;s U.S. deferred tax assets will not be utilized and have recorded a full valuation allowance against its U.S. net deferred tax assets. The Company assesses on a periodic basis the likelihood that it will be able to recover its deferred tax assets. The Company considers all available evidence, both positive and negative, including historical losses. The Company determined that it is more likely than not that the U.S. net deferred tax assets will not be fully realizable for the years ended December&#160;31, 2023 and 2022.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">T</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">he Company has a valuation allowance for U.S. deferred tax assets, including NOL carryforwards. The Company expects to maintain this valuation allowance for the foreseeable future. During the year ended December&#160;31, 2023, the valuation allowance related to the Company&#8217;s U.S. deferred tax assets increased by $37.3&#160;million. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Utilization of the net operating loss carryforwards may be subject to a substantial annual limitation due to the ownership change limitations under the Code and similar state provisions. Under Section 382 of the Code, a corporation that undergoes an &#8220;ownership change&#8221; may be subject to limitations on its ability to utilize its pre-change NOLs to offset future taxable income. A detailed analysis was performed through December 31, 2021 for the Company to determine whether an ownership change under Section 382 of the Code has occurred, and ownership changes were identified in 2013 and 2020. As a result of this analysis, the Company concluded that there is no longer any limitation on the utilization of such NOLs. A detailed analysis was performed for the period March 1, 2014 to October 1, 2020 for Signal Sciences to determine whether an ownership change under Section 382 of the Code has occurred and an ownership change was identified in 2020. As a result of this analysis, the Company concluded that there is no longer any limitation on its utilization of the NOLs of Signal Sciences.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">No provision for U.S. income and foreign withholding taxes has been made for these permanently reinvested foreign earnings because it is management&#8217;s intention to permanently reinvest such undistributed earnings outside the United States.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">A reconciliation of the Company&#8217;s unrecognized tax benefits is as follows (in thousands):</span></div><div style="margin-bottom:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:65.712%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.005%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.253%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Balance at beginning of year</span></div></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">17,337&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">7,808&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-indent:6.85pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Increases related to prior year tax positions</span></div></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">2,674&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">8,697&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-indent:6.85pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Decreases related to prior year tax positions</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">(751)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-indent:6.85pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Increases related to current year tax positions</span></div></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,234&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,583&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Balance at end of year</span></div></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,245&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,337&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">The Company has considered the amounts and probabilities of the outcomes that can be realized upon ultimate settlement with the tax authorities and determined unrecognized tax benefits primarily related to credits should be established as noted in the summary rollforward above. The unrecognized tax benefits, if recognized and in absence of full valuation allowance, would impact the income tax provision by $23.2&#160;million and $17.3&#160;million at December&#160;31, 2023 and 2022, respectively. As of December&#160;31, 2023, the Company does not believe that it is reasonably possible that its unrecognized tax benefits would significantly change in the following 12 months.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:112%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">The Company&#8217;s policy is to recognize interest and penalties associated with uncertain tax benefits as part of the income tax provision and include accrued interest and penalties with the related income tax liability on its consolidated balance sheet. To date, </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">t</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">he Company has not recognized any interest and penalties in its consolidated statements of operations, nor has it accrued for or made payments for interest and penalties. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Generally, in the U.S. federal and state taxing jurisdictions, tax periods in which certain loss and credit carryovers are generated remain open for audit until such time as the limitation period ends for the year in which such losses or credits are utilized.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//740/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-14<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-21<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 270<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482526/740-270-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-17<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482603/740-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698144383824">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Information About Revenue and Geographic Areas<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>Segment Reporting [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingDisclosureTextBlock', window );">Information About Revenue and Geographic Areas</a></td>
<td class="text">Information About Revenue and Geographic Areas<span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue by geography is based on the billing address of the customer. Refer to Note 3&#8212;Revenue for more information on net revenue by geographic area.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Long-Lived Assets</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s property and equipment and operating lease right-of-use assets, each net, by geographic area were as follows:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.099%"><tr><td style="width:1.0%"></td><td style="width:64.920%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.545%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.144%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.545%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.146%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">United States</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">166,413&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">175,794&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">All other countries</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65,407&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,024&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total long-lived assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">231,820&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">248,818&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//280/tableOfContent<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 26<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-26<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 34<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-34<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-21<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-21<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698144467280">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Subsequent Event<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventsAbstract', window );"><strong>Subsequent Events [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventsTextBlock', window );">Subsequent Event</a></td>
<td class="text">Subsequent Event<div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 16, 2024, the Company entered into the Second Amendment to Credit Agreement with the Lenders and Silicon Valley Bank, a division of First-Citizens Bank &amp; Trust Company, as a lender and as administrative agent and collateral agent for the Lenders, which, among other things, extended the maturity date of the loans under the Credit Agreement to June 14, 2024.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//855/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483399/855-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698141425856">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pay vs Performance Disclosure - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_PvpTable', window );"><strong>Pay vs Performance Disclosure</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net loss</a></td>
<td class="num">$ (133,088)<span></span>
</td>
<td class="num">$ (190,774)<span></span>
</td>
<td class="num">$ (222,697)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_PvpTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 402<br> -Subsection v<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_PvpTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698142470992">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Insider Trading Arrangements<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>shares</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TradingArrByIndTable', window );"><strong>Trading Arrangements, by Individual</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_MtrlTermsOfTrdArrTextBlock', window );">Material Terms of Trading Arrangement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text"><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">During the Company&#8217;s last fiscal quarter, the Company&#8217;s directors and officers (as defined in Rule 16a-1(f) under the Exchange Act) adopted or terminated the contracts, instructions or written plans for the purchase or sale of the Company&#8217;s securities set forth in the table below.</span></div><div><span><br/></span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:20.683%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.888%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.794%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.794%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.888%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.473%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.085%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="6" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Type of Trading Arrangement</span></div></td><td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td></tr></table></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:20.683%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.888%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.794%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.794%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.888%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.473%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.085%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Name and Position</span></div></td><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Action</span></div></td><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Adoption/ Termination</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Date</span></div></td><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Rule 10b5-1*</span></div></td><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Non-</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Rule 10b5-1**</span></div></td><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Total Shares of Class A Common Stock to be Sold</span></div></td><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Total Shares of Class A Common Stock to be Purchased</span></div></td><td colspan="3" style="border-left:1pt solid #000000;border-right:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%">Expiration Date</span></div></td></tr><tr><td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Ronald Kisling, Chief Financial Officer (1)</span></div></td><td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Adoption</span></div></td><td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">11/20/2023</span></td><td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">X</span></div></td><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#8212;</span></div></td><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">163,938</span></td><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#8212;</span></div></td><td colspan="3" style="border-left:1pt solid #000000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">12/31/2024</span></td></tr><tr><td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Richard Daniels, Director (2)</span></div></td><td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Adoption</span></div></td><td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">11/17/2023</span></td><td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">X</span></div></td><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#8212;</span></div></td><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">7,766</span></td><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#8212;</span></div></td><td colspan="3" style="border-left:1pt solid #000000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">03/29/2024</span></td></tr><tr><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Brett Shirk, former Chief Revenue Officer (3)</span></div></td><td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Termination</span></div></td><td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">12/20/2023</span></div></td><td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">X</span></div></td><td colspan="3" style="border-bottom:1pt solid #000;border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#8212;</span></div></td><td colspan="3" style="border-bottom:1pt solid #000;border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#8212;</span></div></td><td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#8212;</span></div></td><td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">12/31/2024</span></div></td></tr><tr><td colspan="24" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">* Contract, instruction or written plan intended to satisfy the affirmative defense conditions of Rule 10b5-1(c) under the Exchange Act.</span></div></td></tr><tr><td colspan="24" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">** &#8220;Non-Rule 10b5-1 trading arrangement&#8221; as defined in Item 408(c) of Regulation S-K under the Exchange Act.</span></div></td></tr></table></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">(1) Ronald Kisling, our Chief Financial Officer, adopted a Rule 10b5-1 Plan on November 20, 2023. Mr. Kisling's plan provides for the potential sale of up to 163,938 shares of the Company&#8217;s Class A Common Stock, plus any shares that are granted to him in 2024 relating to the 2023 company-wide Bonus Program; provided, however, because certain of Mr. Kisling&#8217;s planned sale amounts are equal to a designated percentage of the net number of shares resulting from RSUs vesting, of which a portion will be surrendered to the Company or sold to cover withholding taxes, depending on how many shares are withheld in these instances, the maximum number of shares to be sold may be less. The plan expires on December 31, 2024, or upon the earlier completion of all authorized transactions under the plan.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">(2) Richard Daniels, a member of our board of directors, adopted a Rule 10b5-1 Plan on November 17, 2023. Mr. Daniels' plan provides for the potential sale of up to 7,766 shares of the Company&#8217;s Class A Common Stock; provided, however, because certain of Mr. Daniels' planned sale amounts are equal to a designated percentage of the net number of shares resulting from RSUs vesting, of which a portion will be surrendered to the Company or sold to cover withholding taxes, depending on how many shares are withheld in these instances, the maximum number of shares to be sold may be less. The plan expires on March 29, 2024, or upon the earlier completion of all authorized transactions under the plan.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">(3) Brett Shirk, our former Chief Revenue Officer, on December 20th, 2023, terminated a Rule 10b5-1 Plan entered into on August 21, 2023 in connection with his departure.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_NonRule10b51ArrAdoptedFlag', window );">Non-Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_NonRule10b51ArrTrmntdFlag', window );">Non-Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_IndividualAxis=fsly_RonaldKislingMember', window );">Ronald Kisling [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TradingArrByIndTable', window );"><strong>Trading Arrangements, by Individual</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrIndName', window );">Name</a></td>
<td class="text">Ronald Kisling<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrIndTitle', window );">Title</a></td>
<td class="text">Chief Financial Officer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrAdoptedFlag', window );">Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrAdoptionDate', window );">Adoption Date</a></td>
<td class="text">11/20/2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrDuration', window );">Arrangement Duration</a></td>
<td class="text">407 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrSecuritiesAggAvailAmt', window );">Aggregate Available</a></td>
<td class="nump">163,938<span></span>
</td>
<td class="nump">163,938<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_IndividualAxis=fsly_RichardDanielsMember', window );">Richard Daniels [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TradingArrByIndTable', window );"><strong>Trading Arrangements, by Individual</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrIndName', window );">Name</a></td>
<td class="text">Richard Daniels<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrIndTitle', window );">Title</a></td>
<td class="text">Director<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrAdoptedFlag', window );">Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrAdoptionDate', window );">Adoption Date</a></td>
<td class="text">11/17/2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrDuration', window );">Arrangement Duration</a></td>
<td class="text">133 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrSecuritiesAggAvailAmt', window );">Aggregate Available</a></td>
<td class="nump">7,766<span></span>
</td>
<td class="nump">7,766<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_IndividualAxis=fsly_BrettShirkMember', window );">Brett Shirk [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TradingArrByIndTable', window );"><strong>Trading Arrangements, by Individual</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrIndName', window );">Name</a></td>
<td class="text">Brett Shirk<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrIndTitle', window );">Title</a></td>
<td class="text">former Chief Revenue Officer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrTrmntdFlag', window );">Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrTerminationDate', window );">Termination Date</a></td>
<td class="text">12/20/2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrDuration', window );">Arrangement Duration</a></td>
<td class="text">377 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrSecuritiesAggAvailAmt', window );">Aggregate Available</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_MtrlTermsOfTrdArrTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_MtrlTermsOfTrdArrTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_NonRule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_NonRule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_NonRule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_NonRule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_Rule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_Rule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_Rule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_Rule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_TradingArrByIndTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TradingArrByIndTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_TrdArrAdoptionDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TrdArrAdoptionDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_TrdArrDuration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph C<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TrdArrDuration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_TrdArrIndName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TrdArrIndName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_TrdArrIndTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TrdArrIndTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_TrdArrSecuritiesAggAvailAmt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph D<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TrdArrSecuritiesAggAvailAmt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_TrdArrTerminationDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TrdArrTerminationDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_IndividualAxis=fsly_RonaldKislingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_IndividualAxis=fsly_RonaldKislingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_IndividualAxis=fsly_RichardDanielsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_IndividualAxis=fsly_RichardDanielsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_IndividualAxis=fsly_BrettShirkMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_IndividualAxis=fsly_BrettShirkMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698141560608">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock', window );">Basis of Presentation and Consolidation</a></td>
<td class="text"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Basis of Presentation and Consolidation</span></div>The accompanying consolidated financial statements and footnotes have been prepared in accordance with accounting principles generally accepted in the United States of America (&#8220;GAAP&#8221;).<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationPolicyTextBlock', window );">Principles of Consolidation</a></td>
<td class="text">The accompanying consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries. All intercompany transactions and balances have been eliminated in consolidation.<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PriorPeriodReclassificationAdjustmentDescription', window );">Reclassification</a></td>
<td class="text">Certain changes to presentation have been made to conform the prior period presentation to the current period reporting. The Company has made certain presentation changes to consolidate the interest paid on finance lease line into other liabilities working capital changes and components of the non-cash lease expense related to operating lease liability changes into operating lease liability working capital changes within operating cash flows in the consolidated statements of cash flows. Such reclassifications did not affect the consolidated balance sheets, total revenues, operating income, net income, or cash flows from operating, investing or financing activities.<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UseOfEstimates', window );">Use of Estimates</a></td>
<td class="text"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Use of Estimates</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of consolidated financial statements in conformity with GAAP requires management to make estimates, judgments, and assumptions that affect the reported amounts of assets, liabilities, revenue, costs and expenses, and related disclosures. Actual results and outcomes could differ significantly from the Company&#8217;s estimates, judgments, and assumptions. Significant estimates, judgments, and assumptions used in these financial statements include, but are not limited to, those related to revenue, accounts receivable and related reserves, internal-use software development costs, the incremental borrowing rate related to the Company&#8217;s lease liabilities,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">fair value of assets acquired and liabilities assumed during business combinations, useful lives of acquired intangible assets and property and equipment, fair value of the Company&#8217;s long-lived assets as well as reporting unit, income tax reserves, and accounting for stock-based compensation. Estimates are periodically reviewed in light of changes in circumstances, facts, and experience. The effects of material revisions in estimates are reflected in the consolidated financial statements in the period of change and prospectively from the date of the change in estimate.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskCreditRisk', window );">Concentrations of Credit Risk</a></td>
<td class="text"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Concentrations of Credit Risk</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Financial instruments that potentially subject the Company to significant concentrations of credit risk consist primarily of cash, cash equivalents, marketable securities and accounts receivable. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s cash, cash equivalents, and marketable securities primarily consisted of bank deposits, money market funds, investment-grade commercial paper, corporate notes and bonds, U.S. treasury securities, agency bonds, municipal securities, foreign government and supranational securities and asset-backed securities held at major financial institutions that </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">the Company believes to be of high credit standing. The primary focus of its investment strategy is to preserve capital and meet liquidity requirements. The Company&#8217;s investment policy limits the amount of credit exposure with any one financial institution or commercial issuer. The Company maintains deposits in federally insured financial institutions in excess of federally insured limits. The Company is exposed to credit risk in the event of default by the financial institutions holding its cash and cash equivalents to the extent recorded in the balance sheets. While the Company has not experienced any losses in such accounts and the Company has historically maintained its cash in multiple financial institutions, the failure of Silicon Valley Bank (&#8220;SVB&#8221;) in March 2023, at which the Company held cash and cash equivalents in multiple accounts, exposed the Company to limited credit risk prior to the completion by the Federal Deposit Insurance Corporation (&#8220;FDIC&#8221;) of the resolution of SVB in a manner that fully protected all depositors.</span></div>Concentrations of credit risk with respect to accounts receivable are primarily limited to certain customers to which the Company makes substantial sales. The Company&#8217;s customer base consists of a large number of geographically dispersed customers diversified across several industries<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsUnrestrictedCashAndCashEquivalentsPolicy', window );">Cash, Cash Equivalents</a></td>
<td class="text"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash, Cash Equivalents and Marketable Securities</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash and cash equivalents include cash held in banks, highly liquid money market funds, U.S. treasury securities and commercial paper, all with original maturities of three months or less when acquired. The Company&#8217;s short-term and long-term marketable securities consists of fixed income U.S. and foreign government agency securities, corporate bonds, agency bonds, asset-backed securities and commercial paper. Management determines the appropriate classification of the Company&#8217;s investments at the time of purchase and reevaluates such designation at each balance sheet date. The Company classifies its marketable securities as either short-term or long-term based on each instrument&#8217;s underlying remaining contractual maturity date.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company classifies its marketable securities as available-for-sale as it has the ability to sell the marketable securities prior to its maturity. The Company&#8217;s marketable securities are reported at fair value with unrealized gains and losses reported, net of tax, as a separate component of accumulated other comprehensive income (loss) in stockholders&#8217; equity. Cash and cash equivalents are stated at cost, which approximate fair market value. Short-term and long-term marketable securities are classified as available-for-sale debt securities and are also carried at fair market value. When the available-for-sale debt securities are sold, cost is based on the specific identification method, and the realized gains and losses are included in other income (expense), net in the consolidated statements of operations.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company evaluates its investments periodically for possible other-than-temporary impairment. A decline in fair value below the amortized costs of its available-for-sale debt securities is considered an other-than-temporary impairment if the Company has the intent to sell the security or it is more likely than not that the Company will be required to sell the security before recovery of the entire amortized cost basis. Otherwise, the credit loss component of the impairment is recorded as allowance for credit losses with an offsetting entry charged to other income (expense), net, while the remaining loss is recognized in other comprehensive income (loss).</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecuritiesPolicy', window );">Marketable Securities</a></td>
<td class="text"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash, Cash Equivalents and Marketable Securities</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash and cash equivalents include cash held in banks, highly liquid money market funds, U.S. treasury securities and commercial paper, all with original maturities of three months or less when acquired. The Company&#8217;s short-term and long-term marketable securities consists of fixed income U.S. and foreign government agency securities, corporate bonds, agency bonds, asset-backed securities and commercial paper. Management determines the appropriate classification of the Company&#8217;s investments at the time of purchase and reevaluates such designation at each balance sheet date. The Company classifies its marketable securities as either short-term or long-term based on each instrument&#8217;s underlying remaining contractual maturity date.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company classifies its marketable securities as available-for-sale as it has the ability to sell the marketable securities prior to its maturity. The Company&#8217;s marketable securities are reported at fair value with unrealized gains and losses reported, net of tax, as a separate component of accumulated other comprehensive income (loss) in stockholders&#8217; equity. Cash and cash equivalents are stated at cost, which approximate fair market value. Short-term and long-term marketable securities are classified as available-for-sale debt securities and are also carried at fair market value. When the available-for-sale debt securities are sold, cost is based on the specific identification method, and the realized gains and losses are included in other income (expense), net in the consolidated statements of operations.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company evaluates its investments periodically for possible other-than-temporary impairment. A decline in fair value below the amortized costs of its available-for-sale debt securities is considered an other-than-temporary impairment if the Company has the intent to sell the security or it is more likely than not that the Company will be required to sell the security before recovery of the entire amortized cost basis. Otherwise, the credit loss component of the impairment is recorded as allowance for credit losses with an offsetting entry charged to other income (expense), net, while the remaining loss is recognized in other comprehensive income (loss).</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy', window );">Restricted Cash</a></td>
<td class="text"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Restricted Cash</span></div>As of both December&#160;31, 2023 and 2022, the Company had a restricted cash balance of $0.2 million, which consists of a letter of credit related to a lease arrangement that is collateralized by restricted cash. As of December&#160;31, 2023 and 2022, these amounts are included in prepaid expenses and other current assets on the consolidated balance sheets.<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TradeAndOtherAccountsReceivablePolicy', window );">Accounts Receivable, net</a></td>
<td class="text"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Accounts Receivable, net</span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts receivable are recorded and carried at the original invoiced amount, net of an allowance for any potential credit losses. The allowance for credit losses is determined based upon the assessment of various factors, such as historical experience, credit quality of its customers, age of the accounts receivable balances, geographic related risks, economic </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">conditions, and other factors that may affect a customer&#8217;s ability to pay. The Company records these charges as a component of general and administrative expenses in the consolidated statements of operations in the period in which the change occurs. The Company does not have any&#160;off-balance&#160;sheet credit exposure related to its customers.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock', window );">Incremental Costs to Obtain a Contract with a Customer and Revenue Recognition</a></td>
<td class="text"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Incremental Costs to Obtain a Contract with a Customer</span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company capitalizes incremental costs associated with obtaining customer contracts, specifically certain commission payments. The Company pays commissions based on contract value upon signing a new arrangement with a customer and upon renewal and upgrades of existing contracts with customers only if the renewal and upgrades result in an incremental increase in contract value. These costs are deferred on the consolidated balance sheets and amortized over the expected period of benefit on a straight-line basis. The Company also pays commissions on an ongoing basis based upon revenue recognized. In these cases, no incremental costs are deferred, as the commissions are earned and expensed in the same period for which the associated revenue is recognized. Based on the nature of the Company&#8217;s technology and services, and the duration of its relationships with its customers, the expected period of benefit is determined to be five years. Amortization is primarily included in sales and marketing expense in the consolidated statements of operations. Deferred commission and incentive payments are included in other assets on the consolidated balance sheets.</span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue recognition</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company primarily derives revenue from the sale of services to customers executing contracts in which the standard contract term is one year, although terms may vary by contract. Most of the Company&#8217;s contracts are non-cancelable over the contractual term. The majority of the Company&#8217;s usage-based contracts commit the customer to a minimum monthly level of usage and specify the rate at which the customer must pay for actual usage above the monthly minimum. The Company also offers subscriptions to access a unified security web application and application programming interface at a fixed rate.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recognizes revenue in accordance with Accounting Standards Codification (&#8220;ASC&#8221;) 606, where revenue is recognized upon transfer of control of promised products or services to customers in an amount that reflects the consideration the Company expects to receive in exchange for those products or services. The processing and recording of certain revenue requires a manual process, which uses a complex set of procedures to generate complete and accurate data to record these revenue transactions. The Company enters into contracts that can include various combinations of products and services, each of which are distinct and accounted for as separate performance obligations. Revenue is recognized net of any taxes collected from customers, which are subsequently remitted to governmental authorities.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s contracts with customers often include promises to transfer multiple products and services to a customer. Determining whether products and services are considered distinct performance obligations that should be accounted for separately versus together may require significant judgment. Performance obligations generally represent stand-ready obligations that are satisfied over time as the customer simultaneously receives and consumes the benefits provided by the Company. These obligations can be network services, security, compute, professional services, support, and other edge cloud platform services.  Accordingly, the Company&#8217;s revenue is recognized over time, consistent with the pattern of benefit provided to the customer over the term of the agreement. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For contracts with multiple performance obligations that are delivered over different time periods, the Company allocates the contract transaction price to each performance obligation using the estimated standalone selling price (</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#8220;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">SSP&#8221;) of each distinct good or service in the contract. Judgment is required to determine the SSP for each distinct performance obligation. The Company analyzes separate sales of its products and services or the discounted list price per management&#8217;s approved price list as a basis for estimating the SSP of these products and services. In instances where SSP is not directly observable, such as when the Company does not sell the product or service separately, the Company determines the SSP using information that may include market conditions and other observable inputs. The Company typically has more than one SSP for individual products and services due to the stratification of those products and services by customers and circumstances. In these instances, the Company may use information, such as geographic region and distribution channel, in determining the SSP.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The transaction price in a contract for usage-based services is typically equal to the minimum commit price in the contract plus any variable amounts of usage above the minimum commitment, less any discounts provided. The transaction price in a contract that does not contain usage-based services is equal to the total contract value. Because the Company&#8217;s typical contracts represent distinct services delivered over time with the same pattern of transfer to the customer, usage-based consideration primarily related to actual consumption over the minimum commit levels is allocated to the period to which it relates. The amount of consideration recognized for usage above the minimum commit price is limited to the amount the Company expects to be entitled to receive in exchange for providing services. The Company has elected to apply the practical expedient for estimating and disclosing the variable consideration when variable consideration is allocated entirely to a wholly unsatisfied performance obligation or to a wholly unsatisfied promise to transfer a distinct good or service that forms part of a single performance obligation from its remaining performance obligations under these contracts. For contracts to which such practical expedient cannot be applied, consideration is estimated. For custom arrangements, other methods may be used as a measure of progress towards satisfying the performance obligations. Revenue on the Company&#8217;s subscription services are recognized ratably over their respective contractual term.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At times, customers may request changes that either amend, replace, or cancel existing contracts. Judgment is required to determine whether the specific facts and circumstances within the contracts should be accounted for as a separate contract or as a prospective modification.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In contracts where there are timing differences between when the Company transfers a promised good or service to the customer and when the customer pays for that good or service, the Company has determined its contracts do not include a significant financing component. The Company has also elected the practical expedient to not measure financing components for any contract where the timing difference is less than one year.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueOfFinancialInstrumentsPolicy', window );">Fair Value of Financial Instruments</a></td>
<td class="text"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Fair Value of Financial Instruments</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s available-for-sale securities are recorded at fair value. The Company&#8217;s cash and cash equivalents and restricted cash are recorded at cost, which approximates fair value. Additionally, accounts receivable, accounts payable, and accrued expenses approximate fair value due to their short-term nature. For disclosure purposes, the Company measures the fair value of its outstanding senior convertible notes using a market approach based on actual bids and offers in an over-the-counter market, or Level 2 inputs, on the last trading day of the period.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock', window );">Property and Equipment</a></td>
<td class="text"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Property and Equipment</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment are stated at cost less accumulated depreciation and amortization. Depreciation and amortization are computed on a straight-line basis over the estimated useful lives of the assets. The estimated useful life of each asset category is as follows:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.444%"><tr><td style="width:1.0%"></td><td style="width:68.404%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:29.396%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Computer and networking equipment</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 to 5 years</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Leasehold improvements</span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Shorter of lease term or 5 years</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Furniture and fixtures</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 years</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Office equipment</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Internal-use software</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 to 5 years</span></div></td></tr></table></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company periodically reviews the estimated useful lives of property and equipment and any changes to the estimated useful lives are recorded prospectively from the date of the change. </span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Upon retirement or sale, the cost of the assets disposed of and the related accumulated depreciation are removed from the accounts, and any resulting gain or loss is included in the consolidated statements of operations. Repairs and maintenance costs are expensed as incurred.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InternalUseSoftwarePolicy', window );">Internal-Use Software Development Costs</a></td>
<td class="text"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Internal-Use Software Development Costs</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Labor and related costs associated with&#160;internal-use&#160;software incurred during the application development stage are capitalized.&#160;Capitalization of costs begins when the preliminary project stage is completed, management has committed to funding the project, and it is probable that the project will be completed and the software will be used to perform the function intended. Capitalization ceases at the point when the project is fully tested, is substantially completed and is ready for its intended purpose. The capitalized amounts are included in property and equipment, net on the consolidated balance sheets. The Company amortizes such costs on a straight-line basis over the estimated useful life of the software, which is generally <span style="-sec-ix-hidden:f-496">three</span> to five years. Completed&#160;internal-use&#160;software that is related to the Company&#8217;s network is amortized to cost of revenue over its </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">estimated useful life. Costs incurred during the planning, training, and post-implementation stages of the software development life-cycle are expensed as incurred.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationsPolicy', window );">Business Combinations</a></td>
<td class="text"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Business Combinations</span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company accounts for its acquisitions using the acquisition method of accounting, which requires, among other things, allocation of the fair value of purchase consideration to the tangible and intangible assets acquired and liabilities assumed at their estimated fair values on the acquisition date. The excess of the fair value of purchase consideration over the values of these identifiable assets and liabilities is recorded as goodwill. </span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Determining the fair value of assets acquired and liabilities assumed requires significant judgment and estimates including the selection of valuation methodologies, future expected cash flows, discount rates, and useful lives. The Company&#8217;s estimates of fair value are based on assumptions believed to be reasonable, but which are inherently uncertain and, as a result, actual results may differ from estimates. During the measurement period, not to exceed one year from the date of acquisition, the Company may record adjustments to the assets acquired and liabilities assumed with a corresponding offset to goodwill to reflect new information obtained about facts and circumstances that existed as of the acquisition date. At the conclusion of the measurement period, or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments are reflected in the consolidated statements of operations.</span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Transaction costs associated with business combinations are expensed as incurred, and are included in general and administrative expense in the consolidated statements of operations.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingPolicyPolicyTextBlock', window );">Segments</a></td>
<td class="text"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Segments</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company considers operating segments to be components of the Company in which separate financial information is available and is evaluated regularly by the Company&#8217;s Chief Operating Decision Maker (&#8220;CODM&#8221;) in deciding how to allocate resources and in assessing performance. The CODM is the Chief Executive Officer (&#8220;CEO&#8221;). The CEO reviews financial information presented on a consolidated basis, accompanied by information about revenue, customer size, and industry vertical for purposes of allocating resources and evaluating financial performance.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">The Company has determined that it is organized as a single operating segment with no segment managers who are held accountable for operations, operating results, or plans for levels or components below the consolidated unit level. Accordingly, the Company has determined that it has a single reportable segment and operating segment.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_GoodwillIntangibleAssetsAndLongLivedAssetsPolicyPolicyTextBlock', window );">Goodwill, Intangible Assets, and Other Long-Lived Assets</a></td>
<td class="text"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Goodwill, Intangible Assets and Other Long-Lived Assets</span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill represents the excess of the purchase price of an acquired business over the fair value of the net tangible and identifiable intangible assets acquired. The carrying amount of goodwill is reviewed for impairment at least annually, in the fourth quarter, or whenever events or changes in circumstances indicate that the carrying value may not be recoverable. The Company has a single operating segment and reporting unit structure for all of the periods presented.</span></div><div style="text-indent:27pt"><span><br/></span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As part of the annual goodwill impairment test, the Company first performs a qualitative assessment to determine whether further impairment testing is necessary. If, as a result of the qualitative assessment, it is more likely than not that the fair value of the reporting unit is less than its carrying amount, the quantitative impairment test will be required. If the Company has determined it necessary to perform a quantitative impairment assessment, the Company will compare the fair value of the reporting unit with its carrying amount and recognize an impairment charge for the amount by which the carrying amount exceeds the reporting unit&#8217;s fair value, limited to the total amount of goodwill of the reporting unit. The Company did not recognize any goodwill impairment charges for any of the periods presented.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s definite lived intangible assets are carried at cost, net of accumulated amortization. Intangible assets are amortized on a straight-line basis over their estimated useful lives. The Company estimates the useful life by estimating the expected period of economic benefit. </span></div><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The useful lives of the intangible assets are as follows:</span></div><div><span><br/></span></div><div style="margin-bottom:12pt;padding-left:36pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:90.789%"><tr><td style="width:1.0%"></td><td style="width:76.999%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:20.801%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 to 8 years</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Developed technology</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4 to 5 years</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trade names</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 to 4 years</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Backlog</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2 years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Internet protocol addresses</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10 years</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">In-process research and development (&#8220;IPR&amp;D&#8221;)</span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Indefinite</span></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-lived assets, including property and equipment, definite lived intangible assets, and operating lease right-of-use assets, are reviewed for impairment whenever events or changes in circumstances, such as service discontinuance, technological obsolescence, significant decreases in market capitalization, facility closures, or work-force reductions indicate that the carrying amount of the long-lived asset or asset group may not be recoverable. When such events occur, the Company compares the carrying amount of the asset or asset group to the undiscounted expected future cash flows related to the asset or asset group. If this comparison indicates that an impairment is present, the amount of impairment is calculate as the difference between the carrying amount and the fair value of the asset or asset group. The Company&#8217;s indefinite lived intangibles are assessed annually for impairment. In addition to the recoverability assessment, the Company periodically reviews the remaining estimated useful lives of long-lived assets. If the estimated useful life assumption for any asset is changed due to new information, the remaining unamortized balance would be depreciated or amortized over the revised estimated useful life, on a prospective basis. Refer to Note 6 &#8212; Balance Sheet Information and Note 7 &#8212; Leases for discussion of impairment of property and equipment and impairment of operating lease right-of-use asset, respectively.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeLeasesPolicyTextBlock', window );">Leases</a></td>
<td class="text"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Leases </span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leases office space and data centers (&#8220;colocation leases&#8221;) under non-cancelable operating leases with various expiration dates. The Company also leases server equipment under non-cancelable finance leases with various expiration dates. The Company determines if an arrangement contains a lease at inception.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating lease right-of-use assets and lease liabilities are recognized at the present value of the future lease payments at commencement date. The interest rate implicit in the Company&#8217;s operating leases is not readily determinable, and therefore an incremental borrowing rate is estimated to determine the present value of future payments. The estimated incremental borrowing rate factors in a hypothetical interest rate on a collateralized basis with similar terms, payments, and economic environments. Operating lease right-of-use assets also include any prepaid lease payments and exclude lease incentives.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating lease expense is recognized on a straight-line basis over the lease term commencing on the date the Company has the right to use the leased property. The lease terms may include options to extend or terminate the lease. The Company generally uses the base, non-cancelable, lease term when recognizing the lease assets and liabilities, unless it is reasonably certain that the option will be exercised. The lease agreements may contain variable costs such as common area maintenance, operating expenses or other costs. Variable lease costs are expensed as incurred on the consolidated statements of operations. The Company&#8217;s lease agreements generally do not contain any residual value guarantees or restrictive covenants.</span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certain of our operating leases contain both lease and non-lease components. Non-lease components for our office spaces include fixed payments for maintenance, utilities, real estate taxes, and management fees. Non-lease components for colocation leases include fixed payments for utilities and other operating costs. For both office spaces and colocation leases, the Company combines fixed lease and non-lease components and account for them as a single lease component.</span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leases networking equipment from a third party, through equipment finance leases. These leases include a bargain purchase option, resulting in a full transfer of ownership at the completion of the lease term. </span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating leases are reflected in operating lease right-of-use assets, operating lease liabilities, and operating lease liabilities, non-current on the consolidated balance sheets. Finance leases are included in property and equipment, net, finance lease liabilities, and finance lease liabilities, non-current on the consolidated balance sheets.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtPolicyTextBlock', window );">Convertible Debt</a></td>
<td class="text"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Convertible Debt</span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company evaluated the terms of its debt in line with Accounting Standards Update (&#8220;ASU&#8221;) 2020-06 and concluded that the instrument does not require separation and that there were no other derivatives that required separation. The Company has combined these features with the host contract and accounted for the convertible debt as a single liability in long-term debt on the consolidated balance sheets. The carrying amount of the liability is based on the gross proceeds, net of the unamortized transaction costs incurred related to the issuance of the convertible debt instrument, and the partial repurchases made in 2022 and 2023. The debt discount from the net unamortized transaction cost is amortized to interest expense over the term of the convertible debt instrument using the effective interest rate method.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfSalesPolicyTextBlock', window );">Cost of Revenue</a></td>
<td class="text"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cost of Revenue</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenue consists primarily of fees paid to network providers for bandwidth and to third-party network data centers for housing servers, also known as colocation costs. Cost of revenue also includes employee costs for network operation, build-out and support and services delivery, network storage costs, cost of managed services and software-as-a-service, depreciation of network equipment used to deliver services, and amortization of network-related internal-use software. The Company enters into contracts for bandwidth with third-party network providers with terms of typically one year. These contracts generally commit the Company to pay minimum monthly fees plus additional fees for bandwidth usage above the committed level. The Company enters into contracts for colocation services with third-party providers with terms typically ranging from <span style="-sec-ix-hidden:f-514">one</span> to six years.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpensePolicy', window );">Research and Development Costs</a></td>
<td class="text"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Research and Development Costs</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development costs consist of primarily payroll and related personnel costs for the design, development, testing, and enhancement of the Company&#8217;s edge cloud platform. Research and development expenses also include cloud infrastructure fees for development and testing. Costs incurred in the development of the Company&#8217;s edge cloud platform are expensed as incurred, excluding those expenses which meet the criteria for the capitalization of internal-use software.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdvertisingCostsPolicyTextBlock', window );">Advertising Expense</a></td>
<td class="text"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Advertising Expense</span></div>The Company recognizes advertising expense as incurred.<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy', window );">Accounting for Stock-Based Compensation</a></td>
<td class="text"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Accounting for Stock-Based Compensation</span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recognizes stock-based compensation expense based on the grant-date fair value of the awards. The fair values of the restricted stock units (&#8220;RSUs&#8221;), restricted stock awards (&#8220;RSAs&#8221;) and performance stock awards (&#8220;PSUs&#8221;) are based on the fair value of the Company&#8217;s stock price on the grant date. The fair values of stock options and ESPP are based on the Black-Scholes option-pricing model. The fair value of the market-based performance stock awards (&#8220;MPSUs&#8221;) is measured using a Monte Carlo simulation valuation model. </span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The determination of the fair value of a stock-based award is affected by the deemed fair value of the underlying stock price on the grant date, as well as assumptions regarding a number of other complex and subjective variables, including expected term and stock price volatility of the awards. </span></div>Stock-based compensation expense for awards with service-based vesting only is recognized on a straight-line basis over the requisite service period of the awards, which is generally <span style="-sec-ix-hidden:f-522">three</span> or four years. In addition to service-based conditions, stock-based compensation expense for awards that have performance-based or market-based conditions are recognized over the requisite service period for each separately-vesting tranche as though each tranche of the award is its own separate grant, which results in an accelerated recognition of compensation cost. The Company accounts for forfeitures as they occur.<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock', window );">Foreign Currency</a></td>
<td class="text"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Foreign Currency </span></div>The functional currency of the Company&#8217;s foreign subsidiaries is the U.S. dollar. The monetary assets and liabilities that are denominated in a currency other than the U.S. dollar of the Company&#8217;s foreign subsidiaries are remeasured into U.S. dollars at the exchange rate on the balance sheet date, while non-monetary items are remeasured at historical rates. Revenue and expenses are remeasured at average exchange rates during the period. Transaction gains and losses that arise from exchange rate fluctuations on transactions denominated in a currency other than the functional currency are included in other income (expense), net in the consolidated statements of operations.<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxPolicyTextBlock', window );">Income Taxes</a></td>
<td class="text"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Income Taxes</span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company accounts for income taxes under the asset and liability method, which requires the recognition of deferred tax assets and liabilities for the expected future tax consequences of events that have been included in the financial statements. Under this method, the Company determines deferred tax assets and liabilities on the basis of the differences between the financial statement and tax bases of assets and liabilities by using enacted tax rates for the year in which the differences are expected to reverse. The effect of a change in tax rates on deferred tax assets and liabilities is recognized in income in the period that includes the enactment date. </span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recognizes deferred tax assets to the extent that it believes that these assets are more likely than not to be realized. In making such a determination, the Company considers all available positive and negative evidence, including future reversals of existing taxable temporary differences, projected future taxable income,&#160;tax-planning&#160;strategies, and results of recent operations. If the Company determines that it would be able to realize its deferred tax assets in the future in excess of </span></div><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">their net recorded amount, the Company would make an adjustment to the deferred tax asset valuation allowance, which would reduce the provision for income taxes.</span></div><div style="margin-bottom:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company records uncertain tax positions in accordance with ASC 740 on the basis of a&#160;two-step&#160;process in which (1)&#160;it determines whether it is more likely than not that the tax positions will be sustained on the basis of the technical merits of the position and (2)&#160;for those tax positions that meet the&#160;more-likely-than-not&#160;recognition threshold, the Company recognizes the largest amount of tax benefit that is more than 50&#160;percent likely to be realized upon ultimate settlement with the related tax authority.</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recognizes interest and penalties related to unrecognized tax benefits on the income tax expense line in the accompanying consolidated statement of operations and consolidated statement of comprehensive loss. Accrued interest and penalties are included in accrued expenses on the consolidated balance sheet.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerSharePolicyTextBlock', window );">Net Loss Per Share Attributable to Common Stockholders</a></td>
<td class="text"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Net Loss Per Share Attributable to Common Stockholders</span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic and diluted net loss per share is computed by dividing net loss by the weighted-average number of shares of common stock outstanding during the period. Diluted earnings per share attributable to common stockholders adjusts basic earnings per share for the potentially dilutive impact of stock options, restricted stock units, restricted stock awards, shares issuable under its employee stock purchase place and performance stock awards. The Company also applies the if-converted method for calculation of diluted per share for its convertible debt instruments. As the Company has reported losses for all periods presented, all potentially dilutive securities are antidilutive and accordingly, basic net loss per share equals diluted net loss per share. </span></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Prior to the Conversion, the Company&#8217;s basic and diluted net loss per share attributable to common stockholders was presented in conformity with the two-class method required for multiple classes of common stock and participating securities. Under the&#160;two-class&#160;method, net income is attributed to common stockholders and participating securities based on their participation rights. Under the&#160;two-class&#160;method, basic net loss per share attributable to common stockholders is computed by dividing the net loss attributable to common stockholders by the weighted-average number of shares of common stock outstanding during the period. Diluted earnings per share attributable to common stockholders adjusts basic earnings per share for the potentially dilutive impact of stock options, restricted stock units, restricted stock awards, shares issuable under our employee stock purchase place and performance stock awards.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recently Issued and Adopted Accounting Pronouncements</a></td>
<td class="text"><div style="margin-bottom:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Recently Issued and Adopted Accounting Pronouncements</span></div><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In November 2023, the FASB issued ASU 2023-07 &#8220;Segment Reporting - Improvements to Reportable Segment Disclosures&#8221;, which updates reportable segment disclosure requirements, primarily through enhanced disclosures about significant segment expenses and information used to assess segment performance. The guidance is effective for the Company's annual periods beginning in 2024 and interim periods beginning in the first quarter of fiscal year 2025. The Company is currently evaluating the impact of the new guidance and intends to adopt the guidance retrospectively when it becomes effective in 2024.</span></div>In December, 2023, the FASB issued ASU 2023-09 &#8220;Income Taxes (Topic 740): Improvements to Income Tax Disclosures&#8221;, which expands disclosures in an entity&#8217;s income tax rate reconciliation table and regarding cash taxes paid both in the U.S. and foreign jurisdictions. The guidance is effective for the Company's annual periods beginning in 2025. The Company is currently evaluating the impact of the new guidance and intends to adopt the guidance prospectively when it becomes effective in 2025.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_GoodwillIntangibleAssetsAndLongLivedAssetsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Goodwill, Intangible Assets, And Long Lived Assets Policy [Policy Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_GoodwillIntangibleAssetsAndLongLivedAssetsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types1:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdvertisingCostsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for advertising cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -SubTopic 35<br> -Topic 720<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483406/720-35-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdvertisingCostsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BasisOfAccountingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for completed business combinations (purchase method, acquisition method or combination of entities under common control). This accounting policy may include a general discussion of the purchase method or acquisition method of accounting (including for example, the treatment accorded contingent consideration, the identification of assets and liabilities, the purchase price allocation process, how the fair values of acquired assets and liabilities are determined) and the entity's specific application thereof. An entity that acquires another entity in a leveraged buyout transaction generally discloses the accounting policy followed by the acquiring entity in determining the basis used to value its interest in the acquired entity, and the rationale for that accounting policy.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 05<br> -Paragraph 4<br> -Subparagraph (a)-(d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479515/805-10-05-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Entity's cash and cash equivalents accounting policy with respect to restricted balances. Restrictions may include legally restricted deposits held as compensating balances against short-term borrowing arrangements, contracts entered into with others, or company statements of intention with regard to particular deposits; however, time deposits and short-term certificates of deposit are not generally included in legally restricted deposits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(1)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsUnrestrictedCashAndCashEquivalentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for cash and cash equivalents with respect to unrestricted balances.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsUnrestrictedCashAndCashEquivalentsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskCreditRisk">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for credit risk.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 825<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480981/942-825-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskCreditRisk</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConsolidationPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConsolidationPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfSalesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for cost of product sold and service rendered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Topic 705<br> -Publisher FASB<br> -URI https://asc.fasb.org//705/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfSalesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy related to debt. Includes, but is not limited to, debt issuance costs, the effects of refinancings, method of amortizing debt issuance costs and original issue discount, and classifications of debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 470<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481544/470-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerSharePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerSharePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueOfFinancialInstrumentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for determining the fair value of financial instruments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 60<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 820<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482053/820-10-60-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 825<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueOfFinancialInstrumentsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//830/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-17<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-25<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-28<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-19<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InternalUseSoftwarePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for costs incurred when both (1) the software is acquired, internally developed, or modified solely to meet the entity's internal needs, and (2) during the software's development or modification, no substantive plan exists or is being developed to market the software externally.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 1<br> -SubTopic 40<br> -Topic 350<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482633/350-40-30-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 6<br> -SubTopic 50<br> -Topic 350<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482610/350-50-25-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InternalUseSoftwarePolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeLeasesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for leasing arrangement entered into by lessee.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeLeasesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MarketableSecuritiesPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for investment classified as marketable security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 320<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480832/942-320-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MarketableSecuritiesPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PriorPeriodReclassificationAdjustmentDescription">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for reclassification affecting comparability of financial statement. Excludes amendment to accounting standards, other change in accounting principle, and correction of error.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 205<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483504/205-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PriorPeriodReclassificationAdjustmentDescription</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-6<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpensePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for costs it has incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483044/730-10-05-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpensePolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue from contract with customer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-19<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-18<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-18<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-20<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-20<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-20<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-20<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//606/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for segment reporting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482785/280-10-55-47<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.C.Q3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.1.Q5)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.3.Q2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.2.Q6)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//718/tableOfContent<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TradeAndOtherAccountsReceivablePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481569/310-20-50-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11B<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 310<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-11B<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 10<br> -Topic 310<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-6<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 310<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TradeAndOtherAccountsReceivablePolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-9<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-12<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UseOfEstimates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698144366320">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">Schedule of Property and Equipment, Useful Lives</a></td>
<td class="text">The estimated useful life of each asset category is as follows:<div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.444%"><tr><td style="width:1.0%"></td><td style="width:68.404%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:29.396%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Computer and networking equipment</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 to 5 years</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Leasehold improvements</span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Shorter of lease term or 5 years</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Furniture and fixtures</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 years</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Office equipment</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Internal-use software</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 to 5 years</span></div></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net consisted of the following:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"></td><td style="width:63.070%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.080%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.082%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Computer and networking equipment</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">224,313&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">225,009&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Leasehold improvements</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,605&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,374&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Furniture and fixtures</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,142&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,792&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Office equipment</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,228&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,176&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Internal-use software</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">97,623&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">66,488&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment, gross</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">333,911&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">302,839&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accumulated depreciation and amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(157,303)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(122,461)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment, net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">176,608&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">180,378&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock', window );">Schedule of Intangible Assets</a></td>
<td class="text"><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The useful lives of the intangible assets are as follows:</span></div><div><span><br/></span></div><div style="margin-bottom:12pt;padding-left:36pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:90.789%"><tr><td style="width:1.0%"></td><td style="width:76.999%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:20.801%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 to 8 years</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Developed technology</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4 to 5 years</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trade names</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 to 4 years</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Backlog</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2 years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Internet protocol addresses</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10 years</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">In-process research and development (&#8220;IPR&amp;D&#8221;)</span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Indefinite</span></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023 and December&#160;31, 2022, the Company&#8217;s intangible assets consisted of the following:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:23.461%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.742%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.742%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.742%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.742%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.742%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.749%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2023</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross carrying value</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Accumulated amortization</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Net carrying value</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross carrying value</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Accumulated amortization</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Net carrying value</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Intangible assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69,860&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(28,473)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,387&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69,860&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(19,582)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,278&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Developed technology</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,130&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(32,424)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,706&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,130&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(22,367)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,763&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trade names</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,910&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,542)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">368&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,910&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,564)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,346&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Internet protocol addresses</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,984&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,970)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,014&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,984&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,471)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,513&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Backlog</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,200&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,200)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total intangible assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">128,884&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(66,409)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">62,475&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">131,084&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(48,184)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">82,900&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698137462112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock', window );">Schedule of Revenue by Geographic Area</a></td>
<td class="text">The following table presents the Company&#8217;s net revenue by geographic region:<div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.099%"><tr><td style="width:1.0%"></td><td style="width:64.026%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.545%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.779%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.545%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.779%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.545%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.781%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">United States</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">370,424&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">316,149&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">260,399&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asia Pacific</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">72,873&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,073&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39,496&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Europe</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42,770&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,469&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,177&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">All other </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,921&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,034&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,258&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">505,988&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">432,725&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">354,330&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock', window );">Schedule of Revenue by Customer Type</a></td>
<td class="text">The following table presents the Company&#8217;s net revenue for enterprise and non-enterprise customers based on the prior methodology:<div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.099%"><tr><td style="width:1.0%"></td><td style="width:64.026%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.545%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.779%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.545%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.779%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.545%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.781%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Enterprise customers</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">458,472&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">386,853&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">313,360&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-enterprise customers</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47,516&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">45,872&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">40,970&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">505,988&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">432,725&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">354,330&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div>The following table presents the Company&#8217;s net revenue for enterprise and non-enterprise customers based on the new methodology:<div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.099%"><tr><td style="width:1.0%"></td><td style="width:64.026%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.545%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.779%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.545%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.779%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.545%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.781%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Enterprise customers</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">464,452&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">393,152&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">315,918&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-enterprise customers</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,536&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39,573&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,412&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">505,988&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">432,725&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">354,330&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock', window );">Schedule of Contract Assets and Liabilities</a></td>
<td class="text"><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the Company&#8217;s contract assets and contract liabilities as of December&#160;31, 2023 and 2022:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:60.742%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.613%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.615%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contract assets</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">621&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contract liabilities</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,150&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,544&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents revenue recognized during the years ended December&#160;31, 2023 and 2022 from amounts included in the contract liability at the beginning of the period:</span></div><div style="margin-bottom:7pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:67.759%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.104%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.107%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revenue recognized in the period from amounts included in contract liability at the beginning of the period</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,616&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,274&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostTableTextBlock', window );">Schedule of Costs to Obtain Contracts</a></td>
<td class="text"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023 and December&#160;31, 2022, the Company&#8217;s costs to obtain contracts were as follows:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:61.911%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.174%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.885%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred contract costs, net</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">61,981&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,523&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedContractCostTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of cost capitalized in obtaining or fulfilling contract with customer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 340<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479483/340-40-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of revenue from external customers by geographic areas attributed to the entity's country of domicile and to foreign countries from which the entity derives revenue.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph a<br> -SubTopic 10<br> -Topic 280<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the extent of the entity's reliance on its major customers, if revenues from transactions with a single external customer amount to 10 percent or more of entity revenues, including the disclosure of that fact, the total amount of revenues from each such customer, and the identity of the reportable segment or segments reporting the revenues. The entity need not disclose the identity of a major customer or the amount of revenues that each segment reports from that customer. For these purposes, a group of companies known to the entity to be under common control is considered a single customer, and the federal government, a state government, a local government such as a county or municipality, or a foreign government is each considered a single customer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698139559280">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Investments and Fair Value Measurements (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock', window );">Schedule of Cash, Cash Equivalents, and Marketable Securities</a></td>
<td class="text"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s total cash, cash equivalents and marketable securities consisted of the following:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"></td><td style="width:63.070%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.080%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.082%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash and cash equivalents:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,269&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46,516&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. Treasury securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,830&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,166&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">96,875&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,656&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total cash and cash equivalents</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"> </span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">107,921&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">143,391&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Marketable securities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. Treasury securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,448&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">287,988&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate notes and bonds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">105,566&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">71,744&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,934&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,851&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">175&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,221&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign government and supranational securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,453&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total marketable securities, current </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">214,799&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">374,581&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate notes and bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,999&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">140,949&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">89&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,156&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total marketable securities, non-current </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,088&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">165,105&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total marketable securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">220,887&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">539,686&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total cash, cash equivalents and marketable securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">328,808&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">683,077&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock', window );">Schedule of Available-For-Sale Investments</a></td>
<td class="text"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes adjusted cost, gross unrealized gains and losses, and fair value related to cash and cash equivalents and available-for-sale securities on the accompanying consolidated balance sheets as of December&#160;31, 2023 and December&#160;31, 2022:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:45.020%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.641%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amortized<br/>Cost</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross<br/>Unrealized<br/>Gain</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross<br/>Unrealized<br/>Loss</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Fair<br/>Value</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash and cash equivalents:</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. Treasury securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,824&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,830&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,663&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,656&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Marketable securities:</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. Treasury securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,444&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,448&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate notes and bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">112,487&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(931)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">111,565&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,946&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(12)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,934&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">89&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">89&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,854&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,851&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total available-for-sale investments</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">287,307&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(957)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">286,373&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Amortized<br/>Cost</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross Unrealized Gain</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross<br/>Unrealized Loss</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Fair<br/>Value</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Marketable securities:</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. Treasury securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">291,685&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,697)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">287,988&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate notes and bonds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">217,187&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,494)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">212,693&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,617&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(286)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,331&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,322&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(101)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,221&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign government and supranational securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,522&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(69)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,453&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total available-for-sale investments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">548,333&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(8,647)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">539,686&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock', window );">Schedule of Financial Assets and Liabilities Measured and Recorded at Fair Value on a Recurring Basis</a></td>
<td class="text"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Financial assets and liabilities measured and recorded at fair value on a recurring basis consisted of the following types of instruments:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"><tr><td style="width:1.0%"></td><td style="width:44.997%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.418%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.712%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.712%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.717%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,166&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,166&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. Treasury securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,830&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,830&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,656&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,656&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total cash equivalents</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,166&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65,486&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">86,652&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Marketable securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. Treasury securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,448&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,448&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate notes and bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">111,565&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">111,565&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Commercial paper</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,934&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,934&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">89&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">89&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,851&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,851&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total marketable securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#8212;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">220,887&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#8212;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">220,887&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restricted cash:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restricted cash, current</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">150&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">150&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total restricted cash</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">150&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">150&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total financial assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,316&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">286,373&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">307,689&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:7pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:45.020%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.641%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level&#160;1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level&#160;2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Level&#160;3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">96,875&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">96,875&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total cash equivalents</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">96,875&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">96,875&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Marketable securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. Treasury securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">287,988&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">287,988&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate notes and bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">212,693&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">212,693&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,331&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,331&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,221&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,221&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign government and supranational securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,453&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,453&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total marketable securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">539,686&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">539,686&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restricted cash:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restricted cash, current</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">150&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">150&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total restricted cash</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">150&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">150&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total financial assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">97,025&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">539,686&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">636,711&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-9<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-3<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aa)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aaa)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-3<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-3<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of cash, cash equivalents, and investments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets and liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698144402192">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Business Combinations (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract', window );"><strong>Business Combination and Asset Acquisition [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock', window );">Schedule of Identifiable Finite-Lived Intangible Assets</a></td>
<td class="text"><div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Identifiable finite-lived intangible assets were comprised of the following (in thousands): </span></div><div style="margin-bottom:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:55.771%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.543%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.115%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:25.071%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Estimated useful life (in years)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Developed technology</span></div></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">630&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">760&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trade name</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">610&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total intangible assets acquired</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,000&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationAndAssetAcquisitionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of finite-lived and indefinite-lived intangible assets acquired as part of a business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698146239920">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Balance Sheet Information (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetRelatedDisclosuresAbstract', window );"><strong>Balance Sheet Related Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock', window );">Schedule of Allowance for Doubtful Accounts</a></td>
<td class="text"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The activity in the accounts receivable reserves is as follows:</span></div><div style="margin-bottom:12pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:49.742%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.502%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.630%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.502%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.630%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.361%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.633%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Beginning balance</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,029&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,311&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,248&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Additions to the reserves</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,025&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,406&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">196&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Write-offs and adjustments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(688)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(133)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ending balance</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,054&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,029&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,311&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">Schedule of Property and Equipment, Net</a></td>
<td class="text">The estimated useful life of each asset category is as follows:<div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.444%"><tr><td style="width:1.0%"></td><td style="width:68.404%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:29.396%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Computer and networking equipment</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 to 5 years</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Leasehold improvements</span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Shorter of lease term or 5 years</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Furniture and fixtures</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 years</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Office equipment</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Internal-use software</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 to 5 years</span></div></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net consisted of the following:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"></td><td style="width:63.070%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.080%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.082%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Computer and networking equipment</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">224,313&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">225,009&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Leasehold improvements</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,605&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,374&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Furniture and fixtures</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,142&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,792&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Office equipment</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,228&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,176&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Internal-use software</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">97,623&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">66,488&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment, gross</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">333,911&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">302,839&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accumulated depreciation and amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(157,303)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(122,461)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment, net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">176,608&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">180,378&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock', window );">Schedule of Other Assets</a></td>
<td class="text"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other assets consisted of the following:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:64.689%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.274%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.277%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred contract costs, net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">61,981&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,523&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Advance payment for purchase of property and equipment</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,509&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37,013&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,289&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,086&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total other assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">90,779&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">92,622&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock', window );">Schedule of Accrued Expenses</a></td>
<td class="text"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued expenses consisted of the following:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"></td><td style="width:63.070%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.080%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.082%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued compensation and related benefits</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,918&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,204&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued bonus</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,614&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,818&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued colocation and bandwidth costs</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,362&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,448&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other tax liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,344&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,698&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other accrued expenses</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,580&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,993&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total accrued expenses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">61,818&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">61,161&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherCurrentLiabilitiesTableTextBlock', window );">Schedule of Other Current Liabilities</a></td>
<td class="text"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other current liabilities consisted of the following:</span></div><div style="margin-bottom:12pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:64.639%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.298%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.299%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,824&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,047&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued computer and networking equipment</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,673&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,467&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Holdback payable</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,771&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,013&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other current liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,271&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">867&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total other current liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">40,539&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,394&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock', window );">Schedule of Accumulated Other Comprehensive Loss</a></td>
<td class="text"><div style="margin-bottom:12pt;margin-top:5pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the changes in accumulated other comprehensive loss, which is reported as a component of stockholders&#8217; equity:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:37.642%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.666%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:20.537%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:21.565%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Foreign Currency Translation</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Unrealized gain/(loss) for available-for-sale investments</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Accumulated Other Comprehensive Income (Loss)</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2020</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(36)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other comprehensive loss</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(286)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,347)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,633)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2021</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(322)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,305)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,627)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other comprehensive loss</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(255)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,404)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,659)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2022</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(577)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(8,709)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(9,286)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other comprehensive income </span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">565&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,713&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,278&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2023</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(12)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(996)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,008)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetRelatedDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetRelatedDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherCurrentLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of other current liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherCurrentLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of accrued liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of accumulated other comprehensive income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14A<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481674/830-30-50-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of noncurrent assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698146320288">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeaseCostTableTextBlock', window );">Schedule of Lease Costs &amp; Other Information</a></td>
<td class="text"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components of lease cost were as follows:</span></div><div style="margin-bottom:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:54.309%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.104%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.666%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.353%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="15" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease cost:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease cost</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,996&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,976&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,716&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Variable lease cost</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,112&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,736&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,820&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total operating lease cost</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42,108&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42,712&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,536&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance lease cost:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amortization of assets under finance lease</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,391&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,539&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,834&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,328&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,381&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,754&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total finance lease cost</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,719&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,920&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,588&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:54.016%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.666%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.546%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31,</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="15" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted Average Remaining Lease term (in years):</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating leases</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.48</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.09</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.41</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance leases</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.00</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.74</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.23</span></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted Average Discount Rate:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating leases</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.03&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.36&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.20&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance leases</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.67&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.73&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.86&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Schedule of Operating Lease Maturities</a></td>
<td class="text"><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future minimum lease payments under non-cancellable leases as of December&#160;31, 2023 were as follows:</span></div><div style="margin-bottom:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:58.110%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.783%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.223%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Operating Leases</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Finance Leases</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Year ending December 31, </span></td><td colspan="9" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,160&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,064&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,868&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,617&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,896&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,502&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2028</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,446&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,838&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total future minimum lease payments</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">82,710&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,681&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: imputed interest</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7,905)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(395)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total liability</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">74,805&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,286&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock', window );">Schedule of Finance Lease Maturity</a></td>
<td class="text"><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future minimum lease payments under non-cancellable leases as of December&#160;31, 2023 were as follows:</span></div><div style="margin-bottom:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:58.110%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.783%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.223%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Operating Leases</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Finance Leases</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Year ending December 31, </span></td><td colspan="9" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,160&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,064&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,868&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,617&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,896&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,502&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2028</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,446&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,838&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total future minimum lease payments</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">82,710&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,681&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: imputed interest</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7,905)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(395)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total liability</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">74,805&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,286&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of undiscounted cash flows of finance lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to finance lease liability recognized in statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseCostTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCostTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698146320288">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfGoodwillTextBlock', window );">Schedule of Changes in the Carrying Amount of Goodwill</a></td>
<td class="text"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The changes in the carrying amount of goodwill for th</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">e years ended </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2022</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> are as follows</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">:</span></div><div style="margin-bottom:7pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:58.549%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.344%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.347%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Beginning balance</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">670,185&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">636,805&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill acquired from business combinations</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,419&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency translation and other adjustments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">171&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(39)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ending balance</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">670,356&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">670,185&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock', window );">Schedule of Intangible Assets</a></td>
<td class="text"><div style="text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The useful lives of the intangible assets are as follows:</span></div><div><span><br/></span></div><div style="margin-bottom:12pt;padding-left:36pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:90.789%"><tr><td style="width:1.0%"></td><td style="width:76.999%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:20.801%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 to 8 years</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Developed technology</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4 to 5 years</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trade names</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 to 4 years</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Backlog</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2 years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Internet protocol addresses</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10 years</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">In-process research and development (&#8220;IPR&amp;D&#8221;)</span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Indefinite</span></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023 and December&#160;31, 2022, the Company&#8217;s intangible assets consisted of the following:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:23.461%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.742%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.742%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.742%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.742%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.742%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.749%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2023</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross carrying value</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Accumulated amortization</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Net carrying value</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Gross carrying value</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Accumulated amortization</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Net carrying value</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Intangible assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69,860&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(28,473)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,387&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69,860&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(19,582)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,278&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Developed technology</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,130&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(32,424)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,706&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,130&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(22,367)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,763&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trade names</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,910&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,542)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">368&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,910&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,564)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,346&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Internet protocol addresses</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,984&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,970)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,014&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,984&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,471)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,513&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Backlog</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,200&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,200)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total intangible assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">128,884&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(66,409)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">62,475&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">131,084&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(48,184)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">82,900&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock', window );">Schedule of Expected Amortization Expense of Intangible Assets</a></td>
<td class="text"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The expected amortization expense of intangible assets subject to amortization as of December&#160;31, 2023&#160;is as follows:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:78.578%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.222%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,599&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,976&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,193&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,051&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2028</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,891&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">765&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">62,475&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfGoodwillTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1A<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfGoodwillTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698141169392">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Debt Instruments (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDebtTableTextBlock', window );">Schedule of Carrying Values of Debt Agreements</a></td>
<td class="text"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table reflects the carrying values of the debt agreements as of December&#160;31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2022</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> as follows</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:68.783%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.666%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.667%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Convertible Senior notes (effective interest rate of 0.38% and 0.40% as of December&#160;31, 2023 and 2022, respectively)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%">Principal amount</span></div></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">346,489&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">713,753&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: unamortized debt issuance costs</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,982)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(9,043)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: current portion of long-term debt</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%">Long-term debt, less current portion</span></div></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">343,507&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">704,710&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDebtTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDebtTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698144406672">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermPurchaseCommitmentTextBlock', window );">Schedule of Purchase Commitments</a></td>
<td class="text"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Aside from the Company&#8217;s finance and operating lease commitments, including its colocation operating commitments, which have been disclosed in Note 7&#8212;Leases, the minimum future commitments related to the Company&#8217;s purchase commitments as of December&#160;31, 2023 were as follows: </span></div><div style="margin-bottom:12pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.391%"><tr><td style="width:1.0%"></td><td style="width:48.974%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.542%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.798%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.542%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.798%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.542%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.804%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Cost of Revenue Commitments</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Operating Expense Commitments</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total Purchase Commitments</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48,699&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,480&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">59,179&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,105&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,797&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,902&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,111&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,097&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,208&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">111&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">111&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2028</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">40&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">40&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,066&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,374&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">79,440&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermPurchaseCommitmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of key provisions of an arrangement under which the entity has agreed to purchase goods or services over a period of time greater than one year or the normal operating cycle, if longer, including the item for which expenditures will be made, minimum quantities, milestones, time period and committed amount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermPurchaseCommitmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698139456448">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityNoteAbstract', window );"><strong>Stockholders' Equity Note [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Schedule of Stock Option Activity</a></td>
<td class="text"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes stock option activity during the year ended December&#160;31, 2023:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:38.227%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.250%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.958%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.649%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number of Shares</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted-Average&#160;<br/>Exercise Price</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted-Average<br/>Remaining<br/>Contractual Term</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Aggregate<br/>Intrinsic&#160;Value</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in&#160;thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in&#160;years)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in&#160;thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding at December 31, 2022</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,443&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.01&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.7</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,674&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">602&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16.47&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercised</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(291)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.45&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(44)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8.41&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding at December 31, 2023</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,710&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8.14&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.1</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,383&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested and exercisable at December 31, 2023</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,142&#160;</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.94&#160;</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.8</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,620&#160;</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock', window );">Schedule of Employee Stock Purchase Plan Valuation Assumptions</a></td>
<td class="text">The Company estimated the fair value of stock option awards during the year ended December&#160;31, 2023 on the date of the grant using the Black-Scholes option pricing model with the following weighted-average assumptions:<div style="margin-bottom:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:67.613%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:29.164%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fair value of common stock</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$16.47 </span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected term (in years)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.96</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Risk-free interest rate</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.67%</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected volatility</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">71.2% </span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Dividend yield</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;%</span></div></td></tr></table></div><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company estimated the fair value of shares granted under the ESPP on the first date of the offering period using the Black-Scholes option pricing model with the following assumptions:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:49.923%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.543%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.543%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.547%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fair value of common stock</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$3.33 &#8211; $6.09</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$8.40 &#8211; $11.85</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$41.24 &#8211; $44.87</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected term (in years)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.49 &#8211; 0.50</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.49</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.49 &#8211; 0.50</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Risk-free interest rate</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.65% &#8211; 5.43%</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.57% &#8211; 4.65%</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.02% &#8211; 0.07%</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected volatility</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">70% &#8211; 88%</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">88% &#8211; 101%</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47% &#8211; 58%</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Dividend yield</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardRestrictedStockUnitsVestedAndExpectedToVestTableTextBlock', window );">Schedule of Restricted Stock Units and Restricted Stock Awards</a></td>
<td class="text"><div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes RSU activity during the years ended December&#160;31, 2023:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:50.361%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.882%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:27.997%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number of Shares</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted-Average&#160;Grant Date Fair Value Per Share</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in&#160;thousands)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested RSUs as of December 31, 2022</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,990&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20.10&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,667&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15.80&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,719)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18.94&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cancelled/forfeited</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,694)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22.80&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested RSUs as of December 31, 2023</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,244&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17.46&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:57.233%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.297%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:21.710%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number of Shares</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted-Average&#160;Grant Date Fair Value Per Share</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in&#160;thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested executive PSUs as of December 31, 2022</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">267&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28.16&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">762&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15.88&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(84)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28.16&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cancelled/forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(213)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24.35&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested executive PSUs as of December 31, 2023</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">732&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16.49&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:57.964%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.636%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.640%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number of Shares</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Weighted-Average&#160;Grant Date Fair Value Per Share</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in&#160;thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested MPSUs as of December 31, 2022</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,174&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.80&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">87&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.25&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(540)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.84&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cancelled/forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(250)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.69&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested MPSUs as of December 31, 2023</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,471&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.46&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock', window );">Schedule of Stock-Based Compensation Expense</a></td>
<td class="text"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the components of total stock-based compensation expense included in the accompanying consolidated statements of operations:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:61.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.601%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,656&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,050&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,227&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47,827&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,435&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47,019&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sales and marketing</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,703&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39,083&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,159&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">General and administrative</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,117&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">36,228&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">55,083&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">136,303&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">145,796&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">140,488&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardRestrictedStockUnitsVestedAndExpectedToVestTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of number, weighted-average exercise price or conversion ratio, aggregate intrinsic value, and weighted-average remaining contractual term for outstanding restricted stock units that are fully vested and expected to vest. Includes, but is not limited to, unvested restricted stock units for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Subparagraph (e)(1)<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardRestrictedStockUnitsVestedAndExpectedToVestTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the significant assumptions used during the year to estimate the fair value of employee stock purchase plans, including, but not limited to: (a) expected term, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Subparagraph (f)(2)<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityNoteAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698146204608">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Net Loss Per Share Attributable to Common Stockholders (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Schedule of Net Loss Per Share, Basic and Diluted</a></td>
<td class="text"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the computation of basic and diluted net loss per share of common stock (in millions, except per share data):</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.514%"><tr><td style="width:1.0%"></td><td style="width:32.333%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.549%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.244%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.549%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.244%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.549%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.244%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.549%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.244%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.549%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.244%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.549%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.253%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Class A</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Class B</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline">(2)</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Class A </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Class B</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline">(2)</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Class A </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Class B</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline">(2)</span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in&#160;thousands, except per share amounts)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss attributable to common stockholders</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(133,088)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(190,774)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(212,120)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(10,577)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average shares used in computing net loss per share attributable to common stockholders, basic and diluted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">128,770&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">121,723&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">110,541&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,512&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss per share attributable to common stockholders, basic and diluted</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1.03)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1.57)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1.92)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1.92)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">__________</span></div><div style="padding-left:18pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt">Class A common stock includes the issuance of 12.9&#160;million shares of Class A common stock issued by the Company in connection with the IPO and the shares issued in connection with the follow-on offering on May 26, 2020. It also includes shares issued upon the exercise of options and vesting of RSUs granted subsequent to the IPO, shares issued as part of the prior acquisitions, and converted Common B shares. </span></div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)</span>Class B common stock includes, for all periods presented, common stock issued prior to the IPO and the conversion of all of the Company&#8217;s preferred stock into an aggregate of 53.6&#160;million shares of the Company&#8217;s Class B common stock upon closing of the IPO. Some of these shares were previously converted into shares of Class A common stock. On July 12, 2021, all shares of Class B common stock were converted into shares of Class A common stock.<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock', window );">Schedule of Antidilutive Securities Excluded from Computation of Net Loss Per Share</a></td>
<td class="text"><div style="margin-bottom:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following securities were excluded from the computation of diluted net loss per share of common stock for the periods presented as their effect would have been antidilutive:</span></div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:47.021%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.522%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.518%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.378%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.518%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.522%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.521%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number of Shares</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock options</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,710&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,443&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,369&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">RSUs</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,244&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,990&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,285&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revest shares</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">336&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">PSUs</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">732&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">267&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">71&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">MPSUs</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,471&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,174&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Bonus PSUs</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,572&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,777&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Shares issuable pursuant to the ESPP</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">410&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">186&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Convertible senior notes (if-converted)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,370&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,338&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,229&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,509&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,175&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,341&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698141400432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock', window );">Schedule of Loss Before Income Taxes</a></td>
<td class="text"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Loss before income ta</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">xes includes the following components:</span></div><div style="margin-bottom:12pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"><tr><td style="width:1.0%"></td><td style="width:58.399%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.712%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.712%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.569%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">United States</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(137,240)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(196,469)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(224,159)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,931&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,789&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,531&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Loss before income taxes</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(133,309)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(190,680)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(222,628)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">Schedule of Income Tax Expense (Benefit)</a></td>
<td class="text"><div style="margin-bottom:12pt;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The income tax expense (benefit) consists of the following:</span></div><div style="margin-bottom:12pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"></td><td style="width:58.311%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.694%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.694%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.696%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current tax provision (benefit):</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Federal</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">57&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(79)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">622&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">173&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">322&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax benefit:</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Federal</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(253)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(900)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total tax expense (benefit)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(221)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">94&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Schedule of Effective Tax Rate Reconciliation</a></td>
<td class="text"><div style="margin-bottom:12pt;text-indent:27pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Reconciliation between </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">the Company&#8217;s</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> effective tax rate on income from continuing operations and the U.S. federal statutory rate is as follows:</span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:58.490%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.640%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provision at federal statutory tax rate</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Change in valuation allowance</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(25)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(14)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(30)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign tax rate differential</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(9)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development credits</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Disallowed executive compensation</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restructuring</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Effective tax rate</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">Schedule of Deferred Tax Assets and Liabilities</a></td>
<td class="text"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> deferred tax assets and liabilities were as follows:</span></div><div style="margin-bottom:12pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.099%"><tr><td style="width:1.0%"></td><td style="width:58.661%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.545%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.125%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.843%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.126%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax assets:</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net operating losses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">178,149&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">183,306&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease liability</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,137&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,245&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development credits</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,280&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,383&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Capitalized research and development </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">45,418&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,032&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,765&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,429&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,934&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,811&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Reserves and accruals</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,336&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,648&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,889&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,179&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">304,908&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">271,033&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Intangible asset amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(16,310)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(21,713)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Right-of-use asset</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(15,322)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(18,847)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State taxes</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(13,032)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(10,732)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid commissions</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(13,868)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11,526)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(58,532)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(62,818)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Valuation allowance</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(245,476)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(208,215)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net deferred tax (liabilities) assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">900&#160;</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock', window );">Schedule of Unrecognized Tax Benefits</a></td>
<td class="text"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">A reconciliation of the Company&#8217;s unrecognized tax benefits is as follows (in thousands):</span></div><div style="margin-bottom:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:65.712%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.005%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.253%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Balance at beginning of year</span></div></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">17,337&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">7,808&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-indent:6.85pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Increases related to prior year tax positions</span></div></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">2,674&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">8,697&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-indent:6.85pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Decreases related to prior year tax positions</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">(751)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-indent:6.85pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Increases related to current year tax positions</span></div></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,234&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,583&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Balance at end of year</span></div></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,245&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,337&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 9<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 12<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of income before income tax between domestic and foreign jurisdictions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the change in unrecognized tax benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 217<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482663/740-10-55-217<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698144557344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Information About Revenue and Geographic Areas (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>Segment Reporting [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock', window );">Schedule of Long-Lived Assets by Geographic Region</a></td>
<td class="text"><div style="margin-bottom:12pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s property and equipment and operating lease right-of-use assets, each net, by geographic area were as follows:</span></div><div style="margin-bottom:12pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.099%"><tr><td style="width:1.0%"></td><td style="width:64.920%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.545%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.144%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.545%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.146%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">As of December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">United States</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">166,413&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">175,794&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">All other countries</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65,407&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,024&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total long-lived assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">231,820&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">248,818&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of long-lived assets, excluding financial instruments, long-term customer relationships of a financial institution, mortgage rights, deferred policy acquisition costs, and deferred tax assets, by geographic areas located in the entity's country of domicile and foreign countries in which the entity holds assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph b<br> -SubTopic 10<br> -Topic 280<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698144538816">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Nature of Business (Details)<br></strong></div></th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>operating_market</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Organization, Consolidation and Presentation of Financial Statements [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_OperatingMarkets', window );">Operating markets</a></td>
<td class="nump">79<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_OperatingMarkets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Operating Markets</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_OperatingMarkets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698141609840">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Concentrations of Credit Risk (Details) - Customer One - Customer Concentration Risk<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Accounts Receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">23.00%<span></span>
</td>
<td class="nump">15.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">12.00%<span></span>
</td>
<td class="nump">11.00%<span></span>
</td>
<td class="nump">11.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481027/954-310-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-21<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-20<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-18<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=fsly_CustomerOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=fsly_CustomerOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698146145200">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Restricted Cash (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCash', window );">Restricted cash</a></td>
<td class="nump">$ 0.2<span></span>
</td>
<td class="nump">$ 0.2<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash restricted as to withdrawal or usage. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-8<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(1)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698133813024">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Incremental Costs to Obtain a Contract With Customer (Details)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostAxis=fsly_CustomerArrangementMember', window );">Customer Arrangement</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostLineItems', window );"><strong>Capitalized Contract Cost [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostAmortizationPeriod', window );">Capitalized contract cost, useful life (in years)</a></td>
<td class="text">5 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedContractCostAmortizationPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amortization period of cost capitalized in obtaining or fulfilling contract with customer, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -SubTopic 40<br> -Topic 340<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479483/340-40-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostAmortizationPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedContractCostLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 340<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479483/340-40-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedContractCostAxis=fsly_CustomerArrangementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostAxis=fsly_CustomerArrangementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698137500768">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Schedule of Property and Equipment (Details)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerEquipmentMember', window );">Computer and networking equipment | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, useful life (in years)</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerEquipmentMember', window );">Computer and networking equipment | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, useful life (in years)</a></td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold improvements | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, useful life (in years)</a></td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember', window );">Furniture and fixtures</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, useful life (in years)</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember', window );">Office equipment</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, useful life (in years)</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareDevelopmentMember', window );">Internal-use software | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, useful life (in years)</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareDevelopmentMember', window );">Internal-use software | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, useful life (in years)</a></td>
<td class="text">5 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareDevelopmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareDevelopmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>64
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698266664368">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Internal-Use Software Development Costs (Details) - Internal-use software<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, useful life (in years)</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, useful life (in years)</a></td>
<td class="text">5 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareDevelopmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareDevelopmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698146204608">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Goodwill Narrative (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2023 </div>
<div>segment</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NumberOfOperatingSegments', window );">Number of operating segments</a></td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NumberOfReportableSegments', window );">Number of reportable segments</a></td>
<td class="nump">1<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfOperatingSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfOperatingSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfReportableSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfReportableSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>66
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698138398816">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Schedule of Intangible Assets (Details)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer relationships | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Useful life (in years)</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer relationships | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Useful life (in years)</a></td>
<td class="text">8 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember', window );">Developed technology | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Useful life (in years)</a></td>
<td class="text">4 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember', window );">Developed technology | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Useful life (in years)</a></td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember', window );">Trade names | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Useful life (in years)</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember', window );">Trade names | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Useful life (in years)</a></td>
<td class="text">4 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_OrderOrProductionBacklogMember', window );">Backlog</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Useful life (in years)</a></td>
<td class="text">2 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=fsly_InternetProtocolAddressesMember', window );">Internet protocol addresses</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Useful life (in years)</a></td>
<td class="text">10 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_OrderOrProductionBacklogMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_OrderOrProductionBacklogMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=fsly_InternetProtocolAddressesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=fsly_InternetProtocolAddressesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>67
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698141644000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Cost of Revenue (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=fsly_BandwidthWithThirdPartyNetworkProvidersMember', window );">Bandwidth Contracts</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_RevenueWithCustomerDurationOfContracts', window );">Typical duration of contracts (in years)</a></td>
<td class="text">1 year<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=fsly_ColocationServicesMember', window );">Colocation Services | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_RevenueWithCustomerDurationOfContracts', window );">Typical duration of contracts (in years)</a></td>
<td class="text">1 year<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=fsly_ColocationServicesMember', window );">Colocation Services | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_RevenueWithCustomerDurationOfContracts', window );">Typical duration of contracts (in years)</a></td>
<td class="text">6 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_RevenueWithCustomerDurationOfContracts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Revenue With Customer, Duration Of Contracts</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_RevenueWithCustomerDurationOfContracts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=fsly_BandwidthWithThirdPartyNetworkProvidersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=fsly_BandwidthWithThirdPartyNetworkProvidersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=fsly_ColocationServicesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=fsly_ColocationServicesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698144486992">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Advertising Expense (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdvertisingExpense', window );">Advertising expense</a></td>
<td class="nump">$ 4.6<span></span>
</td>
<td class="nump">$ 2.5<span></span>
</td>
<td class="nump">$ 2.3<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdvertisingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 720<br> -SubTopic 35<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483406/720-35-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdvertisingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>69
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698141361168">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Accounting for Stock-Based Compensation (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1', window );">Requisite service period (in years)</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1', window );">Requisite service period (in years)</a></td>
<td class="text">4 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Estimated period over which an employee is required to provide service in exchange for the equity-based payment award, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698133818528">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue - Revenue by Geographic Area (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">$ 505,988<span></span>
</td>
<td class="nump">$ 432,725<span></span>
</td>
<td class="nump">$ 354,330<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_US', window );">United States</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">370,424<span></span>
</td>
<td class="nump">316,149<span></span>
</td>
<td class="nump">260,399<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_AsiaPacificMember', window );">Asia Pacific</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">72,873<span></span>
</td>
<td class="nump">58,073<span></span>
</td>
<td class="nump">39,496<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_EuropeMember', window );">Europe</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">42,770<span></span>
</td>
<td class="nump">38,469<span></span>
</td>
<td class="nump">35,177<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=fsly_CountriesNotSeparatelyRecognizedMember', window );">All other</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">$ 19,921<span></span>
</td>
<td class="nump">$ 20,034<span></span>
</td>
<td class="nump">$ 19,258<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=srt_AsiaPacificMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=srt_AsiaPacificMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=srt_EuropeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=srt_EuropeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=fsly_CountriesNotSeparatelyRecognizedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=fsly_CountriesNotSeparatelyRecognizedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>71
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698137536208">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue - Narrative (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_EnterpriseCustomerThreshold', window );">Enterprise customer threshold</a></td>
<td class="nump">$ 100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms', window );">Revenue, performance obligation, description of payment terms</a></td>
<td class="text">The Company&#8217;s payment terms and conditions vary by contract type, and generally range from 30 to 90 days.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostAmortization', window );">Amortization of deferred contract costs</a></td>
<td class="nump">$ 15,548,000<span></span>
</td>
<td class="nump">$ 8,916,000<span></span>
</td>
<td class="nump">$ 6,294,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_EnterpriseCustomerThreshold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Enterprise Customer Threshold</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_EnterpriseCustomerThreshold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedContractCostAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for asset recognized from cost incurred to obtain or fulfill contract with customer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 340<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479483/340-40-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Description of payment terms in contract with customer. Includes, but is not limited to, timing of payment, existence of financing component, variability of consideration and constraint on variable consideration.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698133679360">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue - Revenue by Customer Type (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">$ 505,988<span></span>
</td>
<td class="nump">$ 432,725<span></span>
</td>
<td class="nump">$ 354,330<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ChangeInAccountingEstimateByTypeAxis=fsly_PriorRevenueMethodologyMember', window );">Prior Revenue Methodology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">505,988<span></span>
</td>
<td class="nump">432,725<span></span>
</td>
<td class="nump">354,330<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ChangeInAccountingEstimateByTypeAxis=fsly_NewRevenueMethodologyMember', window );">New Revenue Methodology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">505,988<span></span>
</td>
<td class="nump">432,725<span></span>
</td>
<td class="nump">354,330<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=fsly_EnterpriseCustomersMember', window );">Enterprise customers | Prior Revenue Methodology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">458,472<span></span>
</td>
<td class="nump">386,853<span></span>
</td>
<td class="nump">313,360<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=fsly_EnterpriseCustomersMember', window );">Enterprise customers | New Revenue Methodology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">464,452<span></span>
</td>
<td class="nump">393,152<span></span>
</td>
<td class="nump">315,918<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=fsly_NonenterpriseCustomersMember', window );">Non-enterprise customers | Prior Revenue Methodology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">47,516<span></span>
</td>
<td class="nump">45,872<span></span>
</td>
<td class="nump">40,970<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=fsly_NonenterpriseCustomersMember', window );">Non-enterprise customers | New Revenue Methodology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total revenue</a></td>
<td class="nump">$ 41,536<span></span>
</td>
<td class="nump">$ 39,573<span></span>
</td>
<td class="nump">$ 38,412<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ChangeInAccountingEstimateByTypeAxis=fsly_PriorRevenueMethodologyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ChangeInAccountingEstimateByTypeAxis=fsly_PriorRevenueMethodologyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ChangeInAccountingEstimateByTypeAxis=fsly_NewRevenueMethodologyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ChangeInAccountingEstimateByTypeAxis=fsly_NewRevenueMethodologyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=fsly_EnterpriseCustomersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=fsly_EnterpriseCustomersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=fsly_NonenterpriseCustomersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=fsly_NonenterpriseCustomersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<FILENAME>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698139390720">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue - Contract Assets and Liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNet', window );">Contract assets</a></td>
<td class="nump">$ 621<span></span>
</td>
<td class="nump">$ 19<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Contract liabilities</a></td>
<td class="nump">38,150<span></span>
</td>
<td class="nump">30,544<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityAbstract', window );"><strong>Contract with Customer, Liability</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized', window );">Revenue recognized in the period from amounts included in contract liability at the beginning of the period</a></td>
<td class="nump">$ 28,616<span></span>
</td>
<td class="nump">$ 26,274<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>74
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698141344640">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Revenue - Remaining Performance Obligation (Details)<br> $ in Millions</strong></div></th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems', window );"><strong>Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Remaining performance obligation</a></td>
<td class="nump">$ 235.7<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2024-01-01', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-01-01</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems', window );"><strong>Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationPercentage', window );">Remaining performance obligation, percentage</a></td>
<td class="nump">80.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Remaining performance obligation, expected time period of recognition</a></td>
<td class="text">12 months<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of transaction price allocated to performance obligation that has not been recognized as revenue.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(1)<br> -SubTopic 10<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(1)<br> -SubTopic 10<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2024-01-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2024-01-01</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>75
<FILENAME>R56.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698141634576">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Revenue - Costs to Obtain Contracts (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostNetNoncurrent', window );">Deferred contract costs, net</a></td>
<td class="nump">$ 61,981<span></span>
</td>
<td class="nump">$ 50,523<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedContractCostNetNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer; classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 340<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479483/340-40-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostNetNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>76
<FILENAME>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698139022448">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Investments and Fair Value Measurements - Cash, Cash Equivalent and Marketable Securities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Total cash and cash equivalents</a></td>
<td class="nump">$ 107,921<span></span>
</td>
<td class="nump">$ 143,391<span></span>
</td>
<td class="nump">$ 166,068<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecuritiesCurrent', window );">Total marketable securities, current</a></td>
<td class="nump">214,799<span></span>
</td>
<td class="nump">374,581<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecuritiesNoncurrent', window );">Total marketable securities, non-current</a></td>
<td class="nump">6,088<span></span>
</td>
<td class="nump">165,105<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Total marketable securities</a></td>
<td class="nump">220,887<span></span>
</td>
<td class="nump">539,686<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_CashCashEquivalentsAndMarketableSecurities', window );">Total cash, cash equivalents and marketable securities</a></td>
<td class="nump">328,808<span></span>
</td>
<td class="nump">683,077<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember', window );">U.S. Treasury securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecuritiesCurrent', window );">Total marketable securities, current</a></td>
<td class="nump">73,448<span></span>
</td>
<td class="nump">287,988<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Total marketable securities</a></td>
<td class="nump">73,448<span></span>
</td>
<td class="nump">287,988<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateDebtSecuritiesMember', window );">Corporate notes and bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecuritiesCurrent', window );">Total marketable securities, current</a></td>
<td class="nump">105,566<span></span>
</td>
<td class="nump">71,744<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecuritiesNoncurrent', window );">Total marketable securities, non-current</a></td>
<td class="nump">5,999<span></span>
</td>
<td class="nump">140,949<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Total marketable securities</a></td>
<td class="nump">111,565<span></span>
</td>
<td class="nump">212,693<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_CommercialPaperMember', window );">Commercial paper</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecuritiesCurrent', window );">Total marketable securities, current</a></td>
<td class="nump">25,934<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Total marketable securities</a></td>
<td class="nump">25,934<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=fsly_AgencyBondsMember', window );">Agency bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecuritiesCurrent', window );">Total marketable securities, current</a></td>
<td class="nump">9,851<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Total marketable securities</a></td>
<td class="nump">9,851<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember', window );">Asset-backed securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecuritiesCurrent', window );">Total marketable securities, current</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">175<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecuritiesNoncurrent', window );">Total marketable securities, non-current</a></td>
<td class="nump">89<span></span>
</td>
<td class="nump">24,156<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Total marketable securities</a></td>
<td class="nump">89<span></span>
</td>
<td class="nump">24,331<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_MunicipalNotesMember', window );">Municipal securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecuritiesCurrent', window );">Total marketable securities, current</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">2,221<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Total marketable securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,221<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=fsly_ForeignGovernmentAndSupranationalSecuritiesMember', window );">Foreign government and supranational securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecuritiesCurrent', window );">Total marketable securities, current</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">12,453<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Total marketable securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,453<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_CashMember', window );">Cash</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Total cash and cash equivalents</a></td>
<td class="nump">21,269<span></span>
</td>
<td class="nump">46,516<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_USTreasurySecuritiesMember', window );">U.S. Treasury securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Total cash and cash equivalents</a></td>
<td class="nump">52,830<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_MoneyMarketFundsMember', window );">Money market funds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Total cash and cash equivalents</a></td>
<td class="nump">21,166<span></span>
</td>
<td class="nump">96,875<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_CommercialPaperMember', window );">Commercial paper</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Total cash and cash equivalents</a></td>
<td class="nump">$ 12,656<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_CashCashEquivalentsAndMarketableSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cash, Cash Equivalents And Marketable Securities</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_CashCashEquivalentsAndMarketableSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MarketableSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in marketable security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MarketableSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MarketableSecuritiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in marketable security, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MarketableSecuritiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MarketableSecuritiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in marketable security, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MarketableSecuritiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aa)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aaa)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-3<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_CorporateDebtSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_CommercialPaperMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_CommercialPaperMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=fsly_AgencyBondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=fsly_AgencyBondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_MunicipalNotesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_MunicipalNotesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=fsly_ForeignGovernmentAndSupranationalSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=fsly_ForeignGovernmentAndSupranationalSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_CashMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAxis=us-gaap_CashMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_USTreasurySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAxis=us-gaap_USTreasurySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_MoneyMarketFundsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAxis=us-gaap_MoneyMarketFundsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_CommercialPaperMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAxis=us-gaap_CommercialPaperMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>77
<FILENAME>R58.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698138747040">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Investments and Fair Value Measurements - Available-For-Sale Investments (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">$ 287,307<span></span>
</td>
<td class="nump">$ 548,333<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gain</a></td>
<td class="nump">23<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Loss</a></td>
<td class="num">(957)<span></span>
</td>
<td class="num">(8,647)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value</a></td>
<td class="nump">286,373<span></span>
</td>
<td class="nump">539,686<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember', window );">U.S. Treasury securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">73,444<span></span>
</td>
<td class="nump">291,685<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gain</a></td>
<td class="nump">8<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Loss</a></td>
<td class="num">(4)<span></span>
</td>
<td class="num">(3,697)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value</a></td>
<td class="nump">73,448<span></span>
</td>
<td class="nump">287,988<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateDebtSecuritiesMember', window );">Corporate notes and bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">112,487<span></span>
</td>
<td class="nump">217,187<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gain</a></td>
<td class="nump">9<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Loss</a></td>
<td class="num">(931)<span></span>
</td>
<td class="num">(4,494)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value</a></td>
<td class="nump">111,565<span></span>
</td>
<td class="nump">212,693<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_CommercialPaperMember', window );">Commercial paper</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">25,946<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gain</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Loss</a></td>
<td class="num">(12)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value</a></td>
<td class="nump">25,934<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember', window );">Asset-backed securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">89<span></span>
</td>
<td class="nump">24,617<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gain</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Loss</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(286)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value</a></td>
<td class="nump">89<span></span>
</td>
<td class="nump">24,331<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_MunicipalNotesMember', window );">Municipal securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,322<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gain</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Loss</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(101)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,221<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=fsly_ForeignGovernmentAndSupranationalSecuritiesMember', window );">Foreign government and supranational securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,522<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gain</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Loss</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(69)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 12,453<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=fsly_AgencyBondsMember', window );">Agency bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">9,854<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gain</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Loss</a></td>
<td class="num">(3)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value</a></td>
<td class="nump">9,851<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_USTreasurySecuritiesMember', window );">U.S. Treasury securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">52,824<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gain</a></td>
<td class="nump">6<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Loss</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value</a></td>
<td class="nump">52,830<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_CommercialPaperMember', window );">Commercial paper</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">12,663<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gain</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Loss</a></td>
<td class="num">(7)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value</a></td>
<td class="nump">$ 12,656<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before tax, of unrealized gain in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before tax, of unrealized loss in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479130/326-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aa)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481830/320-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479130/326-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aa)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aaa)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-3<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_CorporateDebtSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_CommercialPaperMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_CommercialPaperMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_MunicipalNotesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_MunicipalNotesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=fsly_ForeignGovernmentAndSupranationalSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=fsly_ForeignGovernmentAndSupranationalSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=fsly_AgencyBondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=fsly_AgencyBondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_USTreasurySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAxis=us-gaap_USTreasurySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_CommercialPaperMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAxis=us-gaap_CommercialPaperMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>78
<FILENAME>R59.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698141153872">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Investments and Fair Value Measurements - Narrative (Details)<br> $ in Millions</strong></div></th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($) </div>
<div>security</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($) </div>
<div>security</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerNumberOfPositions', window );">Securities in a continuous loss position (in securities) | security</a></td>
<td class="nump">28<span></span>
</td>
<td class="nump">76<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCash', window );">Restricted cash | $</a></td>
<td class="nump">$ 0.2<span></span>
</td>
<td class="nump">$ 0.2<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerNumberOfPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of investments in debt securities measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for 12 months or longer, without an allowance for credit loss. Includes beneficial interest in securitized financial asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479106/326-30-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerNumberOfPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash restricted as to withdrawal or usage. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-8<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(1)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>79
<FILENAME>R60.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698134490400">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Investments and Fair Value Measurements - Assets and Liabilities at Fair Value (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashEquivalentsAtCarryingValue', window );">Cash equivalents:</a></td>
<td class="nump">$ 86,652<span></span>
</td>
<td class="nump">$ 96,875<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">220,887<span></span>
</td>
<td class="nump">539,686<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue', window );">Restricted cash, current</a></td>
<td class="nump">150<span></span>
</td>
<td class="nump">150<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosure', window );">Total financial assets</a></td>
<td class="nump">307,689<span></span>
</td>
<td class="nump">636,711<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember', window );">U.S. Treasury securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">73,448<span></span>
</td>
<td class="nump">287,988<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateDebtSecuritiesMember', window );">Corporate notes and bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">111,565<span></span>
</td>
<td class="nump">212,693<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_CommercialPaperMember', window );">Commercial paper</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">25,934<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember', window );">Asset-backed securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">89<span></span>
</td>
<td class="nump">24,331<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=fsly_AgencyBondsMember', window );">Agency bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">9,851<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_MunicipalNotesMember', window );">Municipal securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,221<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=fsly_ForeignGovernmentAndSupranationalSecuritiesMember', window );">Foreign government and supranational securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,453<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_MoneyMarketFundsMember', window );">Money market funds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashEquivalentsAtCarryingValue', window );">Cash equivalents:</a></td>
<td class="nump">21,166<span></span>
</td>
<td class="nump">96,875<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue', window );">Restricted cash, current</a></td>
<td class="nump">150<span></span>
</td>
<td class="nump">150<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_USTreasurySecuritiesMember', window );">U.S. Treasury securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashEquivalentsAtCarryingValue', window );">Cash equivalents:</a></td>
<td class="nump">52,830<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_CommercialPaperMember', window );">Commercial paper</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashEquivalentsAtCarryingValue', window );">Cash equivalents:</a></td>
<td class="nump">12,656<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Level&#160;1</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashEquivalentsAtCarryingValue', window );">Cash equivalents:</a></td>
<td class="nump">21,166<span></span>
</td>
<td class="nump">96,875<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue', window );">Restricted cash, current</a></td>
<td class="nump">150<span></span>
</td>
<td class="nump">150<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosure', window );">Total financial assets</a></td>
<td class="nump">21,316<span></span>
</td>
<td class="nump">97,025<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Level&#160;1 | U.S. Treasury securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Level&#160;1 | Corporate notes and bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Level&#160;1 | Commercial paper</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Level&#160;1 | Asset-backed securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Level&#160;1 | Agency bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Level&#160;1 | Municipal securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Level&#160;1 | Foreign government and supranational securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Level&#160;1 | Money market funds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashEquivalentsAtCarryingValue', window );">Cash equivalents:</a></td>
<td class="nump">21,166<span></span>
</td>
<td class="nump">96,875<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue', window );">Restricted cash, current</a></td>
<td class="nump">150<span></span>
</td>
<td class="nump">150<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Level&#160;1 | U.S. Treasury securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashEquivalentsAtCarryingValue', window );">Cash equivalents:</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Level&#160;1 | Commercial paper</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashEquivalentsAtCarryingValue', window );">Cash equivalents:</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Level&#160;2</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashEquivalentsAtCarryingValue', window );">Cash equivalents:</a></td>
<td class="nump">65,486<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">220,887<span></span>
</td>
<td class="nump">539,686<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue', window );">Restricted cash, current</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosure', window );">Total financial assets</a></td>
<td class="nump">286,373<span></span>
</td>
<td class="nump">539,686<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Level&#160;2 | U.S. Treasury securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">73,448<span></span>
</td>
<td class="nump">287,988<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Level&#160;2 | Corporate notes and bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">111,565<span></span>
</td>
<td class="nump">212,693<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Level&#160;2 | Commercial paper</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">25,934<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Level&#160;2 | Asset-backed securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">89<span></span>
</td>
<td class="nump">24,331<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Level&#160;2 | Agency bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">9,851<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Level&#160;2 | Municipal securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,221<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Level&#160;2 | Foreign government and supranational securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,453<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Level&#160;2 | Money market funds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashEquivalentsAtCarryingValue', window );">Cash equivalents:</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue', window );">Restricted cash, current</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Level&#160;2 | U.S. Treasury securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashEquivalentsAtCarryingValue', window );">Cash equivalents:</a></td>
<td class="nump">52,830<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Level&#160;2 | Commercial paper</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashEquivalentsAtCarryingValue', window );">Cash equivalents:</a></td>
<td class="nump">12,656<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Level&#160;3</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashEquivalentsAtCarryingValue', window );">Cash equivalents:</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue', window );">Restricted cash, current</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosure', window );">Total financial assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Level&#160;3 | U.S. Treasury securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Level&#160;3 | Corporate notes and bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Level&#160;3 | Commercial paper</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Level&#160;3 | Asset-backed securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Level&#160;3 | Agency bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Level&#160;3 | Municipal securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Level&#160;3 | Foreign government and supranational securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Level&#160;3 | Money market funds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashEquivalentsAtCarryingValue', window );">Cash equivalents:</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue', window );">Restricted cash, current</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Level&#160;3 | U.S. Treasury securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashEquivalentsAtCarryingValue', window );">Cash equivalents:</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Level&#160;3 | Commercial paper</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashEquivalentsAtCarryingValue', window );">Cash equivalents:</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MarketableSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in marketable security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MarketableSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as current. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-8<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_CorporateDebtSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_CommercialPaperMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_CommercialPaperMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=fsly_AgencyBondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=fsly_AgencyBondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_MunicipalNotesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_MunicipalNotesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=fsly_ForeignGovernmentAndSupranationalSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=fsly_ForeignGovernmentAndSupranationalSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_MoneyMarketFundsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAxis=us-gaap_MoneyMarketFundsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_USTreasurySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAxis=us-gaap_USTreasurySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAxis=us-gaap_CommercialPaperMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAxis=us-gaap_CommercialPaperMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>80
<FILENAME>R61.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698137555328">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Business Combinations - Narrative (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>May 18, 2022</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 670,356<span></span>
</td>
<td class="nump">$ 670,185<span></span>
</td>
<td class="nump">$ 636,805<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=fsly_GlitchIncMember', window );">Glitch Inc</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired', window );">Business acquisition, percentage of voting interests acquired (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Aggregate consideration transferred</a></td>
<td class="nump">$ 34,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_BusinessCombinationConsiderationTransferredHoldback', window );">Consideration transferred, holdback</a></td>
<td class="nump">$ 8,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_BusinessCombinationConsiderationTransferredHoldbackDistributions', window );">Holdback distributions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_BusinessCombinationConsiderationTransferredHoldbackPeriodForDistribution', window );">Consideration transferred, holdback, period for distribution</a></td>
<td class="text">24 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Intangible assets</a></td>
<td class="nump">$ 2,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents', window );">Cash</a></td>
<td class="nump">1,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherAssetsNet', window );">Other assets, net</a></td>
<td class="nump">600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 32,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquisitionRelatedCosts', window );">Acquisition related costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Estimated useful life (in years)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years 7 months 6 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_BusinessCombinationConsiderationTransferredHoldback">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Business Combination, Consideration Transferred, Holdback</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_BusinessCombinationConsiderationTransferredHoldback</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_BusinessCombinationConsiderationTransferredHoldbackDistributions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Business Combination, Consideration Transferred, Holdback Distributions</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_BusinessCombinationConsiderationTransferredHoldbackDistributions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_BusinessCombinationConsiderationTransferredHoldbackPeriodForDistribution">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Business Combination, Consideration Transferred, Holdback, Period For Distribution</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_BusinessCombinationConsiderationTransferredHoldbackPeriodForDistribution</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Other Assets, Net</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of voting equity interests acquired at the acquisition date in the business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479328/805-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationAcquisitionRelatedCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This element represents acquisition-related costs incurred to effect a business combination which costs have been expensed during the period. Such costs include finder's fees; advisory, legal, accounting, valuation, and other professional or consulting fees; general administrative costs, including the costs of maintaining an internal acquisitions department; and may include costs of registering and issuing debt and equity securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 25<br> -Paragraph 23<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479405/805-10-25-23<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationAcquisitionRelatedCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferred1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 8<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479637/805-30-30-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479581/805-30-50-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 7<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479637/805-30-30-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferred1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions, acquired at the acquisition date. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of identifiable intangible assets recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479303/805-10-55-37<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482598/350-20-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=fsly_GlitchIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=fsly_GlitchIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>81
<FILENAME>R62.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698133603552">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Business Combinations - Schedule of Identifiable Finite-Lived Intangible Assets (Details) - Glitch Inc - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>May 18, 2022</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Total</a></td>
<td class="nump">$ 2,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Estimated useful life (in years)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years 7 months 6 days<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=fsly_GlitchIncMember', window );">Developed technology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Total</a></td>
<td class="nump">$ 630<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Estimated useful life (in years)</a></td>
<td class="text">4 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=fsly_GlitchIncMember', window );">Customer relationships</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Total</a></td>
<td class="nump">$ 760<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Estimated useful life (in years)</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=fsly_GlitchIncMember', window );">Trade names</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Total</a></td>
<td class="nump">$ 610<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Estimated useful life (in years)</a></td>
<td class="text">4 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of identifiable intangible assets recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479303/805-10-55-37<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=fsly_GlitchIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=fsly_GlitchIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>82
<FILENAME>R63.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698145882064">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Balance Sheet Information - Allowance for Credit Losses (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward', window );"><strong>Accounts Receivable, Allowance for Credit Loss [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Beginning balance</a></td>
<td class="nump">$ 5,029<span></span>
</td>
<td class="nump">$ 3,311<span></span>
</td>
<td class="nump">$ 3,248<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProvisionForDoubtfulAccounts', window );">Additions to the reserves</a></td>
<td class="nump">2,025<span></span>
</td>
<td class="nump">2,406<span></span>
</td>
<td class="nump">196<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs', window );">Write-offs and adjustments</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(688)<span></span>
</td>
<td class="num">(133)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Ending balance</a></td>
<td class="nump">$ 7,054<span></span>
</td>
<td class="nump">$ 5,029<span></span>
</td>
<td class="nump">$ 3,311<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479344/326-20-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of direct write-downs of accounts receivable charged against the allowance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (reversal of expense) for expected credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>83
<FILENAME>R64.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698137552608">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Balance Sheet Information - Property and equipment (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization', window );">Property and equipment, gross</a></td>
<td class="nump">$ 333,911<span></span>
</td>
<td class="nump">$ 302,839<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization', window );">Accumulated depreciation and amortization</a></td>
<td class="num">(157,303)<span></span>
</td>
<td class="num">(122,461)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization', window );">Property and equipment, net</a></td>
<td class="nump">176,608<span></span>
</td>
<td class="nump">180,378<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerEquipmentMember', window );">Computer and networking equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization', window );">Property and equipment, gross</a></td>
<td class="nump">224,313<span></span>
</td>
<td class="nump">225,009<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold improvements</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization', window );">Property and equipment, gross</a></td>
<td class="nump">8,605<span></span>
</td>
<td class="nump">8,374<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember', window );">Furniture and fixtures</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization', window );">Property and equipment, gross</a></td>
<td class="nump">2,142<span></span>
</td>
<td class="nump">1,792<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember', window );">Office equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization', window );">Property and equipment, gross</a></td>
<td class="nump">1,228<span></span>
</td>
<td class="nump">1,176<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareDevelopmentMember', window );">Internal-use software</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization', window );">Property and equipment, gross</a></td>
<td class="nump">97,623<span></span>
</td>
<td class="nump">66,488<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization', window );">Property and equipment, net</a></td>
<td class="nump">$ 62,600<span></span>
</td>
<td class="nump">$ 45,500<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation and amortization from plant, property, and equipment and right-of-use asset from finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-4<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareDevelopmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareDevelopmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>84
<FILENAME>R65.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698133608992">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Balance Sheet Information - Narrative (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment', window );">Impairment expense</a></td>
<td class="nump">$ 4,316,000<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation and amortization</a></td>
<td class="nump">51,600,000<span></span>
</td>
<td class="nump">42,600,000<span></span>
</td>
<td class="nump">28,800,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization', window );">Property and equipment, net</a></td>
<td class="nump">176,608,000<span></span>
</td>
<td class="nump">180,378,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_PropertyPlantAndEquipmentMember', window );">Property, Plant and Equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment', window );">Impairment expense</a></td>
<td class="nump">3,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=fsly_PropertyPlantAndEquipmentAdvancePaymentsMember', window );">Property, Plant And Equipment, Advance Payments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment', window );">Impairment expense</a></td>
<td class="nump">1,300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareDevelopmentMember', window );">Internal-use software</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation and amortization</a></td>
<td class="nump">14,000,000<span></span>
</td>
<td class="nump">8,600,000<span></span>
</td>
<td class="nump">$ 4,600,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization', window );">Property and equipment, net</a></td>
<td class="nump">62,600,000<span></span>
</td>
<td class="nump">45,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerEquipmentMember', window );">Computer and networking equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization', window );">Finance lease, right-of-use asset, before accumulated amortization</a></td>
<td class="nump">74,700,000<span></span>
</td>
<td class="nump">77,300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization', window );">Finance lease, right-of-use asset, accumulated amortization</a></td>
<td class="nump">$ 40,100,000<span></span>
</td>
<td class="nump">$ 28,100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Asset Impairment Charges, Excluding Operating Lease Impairment</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated amortization of right-of-use asset from finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-4<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before accumulated amortization, of right-of-use asset from finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_PropertyPlantAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_PropertyPlantAndEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=fsly_PropertyPlantAndEquipmentAdvancePaymentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=fsly_PropertyPlantAndEquipmentAdvancePaymentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareDevelopmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareDevelopmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>85
<FILENAME>R66.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698138381952">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Balance Sheet Information - Other Assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetRelatedDisclosuresAbstract', window );"><strong>Balance Sheet Related Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostNetNoncurrent', window );">Deferred contract costs, net</a></td>
<td class="nump">$ 61,981<span></span>
</td>
<td class="nump">$ 50,523<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_AdvancesOnPropertyAndEquipment', window );">Advance payment for purchase of property and equipment</a></td>
<td class="nump">24,509<span></span>
</td>
<td class="nump">37,013<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsMiscellaneousNoncurrent', window );">Other assets</a></td>
<td class="nump">4,289<span></span>
</td>
<td class="nump">5,086<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Total other assets</a></td>
<td class="nump">$ 90,779<span></span>
</td>
<td class="nump">$ 92,622<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_AdvancesOnPropertyAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Advances On Property And Equipment</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_AdvancesOnPropertyAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetRelatedDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetRelatedDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedContractCostNetNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer; classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 340<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479483/340-40-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostNetNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsMiscellaneousNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of other miscellaneous assets expected to be realized or consumed after one year or normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsMiscellaneousNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>86
<FILENAME>R67.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698145881936">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Balance Sheet Information - Accrued Expenses (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetRelatedDisclosuresAbstract', window );"><strong>Balance Sheet Related Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeRelatedLiabilitiesCurrent', window );">Accrued compensation and related benefits</a></td>
<td class="nump">$ 14,918<span></span>
</td>
<td class="nump">$ 20,204<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedBonusesCurrent', window );">Accrued bonus</a></td>
<td class="nump">24,614<span></span>
</td>
<td class="nump">15,818<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_AccruedColocationAndBandwidthCosts', window );">Accrued colocation and bandwidth costs</a></td>
<td class="nump">14,362<span></span>
</td>
<td class="nump">10,448<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TaxesPayableCurrent', window );">Other tax liabilities</a></td>
<td class="nump">4,344<span></span>
</td>
<td class="nump">8,698<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAccruedLiabilitiesCurrent', window );">Other accrued expenses</a></td>
<td class="nump">3,580<span></span>
</td>
<td class="nump">5,993<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Total accrued expenses</a></td>
<td class="nump">$ 61,818<span></span>
</td>
<td class="nump">$ 61,161<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_AccruedColocationAndBandwidthCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accrued Colocation And Bandwidth Costs</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_AccruedColocationAndBandwidthCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedBonusesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable for incentive compensation awarded to employees and directors or earned by them based on the terms of one or more relevant arrangements. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedBonusesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetRelatedDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetRelatedDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeRelatedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeRelatedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>87
<FILENAME>R68.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698141427808">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Balance Sheet Information - Other Current Liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetRelatedDisclosuresAbstract', window );"><strong>Balance Sheet Related Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred revenue</a></td>
<td class="nump">$ 33,824<span></span>
</td>
<td class="nump">$ 28,047<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_AccruedComputerAndNetworkingEquipment', window );">Accrued computer and networking equipment</a></td>
<td class="nump">1,673<span></span>
</td>
<td class="nump">1,467<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_BusinessCombinationConsiderationTransferredHoldbackCurrent', window );">Holdback payable</a></td>
<td class="nump">3,771<span></span>
</td>
<td class="nump">4,013<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherSundryLiabilitiesCurrent', window );">Other current liabilities</a></td>
<td class="nump">1,271<span></span>
</td>
<td class="nump">867<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesCurrent', window );">Total other current liabilities</a></td>
<td class="nump">$ 40,539<span></span>
</td>
<td class="nump">$ 34,394<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_AccruedComputerAndNetworkingEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accrued Computer And Networking Equipment</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_AccruedComputerAndNetworkingEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_BusinessCombinationConsiderationTransferredHoldbackCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Business Combination, Consideration Transferred, Holdback, Current</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_BusinessCombinationConsiderationTransferredHoldbackCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetRelatedDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetRelatedDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherSundryLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Obligations not otherwise itemized or categorized in the footnotes to the financial statements that are due within one year or operating cycle, if longer, from the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481573/470-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherSundryLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>88
<FILENAME>R69.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698133824560">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Balance Sheet Information - Accumulated Other Comprehensive Income (Loss) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AOCIAttributableToParentNetOfTaxRollForward', window );"><strong>AOCI Attributable to Parent, Net of Tax [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance</a></td>
<td class="nump">$ 955,158<span></span>
</td>
<td class="nump">$ 1,013,953<span></span>
</td>
<td class="nump">$ 1,061,865<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent', window );">Other comprehensive income (loss)</a></td>
<td class="nump">8,278<span></span>
</td>
<td class="num">(6,659)<span></span>
</td>
<td class="num">(2,633)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance</a></td>
<td class="nump">979,488<span></span>
</td>
<td class="nump">955,158<span></span>
</td>
<td class="nump">1,013,953<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedTranslationAdjustmentMember', window );">Foreign Currency Translation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AOCIAttributableToParentNetOfTaxRollForward', window );"><strong>AOCI Attributable to Parent, Net of Tax [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance</a></td>
<td class="num">(577)<span></span>
</td>
<td class="num">(322)<span></span>
</td>
<td class="num">(36)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent', window );">Other comprehensive income (loss)</a></td>
<td class="nump">565<span></span>
</td>
<td class="num">(255)<span></span>
</td>
<td class="num">(286)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance</a></td>
<td class="num">(12)<span></span>
</td>
<td class="num">(577)<span></span>
</td>
<td class="num">(322)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember', window );">Unrealized gain/(loss) for available-for-sale investments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AOCIAttributableToParentNetOfTaxRollForward', window );"><strong>AOCI Attributable to Parent, Net of Tax [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance</a></td>
<td class="num">(8,709)<span></span>
</td>
<td class="num">(2,305)<span></span>
</td>
<td class="nump">42<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent', window );">Other comprehensive income (loss)</a></td>
<td class="nump">7,713<span></span>
</td>
<td class="num">(6,404)<span></span>
</td>
<td class="num">(2,347)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance</a></td>
<td class="num">(996)<span></span>
</td>
<td class="num">(8,709)<span></span>
</td>
<td class="num">(2,305)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedOtherComprehensiveIncomeMember', window );">Accumulated Other Comprehensive Income (Loss)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AOCIAttributableToParentNetOfTaxRollForward', window );"><strong>AOCI Attributable to Parent, Net of Tax [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance</a></td>
<td class="num">(9,286)<span></span>
</td>
<td class="num">(2,627)<span></span>
</td>
<td class="nump">6<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent', window );">Other comprehensive income (loss)</a></td>
<td class="nump">8,278<span></span>
</td>
<td class="num">(6,659)<span></span>
</td>
<td class="num">(2,633)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance</a></td>
<td class="num">$ (1,008)<span></span>
</td>
<td class="num">$ (9,286)<span></span>
</td>
<td class="num">$ (2,627)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AOCIAttributableToParentNetOfTaxRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AOCIAttributableToParentNetOfTaxRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of other comprehensive income (loss) attributable to parent entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-20<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedTranslationAdjustmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedTranslationAdjustmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedOtherComprehensiveIncomeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedOtherComprehensiveIncomeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>89
<FILENAME>R70.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698133673232">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases - Narrative (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee, Lease, Description [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubleaseIncome', window );">Sublease income</a></td>
<td class="nump">$ 1,200,000<span></span>
</td>
<td class="nump">$ 900,000<span></span>
</td>
<td class="nump">$ 1,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseImpairmentLoss', window );">Impairment of operating lease right-of-use assets</a></td>
<td class="nump">744,000<span></span>
</td>
<td class="nump">$ 2,083,000<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_LesseeOperatingLeaseLeaseNotYetCommencedCommitmentAmount', window );">Lease not yet commenced, commitment amount</a></td>
<td class="nump">$ 2,300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee, Lease, Description [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseRemainingLeaseTerm', window );">Remaining lease terms, operating (in years)</a></td>
<td class="text">1 year<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_SubleasesRemainingLeaseTerms', window );">Subleases, remaining lease terms (in years)</a></td>
<td class="text">1 year<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1', window );">Lease not yet commenced, term of contract</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee, Lease, Description [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseRemainingLeaseTerm', window );">Remaining lease terms, operating (in years)</a></td>
<td class="text">7 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeFinanceLeaseRemainingLeaseTerm', window );">Remaining lease terms, finance (in years)</a></td>
<td class="text">1 year<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_SubleasesRemainingLeaseTerms', window );">Subleases, remaining lease terms (in years)</a></td>
<td class="text">7 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_LesseeOperatingLeaseLeaseNotYetCommencedCommitmentAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Lessee, Operating Lease, Lease Not Yet Commenced, Commitment Amount</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_LesseeOperatingLeaseLeaseNotYetCommencedCommitmentAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_SubleasesRemainingLeaseTerms">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Subleases, Remaining Lease Terms</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_SubleasesRemainingLeaseTerms</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeFinanceLeaseRemainingLeaseTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Remaining lease term of finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeFinanceLeaseRemainingLeaseTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeLeaseDescriptionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeLeaseDescriptionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Term of lessee's operating lease not yet commenced, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseRemainingLeaseTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Remaining lease term of operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseRemainingLeaseTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseImpairmentLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of loss from impairment of right-of-use asset from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 6<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479365/842-20-25-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseImpairmentLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubleaseIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of sublease income excluding finance and operating lease expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubleaseIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>90
<FILENAME>R71.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698141584672">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases - Schedule of Lease Cost (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseCost', window );">Operating lease cost</a></td>
<td class="nump">$ 26,996<span></span>
</td>
<td class="nump">$ 30,976<span></span>
</td>
<td class="nump">$ 26,716<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_VariableLeaseCost', window );">Variable lease cost</a></td>
<td class="nump">15,112<span></span>
</td>
<td class="nump">11,736<span></span>
</td>
<td class="nump">6,820<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_OperatingVariableAndShortTermLeaseCosts', window );">Total operating lease cost</a></td>
<td class="nump">42,108<span></span>
</td>
<td class="nump">42,712<span></span>
</td>
<td class="nump">33,536<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseRightOfUseAssetAmortization', window );">Amortization of assets under finance lease</a></td>
<td class="nump">14,391<span></span>
</td>
<td class="nump">14,539<span></span>
</td>
<td class="nump">6,834<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseInterestExpense', window );">Interest</a></td>
<td class="nump">1,328<span></span>
</td>
<td class="nump">2,381<span></span>
</td>
<td class="nump">1,754<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_FinanceLeaseCost', window );">Total finance lease cost</a></td>
<td class="nump">$ 15,719<span></span>
</td>
<td class="nump">$ 16,920<span></span>
</td>
<td class="nump">$ 8,588<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_FinanceLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Finance Lease Cost</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_FinanceLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_OperatingVariableAndShortTermLeaseCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Operating, Variable, And Short-Term Lease Costs</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_OperatingVariableAndShortTermLeaseCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseInterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of interest expense on finance lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseInterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseRightOfUseAssetAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense attributable to right-of-use asset from finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseRightOfUseAssetAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>91
<FILENAME>R72.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698145741456">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Schedule of Other Information (Details)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_WeightedAverageRemainingLeaseTermAbstract', window );"><strong>Weighted Average Remaining Lease term (in years):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Operating leases</a></td>
<td class="text">3 years 5 months 23 days<span></span>
</td>
<td class="text">4 years 1 month 2 days<span></span>
</td>
<td class="text">4 years 4 months 28 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1', window );">Finance leases</a></td>
<td class="text">1 year<span></span>
</td>
<td class="text">1 year 8 months 26 days<span></span>
</td>
<td class="text">2 years 2 months 23 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_LeasesWeightedAverageDiscountRateAbstract', window );"><strong>Weighted Average Discount Rate:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Operating leases</a></td>
<td class="nump">6.03%<span></span>
</td>
<td class="nump">5.36%<span></span>
</td>
<td class="nump">5.20%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent', window );">Finance leases</a></td>
<td class="nump">4.67%<span></span>
</td>
<td class="nump">4.73%<span></span>
</td>
<td class="nump">4.86%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_LeasesWeightedAverageDiscountRateAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Leases, Weighted Average Discount Rate</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_LeasesWeightedAverageDiscountRateAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_WeightedAverageRemainingLeaseTermAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted Average Remaining Lease Term</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_WeightedAverageRemainingLeaseTermAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average discount rate for finance lease calculated at point in time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining lease term for finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average discount rate for operating lease calculated at point in time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>92
<FILENAME>R73.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698138953376">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Schedule of Lease Liability Maturity (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract', window );"><strong>Operating Leases</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2024</a></td>
<td class="nump">$ 28,160<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2025</a></td>
<td class="nump">20,868<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', window );">2026</a></td>
<td class="nump">18,896<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', window );">2027</a></td>
<td class="nump">10,502<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive', window );">2028</a></td>
<td class="nump">2,446<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive', window );">Thereafter</a></td>
<td class="nump">1,838<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total future minimum lease payments</a></td>
<td class="nump">82,710<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less: imputed interest</a></td>
<td class="num">(7,905)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Total liability</a></td>
<td class="nump">74,805<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract', window );"><strong>Finance Leases</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2024</a></td>
<td class="nump">16,064<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo', window );">2025</a></td>
<td class="nump">1,617<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree', window );">2026</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour', window );">2027</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive', window );">2028</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive', window );">Thereafter</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDue', window );">Total future minimum lease payments</a></td>
<td class="nump">17,681<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount', window );">Less: imputed interest</a></td>
<td class="num">(395)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiability', window );">Total liability</a></td>
<td class="nump">$ 17,286<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>93
<FILENAME>R74.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698137499296">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets - Schedule of Changes in the Carrying Amount of Goodwill (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillRollForward', window );"><strong>Goodwill [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Beginning balance</a></td>
<td class="nump">$ 670,185<span></span>
</td>
<td class="nump">$ 636,805<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Goodwill acquired from business combinations</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">33,419<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillForeignCurrencyTranslationGainLoss', window );">Foreign currency translation and other adjustments</a></td>
<td class="nump">171<span></span>
</td>
<td class="num">(39)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Ending balance</a></td>
<td class="nump">$ 670,356<span></span>
</td>
<td class="nump">$ 670,185<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482598/350-20-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAcquiredDuringPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAcquiredDuringPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillForeignCurrencyTranslationGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillForeignCurrencyTranslationGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>94
<FILENAME>R75.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698141267440">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets - Narrative (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillImpairmentLoss', window );">Goodwill, impairment loss</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization of intangible assets</a></td>
<td class="nump">20,424,000<span></span>
</td>
<td class="nump">21,696,000<span></span>
</td>
<td class="nump">21,238,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireIntangibleAssets', window );">Purchase of intangible assets</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 2,092,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=fsly_GlitchIncMember', window );">Glitch Inc</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireIntangibleAssets', window );">Purchase of intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482686/350-30-45-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillImpairmentLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482598/350-20-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillImpairmentLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=fsly_GlitchIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=fsly_GlitchIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>95
<FILENAME>R76.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698134386304">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Goodwill and Intangible Assets - Schedule of Intangible Assets, Net (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross carrying value</a></td>
<td class="nump">$ 128,884<span></span>
</td>
<td class="nump">$ 131,084<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated amortization</a></td>
<td class="num">(66,409)<span></span>
</td>
<td class="num">(48,184)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net carrying value</a></td>
<td class="nump">62,475<span></span>
</td>
<td class="nump">82,900<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer relationships</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross carrying value</a></td>
<td class="nump">69,860<span></span>
</td>
<td class="nump">69,860<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated amortization</a></td>
<td class="num">(28,473)<span></span>
</td>
<td class="num">(19,582)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net carrying value</a></td>
<td class="nump">41,387<span></span>
</td>
<td class="nump">50,278<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember', window );">Developed technology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross carrying value</a></td>
<td class="nump">50,130<span></span>
</td>
<td class="nump">50,130<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated amortization</a></td>
<td class="num">(32,424)<span></span>
</td>
<td class="num">(22,367)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net carrying value</a></td>
<td class="nump">17,706<span></span>
</td>
<td class="nump">27,763<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember', window );">Trade names</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross carrying value</a></td>
<td class="nump">3,910<span></span>
</td>
<td class="nump">3,910<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated amortization</a></td>
<td class="num">(3,542)<span></span>
</td>
<td class="num">(2,564)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net carrying value</a></td>
<td class="nump">368<span></span>
</td>
<td class="nump">1,346<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=fsly_InternetProtocolAddressesMember', window );">Internet protocol addresses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross carrying value</a></td>
<td class="nump">4,984<span></span>
</td>
<td class="nump">4,984<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated amortization</a></td>
<td class="num">(1,970)<span></span>
</td>
<td class="num">(1,471)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net carrying value</a></td>
<td class="nump">3,014<span></span>
</td>
<td class="nump">3,513<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_OrderOrProductionBacklogMember', window );">Backlog</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross carrying value</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">2,200<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated amortization</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(2,200)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net carrying value</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 928<br> -SubTopic 340<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483147/928-340-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-5<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=fsly_InternetProtocolAddressesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=fsly_InternetProtocolAddressesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_OrderOrProductionBacklogMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_OrderOrProductionBacklogMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>96
<FILENAME>R77.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698142518192">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Goodwill and Intangible Assets - Schedule of Expected Amortization Expense of Intangible Assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2024</a></td>
<td class="nump">$ 19,599<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">2025</a></td>
<td class="nump">16,976<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">2026</a></td>
<td class="nump">9,193<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">2027</a></td>
<td class="nump">9,051<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive', window );">2028</a></td>
<td class="nump">6,891<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive', window );">Thereafter</a></td>
<td class="nump">765<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net carrying value</a></td>
<td class="nump">$ 62,475<span></span>
</td>
<td class="nump">$ 82,900<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-5<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>97
<FILENAME>R78.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698137877456">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Debt Instruments - Senior Secured Credit Facilities Agreement (Details) - SVB Revolver<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 28, 2023</div></th>
<th class="th">
<div>Feb. 16, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Debt facility, maximum borrowing amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 100,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredFinanceCostsGross', window );">Transaction costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 600,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_DebtInstrumentBasisSpreadAdjustment', window );">Basis spread adjustment</a></td>
<td class="nump">0.10%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_DebtCovenantAdjustedQuickRatioMinimumRequirement', window );">Debt covenant, adjusted quick ratio, minimum requirement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.25<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_DebtCovenantAdjustedQuickRatioMinimumThresholdToTriggerRevenueGrowthCovenantRequirement', window );">Debt covenant, adjusted quick ratio, minimum threshold to trigger revenue growth covenant requirement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.75<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromLinesOfCredit', window );">Amounts drawn on line of credit during the period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Amount of debt outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=fsly_SVBRevolverMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage', window );">Line of credit, unused capacity, commitment fee percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.20%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=fsly_SVBRevolverMember', window );">Minimum | London Interbank Offered Rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Basis spread on variable rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.75%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=fsly_SVBRevolverMember', window );">Minimum | Secured Overnight Finance Rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Basis spread on variable rate</a></td>
<td class="nump">1.75%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=fsly_SVBRevolverMember', window );">Minimum | Base Rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Basis spread on variable rate</a></td>
<td class="nump">0.75%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=fsly_SVBRevolverMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage', window );">Line of credit, unused capacity, commitment fee percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.25%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=fsly_SVBRevolverMember', window );">Maximum | London Interbank Offered Rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Basis spread on variable rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=fsly_SVBRevolverMember', window );">Maximum | Secured Overnight Finance Rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Basis spread on variable rate</a></td>
<td class="nump">2.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=fsly_SVBRevolverMember', window );">Maximum | Base Rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Basis spread on variable rate</a></td>
<td class="nump">1.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_DebtCovenantAdjustedQuickRatioMinimumRequirement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt Covenant, Adjusted Quick Ratio, Minimum Requirement</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_DebtCovenantAdjustedQuickRatioMinimumRequirement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_DebtCovenantAdjustedQuickRatioMinimumThresholdToTriggerRevenueGrowthCovenantRequirement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt Covenant, Adjusted Quick Ratio, Minimum Threshold To Trigger Revenue Growth Covenant Requirement</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_DebtCovenantAdjustedQuickRatioMinimumThresholdToTriggerRevenueGrowthCovenantRequirement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_DebtInstrumentBasisSpreadAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt Instrument, Basis Spread Adjustment</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_DebtInstrumentBasisSpreadAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage points added to the reference rate to compute the variable rate on the debt instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentBasisSpreadOnVariableRate1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482900/835-30-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69E<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69E<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69F<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69F<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredFinanceCostsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFinanceCostsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromLinesOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromLinesOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=fsly_SVBRevolverMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=fsly_SVBRevolverMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableRateAxis=fsly_LondonInterbankOfferedRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=fsly_LondonInterbankOfferedRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableRateAxis=fsly_SecuredOvernightFinanceRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=fsly_SecuredOvernightFinanceRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableRateAxis=us-gaap_BaseRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=us-gaap_BaseRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>98
<FILENAME>R79.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698137735680">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Debt Instruments - Convertible Senior Notes (Details)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Mar. 05, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($) </div>
<div>day </div>
<div>$ / shares</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>May 25, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromConvertibleDebt', window );">Issuance of convertible note, net of issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 930,775<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Net gain on extinguishment of debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 52,416<span></span>
</td>
<td class="nump">54,391<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=fsly_A2026ConvertibleNotesMember', window );">2026 Convertible Notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromConvertibleDebt', window );">Issuance of convertible note, net of issuance costs</a></td>
<td class="nump">$ 930,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=fsly_A2026ConvertibleNotesMember', window );">2026 Convertible Notes | Common Class A</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleConversionRatio1', window );">Debt instrument, convertible, conversion ratio</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.0097272<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleConversionPrice1', window );">Debt instrument, convertible, conversion price (in dollars per share) | $ / shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 102.80<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=fsly_A2026ConvertibleNotesMember', window );">2026 Convertible Notes | Fastly Conversion Option</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger', window );">Debt instrument, convertible, threshold percentage of stock price trigger (as a percent)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">130.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleThresholdTradingDays', window );">Debt instrument, convertible, threshold trading days | day</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1', window );">Debt instrument, convertible, threshold consecutive trading days | day</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=fsly_A2026ConvertibleNotesMember', window );">2026 Convertible Notes | Holder Conversion Option One | Common Class A</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger', window );">Debt instrument, convertible, threshold percentage of stock price trigger (as a percent)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">130.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleThresholdTradingDays', window );">Debt instrument, convertible, threshold trading days | day</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1', window );">Debt instrument, convertible, threshold consecutive trading days | day</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=fsly_A2026ConvertibleNotesMember', window );">2026 Convertible Notes | Holder Conversion Option Two | Common Class A</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger', window );">Debt instrument, convertible, threshold percentage of stock price trigger (as a percent)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">98.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleThresholdTradingDays', window );">Debt instrument, convertible, threshold trading days | day</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1', window );">Debt instrument, convertible, threshold consecutive trading days | day</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_ConvertibleDebtMember', window );">Convertible Debt | 2026 Convertible Notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Debt instrument, face amount</a></td>
<td class="nump">$ 948,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate, stated percentage</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_DebtInstrumentFaceAmountAdditionalPrincipalIssuable', window );">Debt instrument, face amount, additional principal issuable</a></td>
<td class="nump">$ 123,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet', window );">Discount and transaction costs</a></td>
<td class="nump">$ 18,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentRepurchasedFaceAmount', window );">Repurchased face amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 367,300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 235,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentRepurchaseAmount', window );">Repurchase amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">309,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">176,400<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_DebtInstrumentRepurchaseTransactionCosts', window );">Debt repurchase transaction costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 700<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Net gain on extinguishment of debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 54,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_ConvertibleDebtMember', window );">Convertible Debt | 2026 Convertible Notes | Fastly Conversion Option</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentRedemptionPricePercentage', window );">Debt instrument, redemption price, percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_ConvertibleDebtMember', window );">Convertible Debt | 2026 Convertible Notes | Fundamental Change</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentRedemptionPricePercentage', window );">Debt instrument, redemption price, percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_DebtInstrumentFaceAmountAdditionalPrincipalIssuable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt Instrument, Face Amount, Additional Principal Issuable</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_DebtInstrumentFaceAmountAdditionalPrincipalIssuable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_DebtInstrumentRepurchaseTransactionCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt Instrument, Repurchase, Transaction Costs</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_DebtInstrumentRepurchaseTransactionCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentConvertibleConversionPrice1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The price per share of the conversion feature embedded in the debt instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleConversionPrice1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentConvertibleConversionRatio1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Ratio applied to the conversion of debt instrument into equity with equity shares divided by debt principal amount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-3<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-7<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleConversionRatio1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Threshold period of specified consecutive trading days within which common stock price to conversion price of convertible debt instrument must exceed threshold percentage for specified number of trading days to trigger conversion feature.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Minimum percentage of common stock price to conversion price of convertible debt instruments to determine eligibility of conversion.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentConvertibleThresholdTradingDays">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Threshold number of specified trading days that common stock price to conversion price of convertible debt instruments must exceed threshold percentage within a specified consecutive trading period to trigger conversion feature.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleThresholdTradingDays</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face (par) amount of debt instrument at time of issuance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482900/835-30-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-2<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482949/835-30-55-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentFaceAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482900/835-30-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69E<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69E<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69F<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69F<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentRedemptionPricePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage price of original principal amount of debt at which debt can be redeemed by the issuer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph e<br> -SubTopic 470<br> -Topic 942<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480848/942-470-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentRedemptionPricePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentRepurchaseAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value amount of debt instrument that was repurchased.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentRepurchaseAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentRepurchasedFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face (par) amount of the original debt instrument that was repurchased.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentRepurchasedFaceAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of unamortized debt discount (premium) and debt issuance costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainsLossesOnExtinguishmentOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481303/470-50-40-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481303/470-50-40-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainsLossesOnExtinguishmentOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromConvertibleDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the issuance of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromConvertibleDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=fsly_A2026ConvertibleNotesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=fsly_A2026ConvertibleNotesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtConversionByUniqueDescriptionAxis=fsly_DebtConversionScenarioOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtConversionByUniqueDescriptionAxis=fsly_DebtConversionScenarioOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtConversionByUniqueDescriptionAxis=fsly_DebtConversionScenarioTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtConversionByUniqueDescriptionAxis=fsly_DebtConversionScenarioTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtConversionByUniqueDescriptionAxis=fsly_DebtConversionScenarioThreeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtConversionByUniqueDescriptionAxis=fsly_DebtConversionScenarioThreeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=us-gaap_ConvertibleDebtMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=us-gaap_ConvertibleDebtMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtConversionByUniqueDescriptionAxis=fsly_DebtConversionScenarioFourMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtConversionByUniqueDescriptionAxis=fsly_DebtConversionScenarioFourMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>99
<FILENAME>R80.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698137916624">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Debt Instruments - Schedule of Outstanding Debt (Details) - Convertible Debt - 2026 Convertible Notes - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateDuringPeriod', window );">Effective interest rate</a></td>
<td class="nump">0.38%<span></span>
</td>
<td class="nump">0.40%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Principal amount</a></td>
<td class="nump">$ 346,489<span></span>
</td>
<td class="nump">$ 713,753<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentUnamortizedDiscount', window );">Less: unamortized debt issuance costs</a></td>
<td class="num">(2,982)<span></span>
</td>
<td class="num">(9,043)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtCurrent', window );">Less: current portion of long-term debt</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Long-term debt, less current portion</a></td>
<td class="nump">$ 343,507<span></span>
</td>
<td class="nump">$ 704,710<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentCarryingAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentCarryingAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateDuringPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average effective interest rate during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateDuringPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482900/835-30-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69E<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69E<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69F<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69F<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentUnamortizedDiscount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization, of debt discount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-1A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482949/835-30-55-8<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentUnamortizedDiscount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as current. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=us-gaap_ConvertibleDebtMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=us-gaap_ConvertibleDebtMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=fsly_A2026ConvertibleNotesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=fsly_A2026ConvertibleNotesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>100
<FILENAME>R81.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698234895552">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Debt Instruments - Narrative (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpenseDebt', window );">Interest expense</a></td>
<td class="nump">$ 2.7<span></span>
</td>
<td class="nump">$ 3.4<span></span>
</td>
<td class="nump">$ 3.5<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NotesPayableFairValueDisclosure', window );">Total estimated fair value of the notes</a></td>
<td class="nump">$ 301.4<span></span>
</td>
<td class="nump">$ 517.5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestExpenseDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the cost of borrowed funds accounted for as interest expense for debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69E<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69E<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69F<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69F<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.8)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpenseDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NotesPayableFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of notes payable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20,22)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NotesPayableFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>101
<FILENAME>R82.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698137952704">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Commitments and Contingencies - Schedule of Purchase Commitments (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermPurchaseCommitmentLineItems', window );"><strong>Long-term Purchase Commitment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueInNextTwelveMonths', window );">2024</a></td>
<td class="nump">$ 59,179<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueInSecondYear', window );">2025</a></td>
<td class="nump">9,902<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueInThirdYear', window );">2026</a></td>
<td class="nump">10,208<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueInFourthYear', window );">2027</a></td>
<td class="nump">111<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueInFifthYear', window );">2028</a></td>
<td class="nump">40<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueAfterFifthYear', window );">Thereafter</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligation', window );">Total</a></td>
<td class="nump">79,440<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RecordedUnconditionalPurchaseObligationByCategoryOfItemPurchasedAxis=fsly_CostOfRevenueCommitmentMember', window );">Cost of Revenue Commitments</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermPurchaseCommitmentLineItems', window );"><strong>Long-term Purchase Commitment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueInNextTwelveMonths', window );">2024</a></td>
<td class="nump">48,699<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueInSecondYear', window );">2025</a></td>
<td class="nump">6,105<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueInThirdYear', window );">2026</a></td>
<td class="nump">8,111<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueInFourthYear', window );">2027</a></td>
<td class="nump">111<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueInFifthYear', window );">2028</a></td>
<td class="nump">40<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueAfterFifthYear', window );">Thereafter</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligation', window );">Total</a></td>
<td class="nump">63,066<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RecordedUnconditionalPurchaseObligationByCategoryOfItemPurchasedAxis=fsly_OperatingExpenseCommitmentsMember', window );">Operating Expense Commitments</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermPurchaseCommitmentLineItems', window );"><strong>Long-term Purchase Commitment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueInNextTwelveMonths', window );">2024</a></td>
<td class="nump">10,480<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueInSecondYear', window );">2025</a></td>
<td class="nump">3,797<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueInThirdYear', window );">2026</a></td>
<td class="nump">2,097<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueInFourthYear', window );">2027</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueInFifthYear', window );">2028</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueAfterFifthYear', window );">Thereafter</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligation', window );">Total</a></td>
<td class="nump">$ 16,374<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermPurchaseCommitmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermPurchaseCommitmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PurchaseObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Minimum amount of purchase arrangement in which the entity has agreed to expend funds to procure goods or services from a supplier.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PurchaseObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PurchaseObligationDueAfterFifthYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of purchase arrangement to be paid after fifth fiscal year following current fiscal year. Includes, but is not limited to, recorded and unrecorded purchase obligations, long-term purchase commitment, and short-term purchase commitment. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PurchaseObligationDueAfterFifthYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PurchaseObligationDueInFifthYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of purchase arrangement to be paid in fifth fiscal year following current fiscal year. Includes, but is not limited to, recorded and unrecorded purchase obligations, long-term purchase commitment, and short-term purchase commitment. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PurchaseObligationDueInFifthYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PurchaseObligationDueInFourthYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of purchase arrangement to be paid in fourth fiscal year following current fiscal year. Includes, but is not limited to, recorded and unrecorded purchase obligations, long-term purchase commitment, and short-term purchase commitment. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PurchaseObligationDueInFourthYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PurchaseObligationDueInNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of purchase arrangement to be paid in next fiscal year following current fiscal year. Includes, but is not limited to, recorded and unrecorded purchase obligations, long-term purchase commitment, and short-term purchase commitment. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PurchaseObligationDueInNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PurchaseObligationDueInSecondYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of purchase arrangement to be paid in second fiscal year following current fiscal year. Includes, but is not limited to, recorded and unrecorded purchase obligations, long-term purchase commitment, and short-term purchase commitment. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PurchaseObligationDueInSecondYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PurchaseObligationDueInThirdYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of purchase arrangement to be paid in third fiscal year following current fiscal year. Includes, but is not limited to, recorded and unrecorded purchase obligations, long-term purchase commitment, and short-term purchase commitment. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PurchaseObligationDueInThirdYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RecordedUnconditionalPurchaseObligationByCategoryOfItemPurchasedAxis=fsly_CostOfRevenueCommitmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RecordedUnconditionalPurchaseObligationByCategoryOfItemPurchasedAxis=fsly_CostOfRevenueCommitmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RecordedUnconditionalPurchaseObligationByCategoryOfItemPurchasedAxis=fsly_OperatingExpenseCommitmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RecordedUnconditionalPurchaseObligationByCategoryOfItemPurchasedAxis=fsly_OperatingExpenseCommitmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>102
<FILENAME>R83.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698144420080">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Commitments and Contingencies - Narrative (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_SalesAndExciseTaxPayableCurrentExcludingNormalActivity', window );">Sales and use tax</a></td>
<td class="nump">$ 4.3<span></span>
</td>
<td class="nump">$ 7.6<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_SalesAndExciseTaxPayableCurrentExcludingNormalActivity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sales and Excise Tax Payable, Current, Excluding Normal Activity</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_SalesAndExciseTaxPayableCurrentExcludingNormalActivity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>103
<FILENAME>R84.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698134344096">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Stockholders' Equity - Common Stock and Preferred Stock (Details)<br></strong></div></th>
<th class="th">
<div>Jul. 12, 2021 </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>$ / shares </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>$ / shares </div>
<div>shares</div>
</th>
<th class="th">
<div>May 31, 2019 </div>
<div>vote </div>
<div>$ / shares </div>
<div>shares</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,000,000,000<span></span>
</td>
<td class="nump">1,000,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share) | $ / shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.00002<span></span>
</td>
<td class="nump">$ 0.00002<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember', window );">Common Class A</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,000,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share) | $ / shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.00002<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_CommonStockVotingRightsNumberofVotesAllowedToEachShare', window );">Common stock, voting rights (votes per share) | vote</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember', window );">Common Class B</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">94,100,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share) | $ / shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.00002<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_CommonStockVotingRightsNumberofVotesAllowedToEachShare', window );">Common stock, voting rights (votes per share) | vote</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_CommonStockSharesRetired', window );">Common stock retired (in shares)</a></td>
<td class="nump">94,100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_CommonStockSharesRetired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Common Stock, Shares, Retired</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_CommonStockSharesRetired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_CommonStockVotingRightsNumberofVotesAllowedToEachShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Common Stock, Voting Rights, Number of Votes Allowed To Each Share</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_CommonStockVotingRightsNumberofVotesAllowedToEachShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfStockLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Topic 272<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483014/272-10-45-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 272<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482987/272-10-50-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-14<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-18<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(27)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfStockLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>104
<FILENAME>R85.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698145629616">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Equity Incentive Plans (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>plan </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>shares</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_NumberOfEquityIncentivePlans', window );">Number of equity incentive plans | plan</a></td>
<td class="nump">4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued (in shares)</a></td>
<td class="nump">132,992,126<span></span>
</td>
<td class="nump">124,336,171<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding (in shares)</a></td>
<td class="nump">132,992,126<span></span>
</td>
<td class="nump">124,336,171<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember', window );">Common Class A</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued (in shares)</a></td>
<td class="nump">133,000,000<span></span>
</td>
<td class="nump">124,300,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding (in shares)</a></td>
<td class="nump">133,000,000<span></span>
</td>
<td class="nump">124,300,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember', window );">Common Class B</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=fsly_SignalSciences2014EquityStockOptionsPlanMember', window );">Signal Sciences 2014 Equity Stock Options Plan | Common Class A</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_BusinessCombinationUnvestedStockOptionAssumedShares', window );">Unvested stock options assumed (in shares)</a></td>
<td class="nump">251,754<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=fsly_A2019EquityIncentivePlanMember', window );">2019 Equity Incentive Plan | Common Class A</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Common stock, shares available for future issuance (in shares)</a></td>
<td class="nump">8,900,000<span></span>
</td>
<td class="nump">9,600,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_BusinessCombinationUnvestedStockOptionAssumedShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Business Combination, Unvested Stock Option Assumed, Shares</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_BusinessCombinationUnvestedStockOptionAssumedShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_NumberOfEquityIncentivePlans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number Of Equity Incentive Plans</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_NumberOfEquityIncentivePlans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=fsly_SignalSciences2014EquityStockOptionsPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=fsly_SignalSciences2014EquityStockOptionsPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=fsly_A2019EquityIncentivePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=fsly_A2019EquityIncentivePlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>105
<FILENAME>R86.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698137869408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Stock Options Narrative (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue', window );">Pre-tax intrinsic value</a></td>
<td class="nump">$ 3,100<span></span>
</td>
<td class="nump">$ 8,900<span></span>
</td>
<td class="nump">$ 64,900<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1', window );">Vesting of early exercised stock options</a></td>
<td class="nump">$ 2,100<span></span>
</td>
<td class="nump">5,600<span></span>
</td>
<td class="nump">6,900<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted-average grant date fair value (in dollars per share)</a></td>
<td class="nump">$ 10.97<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 136,303<span></span>
</td>
<td class="nump">145,796<span></span>
</td>
<td class="nump">140,488<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions', window );">Unrecognized stock-based compensation cost</a></td>
<td class="nump">6,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Stock options</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 2,100<span></span>
</td>
<td class="nump">6,100<span></span>
</td>
<td class="nump">24,900<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Weighted-average period of recognition</a></td>
<td class="text">3 years 7 months 6 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Stock options | 2011 Equity Incentive Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod', window );">Award expiration period</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Award vesting period</a></td>
<td class="text">4 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Stock options | 2011 Equity Incentive Plan | First Year</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage', window );">Award vesting percentage per year</a></td>
<td class="nump">25.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Stock options | 2011 Equity Incentive Plan | Remaining Period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Award vesting period</a></td>
<td class="text">36 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">RSUs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 105,200<span></span>
</td>
<td class="nump">$ 98,500<span></span>
</td>
<td class="nump">$ 78,300<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Weighted-average period of recognition</a></td>
<td class="text">2 years 4 months 24 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost to be recognized for option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of vesting of award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of options vested. Excludes equity instruments other than options, for example, but not limited to, share units, stock appreciation rights, restricted stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=fsly_A20112019EquityIncentivePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=fsly_A20112019EquityIncentivePlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>106
<FILENAME>R87.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698137929664">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Stock Option Activity (Details) - USD ($)<br> $ / shares in Units, shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward', window );"><strong>Number of Shares</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Options outstanding, beginning balance (in shares)</a></td>
<td class="nump">2,443<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Granted (in shares)</a></td>
<td class="nump">602<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercised (in shares)</a></td>
<td class="num">(291)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod', window );">Forfeited (in shares)</a></td>
<td class="num">(44)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Options outstanding, ending balance (in shares)</a></td>
<td class="nump">2,710<span></span>
</td>
<td class="nump">2,443<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber', window );">Options vested and exercisable (in shares)</a></td>
<td class="nump">2,142<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward', window );"><strong>Weighted-Average&#160; Exercise Price</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Options outstanding, weighted average exercise price, beginning of period (in dollars per share)</a></td>
<td class="nump">$ 6.01<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Granted, weighted-average exercise price (in dollars per share)</a></td>
<td class="nump">16.47<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Exercised, weighted average exercise price (in dollars per share)</a></td>
<td class="nump">7.45<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice', window );">Forfeited, weighted average exercise price (in dollars per share)</a></td>
<td class="nump">8.41<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Options outstanding, end of period (in dollars per share)</a></td>
<td class="nump">8.14<span></span>
</td>
<td class="nump">$ 6.01<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice', window );">Vested and exercisable, weighted-average exercise price (in dollars per share)</a></td>
<td class="nump">$ 5.94<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract', window );"><strong>Stock Option Activity, Additional Disclosures</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Weighted-average remaining contractual period</a></td>
<td class="text">5 years 1 month 6 days<span></span>
</td>
<td class="text">4 years 8 months 12 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1', window );">Vested and exercisable, weighted average contractual term</a></td>
<td class="text">3 years 9 months 18 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Aggregate intrinsic value</a></td>
<td class="nump">$ 26,383<span></span>
</td>
<td class="nump">$ 7,674<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue', window );">Vested and exercisable, aggregate intrinsic value</a></td>
<td class="nump">$ 25,620<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price of options that were either forfeited or expired.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest exercisable or convertible options. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of fully vested and expected to vest exercisable options that may be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest exercisable or convertible options. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which option holders acquired shares when converting their stock options into shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Subparagraph (e)(1)<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for fully vested and expected to vest exercisable or convertible options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>107
<FILENAME>R88.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698146412496">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Fair Value Assumptions - Stock Options (Details) - Stock options<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2023 </div>
<div>$ / shares</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharePrice', window );">Fair value of common stock (in dollars per share)</a></td>
<td class="nump">$ 16.47<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected term (in years)</a></td>
<td class="text">5 years 11 months 15 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Risk-free interest rate</a></td>
<td class="nump">4.67%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate', window );">Expected volatility</a></td>
<td class="nump">71.20%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate', window );">Dividend yield</a></td>
<td class="nump">0.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The risk-free interest rate assumption that is used in valuing an option on its own shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Price of a single share of a number of saleable stocks of a company.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>108
<FILENAME>R89.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698141413168">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Early Exercise of Stock Options (Details)<br> $ in Millions</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($) </div>
<div>shares</div>
</th></tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember', window );">Common Class B</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares', window );">Shares subject to repurchase (in shares) | shares</a></td>
<td class="nump">90,977<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Stock options</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_ShareBasedPaymentArrangementPlanModificationNumberOfAwardsAffected', window );">Plan modification, number of awards affected (in shares) | shares</a></td>
<td class="nump">47,882<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_ShareBasedPaymentArrangementPlanModificationExerciseValueOfAwardsAffected', window );">Plan modification, exercise value of awards affected | $</a></td>
<td class="nump">$ 0.2<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilities', window );">Other long-term liabilities | $</a></td>
<td class="nump">$ 0.4<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_ShareBasedPaymentArrangementPlanModificationExerciseValueOfAwardsAffected">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Share-based Payment Arrangement, Plan Modification, Exercise Value Of Awards Affected</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_ShareBasedPaymentArrangementPlanModificationExerciseValueOfAwardsAffected</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_ShareBasedPaymentArrangementPlanModificationNumberOfAwardsAffected">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Share-based Payment Arrangement, Plan Modification, Number Of Awards Affected</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_ShareBasedPaymentArrangementPlanModificationNumberOfAwardsAffected</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(12)(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(12)(b)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(12)(b)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.15)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of non-vested options outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>109
<FILENAME>R90.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698138666544">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Restricted Stock Units (Revest shares), Narrative (Details)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="4">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Jan. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($) </div>
<div>$ / shares</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($) </div>
<div>$ / shares</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($) </div>
<div>$ / shares </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>cofounder </div>
<div>shares</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 136,303,000<span></span>
</td>
<td class="nump">$ 145,796,000<span></span>
</td>
<td class="nump">$ 140,488,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=fsly_SignalSciencesCorpMember', window );">Signal Sciences Corp</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_StockIssuedDuringPeriodSharesAcquisitionSharesHeldBackForRestrictedStockAwards', window );">Number of shares restricted for stock awards (in shares) | shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">896,499<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_NumberOfCofoundersWithSharesSubjectToRevesting', window );">Number of cofounders with shares subject to revesting | cofounder</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_SharesHeldBackForRestrictedStockAwardsRevestingPeriod', window );">Shares held back for restricted stock awards, revesting period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">RSUs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted (in dollars per share) | $ / shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 15.80<span></span>
</td>
<td class="nump">$ 14.63<span></span>
</td>
<td class="nump">$ 54.92<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodGrantDateFairValue', window );">Vested in period, grant date fair value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 127,300,000<span></span>
</td>
<td class="nump">$ 97,900,000<span></span>
</td>
<td class="nump">$ 67,700,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">105,200,000<span></span>
</td>
<td class="nump">98,500,000<span></span>
</td>
<td class="nump">$ 78,300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Unrecognized stock-based compensation cost</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 177,100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Weighted-average period of recognition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2 years 4 months 24 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">RSUs | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Award vesting period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">RSUs | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Award vesting period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">4 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">RSUs | First Year | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Award vesting period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage', window );">Award vesting percentage per year</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">25.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">RSUs | First Year | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Award vesting period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">4 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage', window );">Award vesting percentage per year</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">33.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">RSUs | Remaining Period | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Award vesting period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">24 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">RSUs | Remaining Period | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Award vesting period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">36 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember', window );">RSAs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">27,600,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Unrecognized stock-based compensation cost</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedAndSoldNumber', window );">Nonvested shares sold that remain unvested (in shares) | shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">224,124<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsProceedsFromNonvestedSharesSold', window );">Proceeds from nonvested shares sold</a></td>
<td class="nump">$ 10,700,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCost', window );">Incremental cost due to plan modification</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 5,600,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_NumberOfCofoundersWithSharesSubjectToRevesting">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number Of Cofounders With Shares Subject To Revesting</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_NumberOfCofoundersWithSharesSubjectToRevesting</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedAndSoldNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Share-Based Compensation Arrangement By Share-based Payment Award, Equity Instruments Other Than Options, Nonvested And Sold, Number</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedAndSoldNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsProceedsFromNonvestedSharesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Share-Based Compensation Arrangement By Share-based Payment Award, Equity Instruments Other Than Options, Proceeds From Nonvested Shares Sold</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsProceedsFromNonvestedSharesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Share-Based Compensation Arrangement By Share-Based Payment Award, Equity Instruments Other Than Options, Vested In Period, Grant Date Fair Value</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_SharesHeldBackForRestrictedStockAwardsRevestingPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Shares Held Back For Restricted Stock Awards, Revesting Period</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_SharesHeldBackForRestrictedStockAwardsRevestingPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_StockIssuedDuringPeriodSharesAcquisitionSharesHeldBackForRestrictedStockAwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Stock Issued During Period, Shares, Acquisition, Shares Held Back For Restricted Stock Awards</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_StockIssuedDuringPeriodSharesAcquisitionSharesHeldBackForRestrictedStockAwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost not yet recognized for nonvested award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>An excess of the fair value of the modified award over the fair value of the award immediately before the modification.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of vesting of award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=fsly_SignalSciencesCorpMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=fsly_SignalSciencesCorpMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>110
<FILENAME>R91.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698138342736">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Schedule of RSU, RSA , PSU and MPSU Activity (Details) - $ / shares<br> shares in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">RSUs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward', window );"><strong>Number of Shares</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Beginning balance (in shares)</a></td>
<td class="nump">11,990<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="nump">7,667<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Vested (in shares)</a></td>
<td class="num">(6,719)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Cancelled/forfeited (in shares)</a></td>
<td class="num">(1,694)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Ending balance (in shares)</a></td>
<td class="nump">11,244<span></span>
</td>
<td class="nump">11,990<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Weighted-Average Grant Date Fair Value Per Share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Beginning balance (in dollars per share)</a></td>
<td class="nump">$ 20.10<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted (in dollars per share)</a></td>
<td class="nump">15.80<span></span>
</td>
<td class="nump">$ 14.63<span></span>
</td>
<td class="nump">$ 54.92<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Vested (in dollars per share)</a></td>
<td class="nump">18.94<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Cancelled/forfeited (in dollars per share)</a></td>
<td class="nump">22.80<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Ending balance (in dollars per share)</a></td>
<td class="nump">$ 17.46<span></span>
</td>
<td class="nump">$ 20.10<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember', window );">PSUs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward', window );"><strong>Number of Shares</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Beginning balance (in shares)</a></td>
<td class="nump">267<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="nump">762<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Vested (in shares)</a></td>
<td class="num">(84)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Cancelled/forfeited (in shares)</a></td>
<td class="num">(213)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Ending balance (in shares)</a></td>
<td class="nump">732<span></span>
</td>
<td class="nump">267<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Weighted-Average Grant Date Fair Value Per Share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Beginning balance (in dollars per share)</a></td>
<td class="nump">$ 28.16<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted (in dollars per share)</a></td>
<td class="nump">15.88<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Vested (in dollars per share)</a></td>
<td class="nump">28.16<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Cancelled/forfeited (in dollars per share)</a></td>
<td class="nump">24.35<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Ending balance (in dollars per share)</a></td>
<td class="nump">$ 16.49<span></span>
</td>
<td class="nump">$ 28.16<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=fsly_MarketBasedPerformanceStockAwardsMember', window );">MPSUs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward', window );"><strong>Number of Shares</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Beginning balance (in shares)</a></td>
<td class="nump">2,174<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="nump">87<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Vested (in shares)</a></td>
<td class="num">(540)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Cancelled/forfeited (in shares)</a></td>
<td class="num">(250)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Ending balance (in shares)</a></td>
<td class="nump">1,471<span></span>
</td>
<td class="nump">2,174<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Weighted-Average Grant Date Fair Value Per Share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Beginning balance (in dollars per share)</a></td>
<td class="nump">$ 6.80<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted (in dollars per share)</a></td>
<td class="nump">7.25<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Vested (in dollars per share)</a></td>
<td class="nump">7.84<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Cancelled/forfeited (in dollars per share)</a></td>
<td class="nump">6.69<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Ending balance (in dollars per share)</a></td>
<td class="nump">$ 6.46<span></span>
</td>
<td class="nump">$ 6.80<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=fsly_MarketBasedPerformanceStockAwardsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=fsly_MarketBasedPerformanceStockAwardsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>111
<FILENAME>R92.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698137882448">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Performance Based Restricted Stock Units (PSUs) (Details) - USD ($)<br> shares in Millions</strong></div></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Feb. 28, 2023</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Mar. 29, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 136,303,000<span></span>
</td>
<td class="nump">$ 145,796,000<span></span>
</td>
<td class="nump">$ 140,488,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=fsly_A2023And2022BonusProgramMember', window );">2023 and 2022 Bonus Program</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_StockIssuedDuringPeriodSharesRestrictedStockAwardBonusProgram', window );">Issuance of restricted stock units related to bonus program (in shares)</a></td>
<td class="nump">1.2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_StockIssuedDuringPeriodValueRestrictedStockAwardBonusProgram', window );">Shares issued under bonus program</a></td>
<td class="nump">$ 16,600,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_ShareBasedPaymentArrangementPerformanceTargetAxis=fsly_PerformanceTargetPayoutLevelOneMember', window );">Performance Target Payout Level One</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_PayoutOfPerformanceBasedRestrictedStockUnitsPercentage', window );">Payout of performance-based restricted stock units, percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_ShareBasedPaymentArrangementPerformanceTargetAxis=fsly_PerformanceTargetPayoutLevelTwoMember', window );">Performance Target Payout Level Two</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_PayoutOfPerformanceBasedRestrictedStockUnitsPercentage', window );">Payout of performance-based restricted stock units, percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_ShareBasedPaymentArrangementPerformanceTargetAxis=fsly_PerformanceTargetPayoutLevelThreeMember', window );">Performance Target Payout Level Three</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_PayoutOfPerformanceBasedRestrictedStockUnitsPercentage', window );">Payout of performance-based restricted stock units, percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">150.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember', window );">PSUs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,300,000<span></span>
</td>
<td class="nump">1,400,000<span></span>
</td>
<td class="nump">3,400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember', window );">PSUs | 2022 Bonus Program</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 24,700,000<span></span>
</td>
<td class="nump">$ 14,900,000<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_PayoutOfPerformanceBasedRestrictedStockUnitsPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Payout of Performance-Based Restricted Stock Units, Percentage</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_PayoutOfPerformanceBasedRestrictedStockUnitsPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types1:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_StockIssuedDuringPeriodSharesRestrictedStockAwardBonusProgram">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Stock Issued During Period, Shares, Restricted Stock Award, Bonus Program</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_StockIssuedDuringPeriodSharesRestrictedStockAwardBonusProgram</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_StockIssuedDuringPeriodValueRestrictedStockAwardBonusProgram">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Stock Issued During Period, Value, Restricted Stock Award, Bonus Program</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_StockIssuedDuringPeriodValueRestrictedStockAwardBonusProgram</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=fsly_A2023And2022BonusProgramMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=fsly_A2023And2022BonusProgramMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_ShareBasedPaymentArrangementPerformanceTargetAxis=fsly_PerformanceTargetPayoutLevelOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_ShareBasedPaymentArrangementPerformanceTargetAxis=fsly_PerformanceTargetPayoutLevelOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_ShareBasedPaymentArrangementPerformanceTargetAxis=fsly_PerformanceTargetPayoutLevelTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_ShareBasedPaymentArrangementPerformanceTargetAxis=fsly_PerformanceTargetPayoutLevelTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_ShareBasedPaymentArrangementPerformanceTargetAxis=fsly_PerformanceTargetPayoutLevelThreeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_ShareBasedPaymentArrangementPerformanceTargetAxis=fsly_PerformanceTargetPayoutLevelThreeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=fsly_A2022BonusProgramMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=fsly_A2022BonusProgramMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>112
<FILENAME>R93.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698139419856">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - MPSU (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 136,303<span></span>
</td>
<td class="nump">$ 145,796<span></span>
</td>
<td class="nump">$ 140,488<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=fsly_MarketBasedPerformanceStockAwardsMember', window );">MPSUs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum', window );">Risk-free interest rate, minimum</a></td>
<td class="nump">3.37%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum', window );">Risk-free interest rate, maximum</a></td>
<td class="nump">3.68%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate', window );">Expected volatility</a></td>
<td class="nump">80.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 5,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Unrecognized stock-based compensation cost</a></td>
<td class="nump">$ 4,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Weighted-average period of recognition</a></td>
<td class="text">3 years 10 months 24 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost not yet recognized for nonvested award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum risk-free interest rate assumption that is used in valuing an option on its own shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The minimum risk-free interest rate assumption that is used in valuing an option on its own shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=fsly_MarketBasedPerformanceStockAwardsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=fsly_MarketBasedPerformanceStockAwardsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>113
<FILENAME>R94.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698137907712">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - ESPP (Details) - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 136,303<span></span>
</td>
<td class="nump">$ 145,796<span></span>
</td>
<td class="nump">$ 140,488<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember', window );">Common Class A | Common Stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans', window );">Shares issued under ESPP (in shares)</a></td>
<td class="nump">1,022<span></span>
</td>
<td class="nump">516<span></span>
</td>
<td class="nump">236<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockMember', window );">Shares issuable pursuant to the ESPP</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate', window );">Maximum deduction percentage of eligible compensation</a></td>
<td class="nump">15.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_SharebasedCompensationArrangementbySharebasedPaymentAwardStockPlanOfferingPeriod', window );">Stock plan offering period</a></td>
<td class="text">6 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent', window );">Purchase price of common stock, percentage of fair value</a></td>
<td class="nump">85.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 4,100<span></span>
</td>
<td class="nump">$ 3,200<span></span>
</td>
<td class="nump">$ 3,500<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Unrecognized stock-based compensation cost</a></td>
<td class="nump">$ 1,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Weighted-average period of recognition</a></td>
<td class="text">4 months 24 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_SharebasedCompensationArrangementbySharebasedPaymentAwardStockPlanOfferingPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Share-based Compensation Arrangement by Share-based Payment Award, Stock Plan Offering Period</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_SharebasedCompensationArrangementbySharebasedPaymentAwardStockPlanOfferingPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost not yet recognized for nonvested award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The highest percentage of annual salary that an employee is permitted to utilize with respect to the plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Purchase price of common stock expressed as a percentage of its fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued during the period as a result of an employee stock purchase plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>114
<FILENAME>R95.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698137905216">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Fair Value Assumptions - ESPP (Details) - Shares issuable pursuant to the ESPP - $ / shares<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected term (in years)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 months 26 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum', window );">Risk-free interest rate, minimum</a></td>
<td class="nump">4.65%<span></span>
</td>
<td class="nump">1.57%<span></span>
</td>
<td class="nump">0.02%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum', window );">Risk-free interest rate, maximum</a></td>
<td class="nump">5.43%<span></span>
</td>
<td class="nump">4.65%<span></span>
</td>
<td class="nump">0.07%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum', window );">Expected volatility, minimum</a></td>
<td class="nump">70.00%<span></span>
</td>
<td class="nump">88.00%<span></span>
</td>
<td class="nump">47.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum', window );">Expected volatility, maximum</a></td>
<td class="nump">88.00%<span></span>
</td>
<td class="nump">101.00%<span></span>
</td>
<td class="nump">58.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate', window );">Dividend yield</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharePrice', window );">Fair value of common stock (in dollars per share)</a></td>
<td class="nump">$ 3.33<span></span>
</td>
<td class="nump">$ 8.40<span></span>
</td>
<td class="nump">$ 41.24<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected term (in years)</a></td>
<td class="text">5 months 26 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 months 26 days<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharePrice', window );">Fair value of common stock (in dollars per share)</a></td>
<td class="nump">$ 6.09<span></span>
</td>
<td class="nump">$ 11.85<span></span>
</td>
<td class="nump">$ 44.87<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected term (in years)</a></td>
<td class="text">6 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">6 months<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated measure of the maximum percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated measure of the minimum percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum risk-free interest rate assumption that is used in valuing an option on its own shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The minimum risk-free interest rate assumption that is used in valuing an option on its own shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Price of a single share of a number of saleable stocks of a company.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>115
<FILENAME>R96.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698146206000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Equity Awards Modification (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_StockCompensationPlanMember', window );">Share-Based Payment Arrangement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost', window );">Expense related to modification</a></td>
<td class="nump">$ 2.0<span></span>
</td>
<td class="nump">$ 3.1<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of additional cost recognized for award under share-based payment arrangement from occurrence of event accelerating recognition of cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_StockCompensationPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_StockCompensationPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>116
<FILENAME>R97.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698137503168">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Stock-based Compensation Expense (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 136,303<span></span>
</td>
<td class="nump">$ 145,796<span></span>
</td>
<td class="nump">$ 140,488<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember', window );">Cost of revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">11,656<span></span>
</td>
<td class="nump">12,050<span></span>
</td>
<td class="nump">7,227<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember', window );">Research and development</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">47,827<span></span>
</td>
<td class="nump">58,435<span></span>
</td>
<td class="nump">47,019<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingAndMarketingExpenseMember', window );">Sales and marketing</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">33,703<span></span>
</td>
<td class="nump">39,083<span></span>
</td>
<td class="nump">31,159<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember', window );">General and administrative</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 43,117<span></span>
</td>
<td class="nump">$ 36,228<span></span>
</td>
<td class="nump">$ 55,083<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingAndMarketingExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_SellingAndMarketingExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>117
<FILENAME>R98.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698141427392">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Common Stock Warrant Liabilities (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount', window );">Stock-based compensation capitalized to internal-use software</a></td>
<td class="nump">$ 10,100,000<span></span>
</td>
<td class="nump">$ 8,000,000<span></span>
</td>
<td class="nump">$ 4,400,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">136,303,000<span></span>
</td>
<td class="nump">145,796,000<span></span>
</td>
<td class="nump">140,488,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=fsly_LiabilityClassifiedAwardsMember', window );">Liability Classified Awards</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 24,700,000<span></span>
</td>
<td class="nump">$ 25,500,000<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfStockLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Topic 272<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483014/272-10-45-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 272<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482987/272-10-50-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-14<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-18<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(27)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfStockLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost capitalized for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=fsly_LiabilityClassifiedAwardsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=fsly_LiabilityClassifiedAwardsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>118
<FILENAME>R99.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698142540480">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Early Exercise of Stock (Details)<br> $ in Millions</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($) </div>
<div>shares</div>
</th></tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember', window );">Common Class B</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares', window );">Shares subject to repurchase (in shares) | shares</a></td>
<td class="nump">90,977<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Stock options</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_ShareBasedPaymentArrangementPlanModificationNumberOfAwardsAffected', window );">Plan modification, number of awards affected (in shares) | shares</a></td>
<td class="nump">47,882<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_ShareBasedPaymentArrangementPlanModificationExerciseValueOfAwardsAffected', window );">Plan modification, exercise value of awards affected | $</a></td>
<td class="nump">$ 0.2<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilities', window );">Other long-term liabilities | $</a></td>
<td class="nump">$ 0.4<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_ShareBasedPaymentArrangementPlanModificationExerciseValueOfAwardsAffected">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Share-based Payment Arrangement, Plan Modification, Exercise Value Of Awards Affected</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_ShareBasedPaymentArrangementPlanModificationExerciseValueOfAwardsAffected</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_ShareBasedPaymentArrangementPlanModificationNumberOfAwardsAffected">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Share-based Payment Arrangement, Plan Modification, Number Of Awards Affected</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_ShareBasedPaymentArrangementPlanModificationNumberOfAwardsAffected</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(12)(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(12)(b)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(12)(b)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.15)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of non-vested options outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>119
<FILENAME>R100.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698134260896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Net Loss Per Share Attributable to Common Stockholders - Schedule of Computation of Basic and Diluted Net Loss Per Share of Common Stock (Details) - USD ($)<br> $ / shares in Units, shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>May 21, 2019</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted-average shares used in computing net loss per share attributable to common stockholders, basic (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">128,770<span></span>
</td>
<td class="nump">121,723<span></span>
</td>
<td class="nump">116,053<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted-average shares used in computing net loss per share attributable to common stockholders, diluted (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">128,770<span></span>
</td>
<td class="nump">121,723<span></span>
</td>
<td class="nump">116,053<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Net loss per share attributable to common stockholders, basic (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (1.03)<span></span>
</td>
<td class="num">$ (1.57)<span></span>
</td>
<td class="num">$ (1.92)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Net loss per share attributable to common stockholders, diluted (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (1.03)<span></span>
</td>
<td class="num">$ (1.57)<span></span>
</td>
<td class="num">$ (1.92)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember', window );">Common Class A</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic', window );">Net loss attributable to common stockholders, basic</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (133,088)<span></span>
</td>
<td class="num">$ (190,774)<span></span>
</td>
<td class="num">$ (212,120)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted', window );">Net loss attributable to common stockholders, diluted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (133,088)<span></span>
</td>
<td class="num">$ (190,774)<span></span>
</td>
<td class="num">$ (212,120)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted-average shares used in computing net loss per share attributable to common stockholders, basic (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">128,770<span></span>
</td>
<td class="nump">121,723<span></span>
</td>
<td class="nump">110,541<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted-average shares used in computing net loss per share attributable to common stockholders, diluted (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">128,770<span></span>
</td>
<td class="nump">121,723<span></span>
</td>
<td class="nump">110,541<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Net loss per share attributable to common stockholders, basic (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (1.03)<span></span>
</td>
<td class="num">$ (1.57)<span></span>
</td>
<td class="num">$ (1.92)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Net loss per share attributable to common stockholders, diluted (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (1.03)<span></span>
</td>
<td class="num">$ (1.57)<span></span>
</td>
<td class="num">$ (1.92)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember', window );">Common Class A | IPO</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues', window );">Shares issued (in shares)</a></td>
<td class="nump">12,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember', window );">Common Class B</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic', window );">Net loss attributable to common stockholders, basic</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">$ (10,577)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted', window );">Net loss attributable to common stockholders, diluted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">$ (10,577)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted-average shares used in computing net loss per share attributable to common stockholders, basic (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">5,512<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted-average shares used in computing net loss per share attributable to common stockholders, diluted (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">5,512<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Net loss per share attributable to common stockholders, basic (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">$ (1.92)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Net loss per share attributable to common stockholders, diluted (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">$ (1.92)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities', window );">Conversion of stock (in shares)</a></td>
<td class="nump">53,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfStockLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Topic 272<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483014/272-10-45-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 272<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482987/272-10-50-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-14<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-18<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(27)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfStockLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 5<br> -Subparagraph (SAB Topic 6.B)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-5<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-11<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities, and addition from assumption of issuance of common shares for dilutive potential common shares; of income (loss) available to common shareholders.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 5<br> -Subparagraph (SAB Topic 6.B)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-5<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 40<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-40<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 40<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-40<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 40<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 40<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-40<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued during the period as a result of the conversion of convertible securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-3<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-30)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of new stock issued during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=us-gaap_IPOMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=us-gaap_IPOMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>120
<FILENAME>R101.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698141457360">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Net Loss Per Share Attributable to Common Stockholders - Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share (Details) - shares<br> shares in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Antidilutive securities (in shares)</a></td>
<td class="nump">21,509<span></span>
</td>
<td class="nump">26,175<span></span>
</td>
<td class="nump">19,341<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_EmployeeStockOptionMember', window );">Stock options</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Antidilutive securities (in shares)</a></td>
<td class="nump">2,710<span></span>
</td>
<td class="nump">2,443<span></span>
</td>
<td class="nump">4,369<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">RSUs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Antidilutive securities (in shares)</a></td>
<td class="nump">11,244<span></span>
</td>
<td class="nump">11,990<span></span>
</td>
<td class="nump">5,285<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=fsly_RevestSharesMember', window );">Revest shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Antidilutive securities (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">336<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_PerformanceSharesMember', window );">PSUs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Antidilutive securities (in shares)</a></td>
<td class="nump">732<span></span>
</td>
<td class="nump">267<span></span>
</td>
<td class="nump">71<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=fsly_MarketBasedPerformanceStockAwardsMember', window );">MPSUs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Antidilutive securities (in shares)</a></td>
<td class="nump">1,471<span></span>
</td>
<td class="nump">2,174<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=fsly_BonusPSUsMember', window );">Bonus PSUs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Antidilutive securities (in shares)</a></td>
<td class="nump">1,572<span></span>
</td>
<td class="nump">1,777<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_EmployeeStockMember', window );">Shares issuable pursuant to the ESPP</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Antidilutive securities (in shares)</a></td>
<td class="nump">410<span></span>
</td>
<td class="nump">186<span></span>
</td>
<td class="nump">51<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_ConvertibleDebtSecuritiesMember', window );">Convertible senior notes (if-converted)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Antidilutive securities (in shares)</a></td>
<td class="nump">3,370<span></span>
</td>
<td class="nump">7,338<span></span>
</td>
<td class="nump">9,229<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=fsly_RevestSharesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=fsly_RevestSharesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_PerformanceSharesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_PerformanceSharesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=fsly_MarketBasedPerformanceStockAwardsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=fsly_MarketBasedPerformanceStockAwardsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=fsly_BonusPSUsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=fsly_BonusPSUsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_EmployeeStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_EmployeeStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_ConvertibleDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_ConvertibleDebtSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>121
<FILENAME>R102.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698134354832">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Loss Before Income Taxes (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic', window );">United States</a></td>
<td class="num">$ (137,240)<span></span>
</td>
<td class="num">$ (196,469)<span></span>
</td>
<td class="num">$ (224,159)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign', window );">Foreign</a></td>
<td class="nump">3,931<span></span>
</td>
<td class="nump">5,789<span></span>
</td>
<td class="nump">1,531<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Loss before income taxes</a></td>
<td class="num">$ (133,309)<span></span>
</td>
<td class="num">$ (190,680)<span></span>
</td>
<td class="num">$ (222,628)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 940<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481913/940-20-25-1<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of earnings or loss from continuing operations before income taxes that is attributable to foreign operations, which is defined as Income or Loss generated from operations located outside the entity's country of domicile.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>122
<FILENAME>R103.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698133689488">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Income Tax Expense (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Current tax provision (benefit):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentFederalTaxExpenseBenefit', window );">Federal</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentStateAndLocalTaxExpenseBenefit', window );">State</a></td>
<td class="nump">57<span></span>
</td>
<td class="num">(79)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentForeignTaxExpenseBenefit', window );">Foreign</a></td>
<td class="nump">622<span></span>
</td>
<td class="nump">173<span></span>
</td>
<td class="nump">322<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Deferred tax benefit:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredFederalIncomeTaxExpenseBenefit', window );">Federal</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(253)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit', window );">State</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredForeignIncomeTaxExpenseBenefit', window );">Foreign</a></td>
<td class="num">(900)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax expense (benefit)</a></td>
<td class="num">$ (221)<span></span>
</td>
<td class="nump">$ 94<span></span>
</td>
<td class="nump">$ 69<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentFederalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentFederalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentForeignTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current foreign income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentForeignTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentStateAndLocalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentStateAndLocalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredFederalIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFederalIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredForeignIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred foreign income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredForeignIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>123
<FILENAME>R104.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698141604672">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Effective Tax Rate Reconciliation (Details)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Provision at federal statutory tax rate</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance', window );">Change in valuation allowance</a></td>
<td class="num">(25.00%)<span></span>
</td>
<td class="num">(14.00%)<span></span>
</td>
<td class="num">(30.00%)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential', window );">Foreign tax rate differential</a></td>
<td class="nump">1.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost', window );">Stock-based compensation</a></td>
<td class="num">(4.00%)<span></span>
</td>
<td class="num">(9.00%)<span></span>
</td>
<td class="nump">2.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment', window );">Research and development credits</a></td>
<td class="nump">10.00%<span></span>
</td>
<td class="nump">2.00%<span></span>
</td>
<td class="nump">5.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDisallowedExecutiveCompensationPercent', window );">Disallowed executive compensation</a></td>
<td class="num">(3.00%)<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseRestructuringCharges', window );">Restructuring</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">2.00%<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Effective tax rate</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDisallowedExecutiveCompensationPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective Income Tax Rate Reconciliation, Nondeductible Expense, Disallowed Executive Compensation, Percent</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDisallowedExecutiveCompensationPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to statutory income tax expense (benefit) outside of the country of domicile.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research and development expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseRestructuringCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to restructuring charges.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseRestructuringCharges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>124
<FILENAME>R105.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698141557888">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Narrative (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax expense (benefit)</a></td>
<td class="num">$ (221)<span></span>
</td>
<td class="nump">$ 94<span></span>
</td>
<td class="nump">$ 69<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount', window );">Valuation allowance, increase (released) amount</a></td>
<td class="nump">37,300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate', window );">Unrecognized tax benefit that would impact income tax provision</a></td>
<td class="nump">23,200<span></span>
</td>
<td class="nump">17,300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember', window );">Federal</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="nump">626,400<span></span>
</td>
<td class="nump">658,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember', window );">Federal | Research Tax Credit Carryforward</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TaxCreditCarryforwardAmount', window );">Tax credit carryforward</a></td>
<td class="nump">42,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember', window );">State</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="nump">568,300<span></span>
</td>
<td class="nump">$ 528,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember', window );">State | Research Tax Credit Carryforward</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TaxCreditCarryforwardAmount', window );">Tax credit carryforward</a></td>
<td class="nump">12,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_ForeignCountryMember', window );">Foreign Tax Authority | UNITED KINGDOM</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="nump">$ 27,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLossCarryforwardsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLossCarryforwardsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxCreditCarryforwardAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of the tax credit carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxCreditCarryforwardAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The total amount of unrecognized tax benefits that, if recognized, would affect the effective tax rate.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the valuation allowance for a specified deferred tax asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxCreditCarryforwardAxis=us-gaap_ResearchMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxCreditCarryforwardAxis=us-gaap_ResearchMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_ForeignCountryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=us-gaap_ForeignCountryMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_GB">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_GB</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>125
<FILENAME>R106.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698137739312">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Income Taxes - Deferred Tax Assets and Liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards', window );">Net operating losses</a></td>
<td class="nump">$ 178,149<span></span>
</td>
<td class="nump">$ 183,306<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_DeferredTaxAssetLeaseLiability', window );">Lease liability</a></td>
<td class="nump">20,137<span></span>
</td>
<td class="nump">23,245<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment', window );">Research and development credits</a></td>
<td class="nump">38,280<span></span>
</td>
<td class="nump">21,383<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts', window );">Capitalized research and development</a></td>
<td class="nump">45,418<span></span>
</td>
<td class="nump">21,032<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost', window );">Stock-based compensation</a></td>
<td class="nump">11,765<span></span>
</td>
<td class="nump">10,429<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsDeferredIncome', window );">Deferred revenue</a></td>
<td class="nump">4,934<span></span>
</td>
<td class="nump">2,811<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals', window );">Reserves and accruals</a></td>
<td class="nump">4,336<span></span>
</td>
<td class="nump">4,648<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOther', window );">Other</a></td>
<td class="nump">1,889<span></span>
</td>
<td class="nump">4,179<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsGross', window );">Deferred tax assets</a></td>
<td class="nump">304,908<span></span>
</td>
<td class="nump">271,033<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets', window );">Intangible asset amortization</a></td>
<td class="num">(16,310)<span></span>
</td>
<td class="num">(21,713)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesLeasingArrangements', window );">Right-of-use asset</a></td>
<td class="num">(15,322)<span></span>
</td>
<td class="num">(18,847)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_DeferredTaxLiabilitiesStateTaxes', window );">State taxes</a></td>
<td class="num">(13,032)<span></span>
</td>
<td class="num">(10,732)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesPrepaidExpenses', window );">Prepaid commissions</a></td>
<td class="num">(13,868)<span></span>
</td>
<td class="num">(11,526)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilities', window );">Deferred tax liabilities</a></td>
<td class="num">(58,532)<span></span>
</td>
<td class="num">(62,818)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">Valuation allowance</a></td>
<td class="num">(245,476)<span></span>
</td>
<td class="num">(208,215)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsLiabilitiesNet', window );">Net deferred tax (liabilities) assets</a></td>
<td class="nump">$ 900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilities', window );">Net deferred tax (liabilities) assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_DeferredTaxAssetLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deferred Tax Asset, Lease Liability</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_DeferredTaxAssetLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deferred Tax Assets, Capitalized Research And Development Costs</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_DeferredTaxLiabilitiesStateTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deferred Tax Liabilities, State Taxes</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_DeferredTaxLiabilitiesStateTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsDeferredIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from deferred income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsDeferredIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from in-process research and development costs expensed in connection with a business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from reserves and accruals.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from intangible assets including goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesLeasingArrangements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from leasing arrangements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesLeasingArrangements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesPrepaidExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax consequences attributable to taxable temporary differences derived from prepaid expenses.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesPrepaidExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>126
<FILENAME>R107.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698146167552">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Unrecognized Tax Benefits (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward', window );"><strong>Unrecognized Tax Benefits:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefits', window );">Balance at beginning of year</a></td>
<td class="nump">$ 17,337<span></span>
</td>
<td class="nump">$ 7,808<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions', window );">Increases related to prior year tax positions</a></td>
<td class="nump">2,674<span></span>
</td>
<td class="nump">8,697<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions', window );">Decreases related to prior year tax positions</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(751)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions', window );">Increases related to current year tax positions</a></td>
<td class="nump">3,234<span></span>
</td>
<td class="nump">1,583<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefits', window );">Balance at end of year</a></td>
<td class="nump">$ 23,245<span></span>
</td>
<td class="nump">$ 17,337<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of unrecognized tax benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-10B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>127
<FILENAME>R108.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140698146219952">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Information About Revenue and Geographic Areas (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet', window );">Total long-lived assets</a></td>
<td class="nump">$ 231,820<span></span>
</td>
<td class="nump">$ 248,818<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_US', window );">United States</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet', window );">Total long-lived assets</a></td>
<td class="nump">166,413<span></span>
</td>
<td class="nump">175,794<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=us-gaap_NonUsMember', window );">All other countries</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fsly_PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet', window );">Total long-lived assets</a></td>
<td class="nump">$ 65,407<span></span>
</td>
<td class="nump">$ 73,024<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fsly_PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Property Plant And Equipment, Net And Operating Lease Right Of Use Assets, Net</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fsly_PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fsly_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=us-gaap_NonUsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=us-gaap_NonUsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>129
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( $2O55@'04UB@0   +$    0    9&]C4')O<',O87!P+GAM
M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG
M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGD<Z,STA)8*O4'J@)I9GF
M3?X.CD:?<@X>K7A.YNJQ<&4GPZ4A!0W_<FW>J=0U[R;UEA_6\#MI7E!+ P04
M    " !$KU58F8O>Z.\    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9+/
M:L,P#(=?9?B>*'&[#DR:RT9/'0Q6V-C-V&IK&O_!UDCZ]G.R-F5L#["CI9\_
M?0(U*@CE([Y$'S"2P70WV,XEH<*:'8F" $CJB%:F,B=<;NY]M)+R,QX@2'62
M!P1>52NP2%)+DC "BS 36=MH)51$23Y>\%K-^/ 9NPFF%6"'%ATEJ,L:6#M.
M#.>A:^ &&&&$T:;O NJ9.%7_Q$X=8)?DD,R<ZON^[!=3+N]0P_OS]G5:MS N
MD70*\Z]D!)T#KMEU\MOB\6FW82VO^+*H>,'YKN+B_D$L5Q^CZP^_F[#UVNS-
M/S:^"K8-_+J+]@M02P,$%     @ 1*]56)E<G",0!@  G"<  !,   !X;"]T
M:&5M92]T:&5M93$N>&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M
M3A^%$5B-;'EDD81_OT<V$,N6#>V23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R
M>&#9+]O6N[<OWN!7,B0103 9IZ_PP JE3%ZU6FD PSA]R1,2P]R"BPA+>!3+
MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,!
M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K
MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2
MBW <!.!1NY["G?1LOZ1!";2C:=!DV/;:KI&FJHU33]/W?=_KFVB<"HU;3]-K
M=]W3CHG&K=!X#;[Q3X?#KHG&J]!TZVDF)_VN:Z3I%FA"1N/K>A(5M>5 TR
M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$
MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7<K_WUE[O)I#-ZG7TZSFN4
M?VFK :?MNYO/D_QSZ.2?IY/734+.<+PL"?'[(UMAAR=N.Q-R.AQG0GS/]O:1
MI24RS^_Y"NM./&<?5I:P7<_/Y)Z,<B.[W?98??9/1VXCUZG LR+7E$8D19_(
M+;KD$3BU20TR$S\(G8:8:E < J0),9:AAOBTQJP1X!-]M[X(R-^-B/>K;YH]
M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M
MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZ<TT#PE"\D^DJ1CVFS(Z=T)LWH
M,QK!1J\;=8=HTCQZ_@7YG#4*')$;'0)G&[-&(81IN_ >KR2.FJW"$2M"/F(9
M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+
MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T
M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+
M.7\N?<^E[[GT/:'2MS<C?6?!TXM;WD9N6\3[KC':US0N*&-7<LW(QU2ODRG8
M.9_ [/UH/I[Q[?K9)(2OFEDM(Q:02X&S022X_(O*\"K$">AD6R4)RU3393>*
M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.W<DOJMI2^M28X
M2O2QS'!.'LL,.V<\DAVV=Z =-?OV77;D(Z4P4Y=#N!I"O@-MNIW<.CB>F)&Y
M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_#
M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0
MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR
ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC
MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYN<KGHB=OJ7
M=\%@\OUPR4</Y3OG7_1=0ZY^]MWC^FZ3.TA,G'G%$0%T10(CE1P&%A<RY%#N
MDI &$P'-E,E$\ *"9*8<@)CZ"[WR#+DI%<ZM/CE_12R#ADY>TB42%(JP# 4A
M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF
M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.'<YMZN,)%K/]8UA[Y,M\Y<-LZW@->
MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_
M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]!
MU4#E/]O4#6CV#30<D05>,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04
M" !$KU58GYM3?AX(   ],0  &    'AL+W=O<FMS:&5E=',O<VAE970Q+GAM
M;+6;;V_J-A3&OXK%KJ9-*B5_H-"[%HE"V=CM[5#I-G737IC$0'23F-E.:;_]
MCA,@I'(.9 KWQ2T).4_B7VSG/,[A9L/%-[EB3)&W*(SE;6.EU/ISJR6]%8NH
MO.1K%L,W"RXBJF!3+%MR+1CUTZ H;#F6==6*:! W^C?IOJGHW_!$A4',IH+(
M)(JH>+]C(=_<-NS&;L=3L%PIO:/5OUG3)9LQ]?MZ*F"KM5?Q@XC%,N Q$6QQ
MVQC8GT=N3P>D1_P1L(T\^$QT4^:<?],;$_^V8>DK8B'SE):@\.>5#5D8:B6X
MCG^WHHW].77@X>>=^CAM/#1F3B4;\O#/P%>KVT:O07RVH$FHGOCF%[9M4$?K
M>3R4Z?]DDQW;Z32(ETC%HVTP7$$4Q-E?^K8%<1#0LTH"G&V \R' ;I<$N-L
M]]2 ]C:@G9+)FI)R&%%%^S>";XC01X.:_I#"3*.A^4&L[_M,"?@V@#C5'_)7
M)L@4;C%IDM]G(_+#IQ^)7%'!) EB\C4(0[@]\H)\TIMWV\V;EH)S:X66MSW/
M778>I^0\MD.^\EBM)+F/?>87!5IPT?LK=W97?N>@BB/F71+7OB".Y;B&"QKB
MX6,VOR3V51K>-H2/\/!?DQC.;IG.7FB-N[\/;JKGHO?A[\%<*@%CX1\3X4RA
M;5;0$\1GN:8>NVW #""9>&6-_O??V5?63R8Z=8J-:A(KD&OOR;4Q]?Z(>PE,
M1(H\OZ^9"1L>;EO-+R8^:%15/C6)%?AT]GPZI_$9Q'%"0_+$UEPH$RA<1XG$
MA'>(1E4%59-8 =35'M35::"F3 3<UQ,5@3G5V*>.*.VFIM*Y"8VO"JTFL0*T
M[AY:%VWJ,!%",QL'TH/.]<*H0,'A:LVF[31=VT0,#:Q*K":Q K'>GECOQ/E*
M4$B?TNRG?$SB6@L:2N.@1,.JTJI)K$#K>D_K&FWA?:P"]0[=*V3D,8GF3)@H
MX1J693?=7N^Z:R*%AE8E59-8@91MY:F<=0JK)[8,=!8!7>R11L91>$1H/)@]
M/[Q<D,GC\-+$# ^O"JTNM2*U@P38/H7:)/:X@%%(]8"\(#,%$QCA@@QY$BOQ
M#G]],TI<?71O!(@&5098DUH1H),#=$X!^$S?R,2'B2U8!%Y*$1FP1R2=;K/3
MMNV>:\K,AWAP97HUJ17IY7F_C2;'.WH#WP=U\%G;#^0!CB._Q>8^ATNVNQUR
M!^,_IC'T8P'6$/IS$D!_=BW+"+16,U"76A%H;@=L/*'_"'2HMV @/_--;(2)
MR\T XAA@>I#@<".\6IU"76I%>+E7L/$D_R.\_30X%?PUB#US=\0UAP,CMEI]
M0UUJ16RY<[#QA/\CMBF7"K+AOX)U^7,#5[QNVY8Q7\'C*G,[AW>P<_-@'W$/
M*37!:#DF7*#7-C\A:G4+=:D5(>5^P<:3_ >NG=5TQ6,L!3XBTG:=9K?7N3;2
MJM4MU*56I)7[!1M/]I\#!5:!+XCM_##_D<R8EPCH949DN-(PI%)F5S: _AE%
M7#].N??M@GRR+BWXYY UV-U7&II71G#]RES/82Z<W%PXN"< M^H'\9+,WJ,Y
M#TTXCPB,9P\OQF7:6LU$76I%2KF9</!T?]?=R/V;MZ+QDI5:L"-"CR\SHW/
MPRK3.H=S<'+GX)SD'/YD8=C\%D-^!L.52ICG?#*1,C%/=$<T7YCI[<00CZK,
M[1R>P<D]@W.29_B#A^!-J<B61X3QK<P1I4=C2HL'589U#C_@Y'[ .<D/[!8J
MLZ6V=":#W#8Q0\,5R[I8K4:@+K4BM=P(."<9@4FLF,C>S>HE7;K#:*2&*Y91
MJ]4'U*56I);[ .<D'Y .1S($Z[3DPIAZ'-%YH (>'0//8R $,GXF:>17JQ^H
M2ZW(+_<##I[.;_G-(AJ&Y"Z1\+4TCU!<IW1='(^K3.L<QL#)C8&#Y_1;6O<1
M$TL]H?T,"FJE4]4UC<W=[G^^3L#C*F,[AT-P<H?@X'G]9#A^(H/$#Q079* 4
M Z^>+E>.0[HT4L/UREZ,XF&5H9TC_7?S]-_%L_?]6ZMQ$.O%,'"DZ=I0NN]>
MB'2E'!X-'DKRR$E*^Q\>5[E:X1P>P<T]@GO2"X?9"M)>;+ >D2F'5:M%J$NM
M""NW".Y)%F&:S,/ @W[%J3'WP%4JU\;4:A:V:IU43=?AO?:=F]:K"<M!M=!)
M#J"X*C'+RK9^2Q3,:+%VZT94]98196I7!XVSW?9EWL M@W-X #?W "Z>L>]F
M+WGPF@^2JKE^6;I@D-":%[:/J$ZUD>"QU*M-:L6(V+]X_?Z[GF-W?Y)DQ!9!
M'*3I\U3PM_>#25.PD*8^1/$T6M>A[6ITOC*6?@7"Z;U=\= '@T?@_I+@0PO$
MK@7P#4A-J5!D,IED%Q7(8MD/T9,S%Q'194]DLV*IH*]?V#'_DLP2;X5=\R:
M*6O.R *R41^V(-O0E[Y=]0B@\T&_R]<^=/<,9%HBJH\-8F([%O'I.QRW &.1
M!C.(* >XR.I*WG5="=.5@W!Y'M.+H/O:/^,K:OS651["YS!C;F[&W)/,V!!N
M@0 8$^#P1KXP\U,#E[(LR^[8W;9M+$O"@RM3.X<9<W,SYIY8SW58FS2&G49'
M<42LK) +#ZM,[!SVR\WMEXO;IH_$MH5PY<QPN;%QO1</JDSL'!;,S2V8BSNF
M >#R,V1E*>__M%QX7&5,M5JNUD&]N3:?:=V^))XNE<E*S_=[][\-&*05\:W\
M\.R'!5^I]JZ2A&P!H=9E%^8,D=7J9QN*K]/J]3E7BD?IQQ6C\#34!\#W"\[5
M;D.?8/^+B?Y_4$L#!!0    ( $2O55BK3<P-00(  ,4%   8    >&PO=V]R
M:W-H965T<R]S:&5E=#(N>&ULC93;CILP$(9?Q:+27JT"@82V64#*H5$C[5;1
MIH>+JA<.3(*U/E#;+-NWKVT(3:4$Y09[[)G?W]C,)(V0+ZH$T.B-4:Y2K]2Z
MFOF^RDM@6(U$!=SL'(1D6!M3'GU52<"%"V+4#X,@]ADFW,L2M[:562)J30F'
MK42J9@S+/PN@HDF]L7=:>";'4ML%/TLJ?(0=Z&_55AK+[U4*PH K(CB2<$B]
M^7BVB*V_<_A.H%%G<V0SV0OQ8HU-D7J!!0(*N;8*V ROL 1*K9#!^-UI>OV1
M-O!\?E)?N]Q-+GNL8"GH#U+H,O4^>*B  ZZI?A;-9^CRF5J]7%#EOJAI?<./
M'LIKI07K@@T!([P=\5MW#^<!\96 L L('7=[D*-<88VS1(H&2>MMU.S$I>JB
M#1SA]E%V6II=8N)T-J\+HM&&M\]K[BGQM9&UFW[>22Q:B?"*Q#A$3X+K4J%/
MO(#B?P'?\/10X0EJ$0XJKB ?H6A\C\(@C ;THC[)R.E%MR:)?L[W2DOS2_RZ
ME&^K-KFL9LMDIBJ<0^J9.E @7\'+[MZ-X^!A@'72LTZ&U%M6(=$7S. 2VW#T
MRE09T1K0'6;5 _HJ:E/%Z/%Q.T V[<FF-Y$]BOSJGS*LL,,<K27F.5&YN$=+
M3(EY$D[P %W<T\4WT:V)9&BSN@0W+!!-+E'X9Z7%0!Y= U$H%S77;97UJWV/
MFK>E^<^];7!/6!X)5XC"P80&H_?FLF3;-%I#B\H5ZEYH4_9N6IH^"](ZF/V#
M$/IDV /ZSIW]!5!+ P04    " !$KU5840?L7=X&   @'   &    'AL+W=O
M<FMS:&5E=',O<VAE970S+GAM;*U9;6_;. S^*T)6#!N0-'KSV]8&Z-+M-F!;
MB[6[^ZPZ:F/,MC);:=?[]4?9:9Q8LM+A5J"M7RCJ(47QH>B3!U7]J)=2:O2K
MR,OZ=+34>O5F.JW3I2Q$?:Q6LH0WMZHJA(;;ZFY:KRHI%LV@(I]2C,-I(;)R
M-#MIGEU6LQ.UUGE6RLL*U>NB$-7C.YFKA],1&3T]^);=+;5Y,)V=K,2=O)+Z
M^^JR@KOI5LLB*V199ZI$E;P]'9V1-W/&S8!&XN],/M0[U\B8<J/4#W/S:7$Z
MP@:1S&6JC0H!_^[E7.:YT00X?FZ4CK9SFH&[UT_:/S3&@S$WHI9SE?^3+?3R
M=!2/T$+>BG6NOZF'CW)C4&#TI2JOF[_H82.+1RA=UUH5F\& H,C*]K_XM7'$
MS@#"!P;0S0#ZW %L,X UAK;(&K/.A1:SDTH]H,I(@S9ST?BF&0W69*59QBM=
MP=L,QNG9_.+KU<7G3^=GU^_/T;NSSV=?Y^_1U<?W[Z^OT 1]OSI'KXY>HR.4
ME>AZJ=:U*!?UR53#S&;\--W,\JZ=A0[,<B[38\3(&%%,F6/X_/G#Z?[P*=B[
M-9INC::-/C9D]+JJ9*F1J&NIZS<N>UH%W*W [*TW]4JD\G0$FZ>6U;T<S5Z^
M("%^Z[+N#RG;LY5M;64^[;.YJ)<(5@VEYD+^7&?W(@?CG:O8J@H:528!W,\(
MCA)*3J;WN_8XQ#AC22>VAY1OD7(OTB^B^B&UN,DEJF6ZKC*=R7H,FZ!9+!?<
M5E^T@X,2'B5)#ZXMQB(>Q -P@RW<P OW+$W5&OP(R2R5X%3 /48E)%YUBT0.
MZ5&4J420:%%:R46F4:X@W&KS^B@:XX WJW(4C#%-(!+-<XAS6=S(:KM5&I&G
MIVU(/&V#,<Q;KV23!?-'EW<"RVQ",4_BGG=LL3@)HMCMG'#KG-#KG,M*KD2V
M0/(7\(VQVABB]!)L2_<VGPMX:"\KYD'0P^V0BA/&W+BC+>[(B_M::9$_ V)D
M3<Y#%D:LA]$6 RD>#X",MR#C \X%%J_T8^-4LZ-7P*NZ"3X7UMB.@R@,<3\.
M'&(Q9D.!D&RQ)EZL%X!4Z*R\0[D$MD65H=6)NIVLX:;U[R#PQ$(4!)30'FY;
M*HPYQV[8!'>\B+W _U)J\9#EN9/LL#UGA%D0]J"YY4@<#(#;(6WB!?>IU**\
MRTRJ/.##C:(]")1'_<WD$(MI@H>\V!$M\7+;4$XO53GQY/6-TCW0..X'K$.*
MA '!0][M&)/X*?.BR5/#FW\S?'?B!$=1GW9<8C2D= !>1Y/$SY-MCO+ L_F.
M!#0@29_&78)Q$A(RD)](1XTD>%:!E6?B)LN;17=66<1+L;];9OTI;?M&=Y1'
M_)RW+0A6XM%$O--@F[4"<'A_86PI'L7AP*ITW$;\Y 8 J[7L2-D)T$%9)";6
MWG.)D7"@I"(=LQ$_M7W(RJ9L:LEB)WR\=2!Q<%< +- ';8M!R1#P = =Q9'?
MX[AGP[:IBW+,^P3G$F.8#H0#[1B.^AGN8J\<VP'M/ _95,9QP/HYSR'&.$L&
M7$P[PJ-^PMNORPYAM<D,C@5ATH\'EUQ &1V(8KISO/2SWF=5WDVTK JTD#?.
MI:<V=X&? ASU(=IR$>81&2!FVG$<]7.<9Z,=(&=JTQJDT'[0NJ2"7?OV<7?D
M1_WDY]UKAY#;?,=C;J4)AUA(&!^*BHX4J?_ V.ZW?!L;AZ+8/IAQ3OHEID,J
MPM%0;NBXC/JYK-UOAQ ZR(P'4 CW,=IR"<=),%"HT8[0J)_0YJHH,FT./^T!
M,U6E"0U9IH 8O?JJM&SYG>#73@.\ZMT% W(V>/Z_HGT7=(1)8V^E=:55^F.I
M\H6LZI<O8DJBM\V14#^ZVUI>^OWMOM8?TK9O>\>[U,^[\QR*8'2&3!BH$M7&
M%6-TA(\Q_% HPRIT+_*U?(O(&)X\_:)Z*2K3DECKI:JR?Z$B:MLO-THOW=V6
MMA%CVBZ@B]%QDM QH6'SE% ^9BP<DX@\:<[JVM193<]CK6LXJRU,QA+ZD/;#
M31UJ%P/6=G/4"^Z=QKI:@?EKA;/%(C-M=T@*IJ\SR4J4BE4&2<+91K2K *@A
M \K[QTZ78!B&! \D,-85#,Q?,$"MNR[6N=!RVW=2!43ATGR!N)=-,\X)W:X)
M)@1;S1*76$*'2G3650[,7SGLPE[(VRS-G$S&[+)@$C,XUO=IV"488?#Q0$7&
M=MK*_@*B98AZ,/TX83M.Q%'"K9.]2RX(2##0BV)=]<"><W3>H;5FY_VF$=SN
M?CN/URY!Y_%ZNO/YQGP[^R*JNZRLH<*YA9'X. (55?LYJKW1:M5\T8&$I571
M7"ZE /A& -[?*F"^S8WY2+3]*#C[#U!+ P04    " !$KU58>E#AID$#  !2
M#   &    'AL+W=O<FMS:&5E=',O<VAE970T+GAM;*V774_;,!2&_XJ5H0DD
M()]M@;612E,$$H.*PG8Q[<)-3AL+)\YLIV7[];.3$+402BJU%TV<G/?-.8]C
M][2_8OQ9Q  2O20T%0,CEC*[,$T1QI!@<<HR2-6=.>,)EFK(%Z;(.."H$"74
M="RK:R:8I(;?+ZY-N-]GN:0DA0E'(D\2S/]> F6K@6$;KQ<>R"*6^H+I]S.\
M@"G(IVS"U<BL72*20"H(2Q&'^< 8VA?CGHXO GX06(FU<Z0KF3'VK <WT<"P
M=$) (93: :O#$D9 J392:?RI/(WZD5JX?O[J?E74KFJ980$C1G^22,8#X\Q
M$<QQ3N4#6UU#54]'^X6,BN(;K<K8[KF!PEQ(EE1BE4%"TO*(7RH.:P+;^T#@
M5 *GK<"M!&Y;@5<)O+:"3B4H2C?+V@MP 9;8[W.V0EQ'*S=]4M OU(H72?5[
M,I5<W25*)_W1_=WT_O8F&#Z. W0YO!W>C<9H>CT>/T[1X01S2&4,DH28'J$3
M]#0-T.'!$3I )$6/,<L%3B/1-Z7*1/N98?74R_*IS@=/#2 \1:Y]C!S+<1OD
MH_9RIT$>M)?;#?)Q>[FU*3<5_7H*G'H*G,+/_<!O*K$$M?0D8G-T15*<A@13
M-&&"%&OIUW F)%<KZG<3Z-+;:_;6N\R%R' ( T-M(P+X$@S_ZQ>[:WUKPKY/
MLV"?9N,]F6U,D%M/D+O-W1]2M9NJ60&D]F44L7PFYSE5>US(\E0VOOZE8:<P
MU%OUTN]9':]O+M=IOP_J6,[Y9E#P/LAU;7LS:-P0Y'AG==!&U5Y=M;>UZA%+
M$O7VJ1TH?#Y&&>9HB6D.Z% M_8A1BKE &:B?G%CM$D=-$$K_L[6L'#BQ.F\H
MM(H*MN:ZZ\NT)[,-K)T::V<'K 4\@7 N8\;)/X@*O.751J:E>6^-EFV]?MZ
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
M 8A-(9R!:6 .A)8+EV3HPK ,F8 91?-WJ:9X#9^ZJO99M7ZJ/XT!T)7-(;.
M<N@+23F+":@E6SKFSW -<8/-YWHM2R\U"QMHQT8- >=T@"0"K.82(!R?T*D!
M%^J[E^YKQ=&R.EIT-=VH&5,V67J;;<878-3)1<]=@9VUM.1<I0U#:UB)NEGI
M>M&-S6HM)K/[5"U68 1MH)DQ16M@.D)2&K( D"Z2*J02;+S-&$RB;DSZ4DHU
M3BV?QJBVH11-KUCL%3]IO!\=B*F-.U'HVP[F0#@380"Z!E+R,!Q/7E #4M0-
M4EU?'W=C<\Z,P@ERCJ0L8(AQD92HI:NC\@Q 43= ]:URESZ.-DD;9U@$T@)
MIP(/5M@)4!(^SH/4\!&=X".%0WMIVB*T V GC (PLP!E1"/4O6RASHB,&S*T
M0]VT\_F(;PX&8.C-QI 9I3Y(\LVQ- 3)@P1+U1IRW*"!'.J&G+9+3=FRN23T
M!3(%8(ASP*>P1#*.Z-3P#IWFG29Y\Z)+7[[4*Y'[;*G>W#["7":T;*,*$ZC3
M ?H1L6"V-$%2%O%A5QZZ-A1$XV?E_-L%QPDI6^JDJV<3PSE+2\Y5VG 7Q< 8
M<V>1ONS+Q3K5,ZH"Y6U:?I>U'J*]2JIY=;3A,#O;,R.,4@82+4C+@H"'8(Q#
MVIA&)!A/F#$#1VPBD91NGFO3)AH:")2E $HB2$S 0 >D0@1T'!V8H23FIJ2/
M:=VY>9Y-&V8X8Z$ 1 &D 0M\;N>A$B E*AZ.W"<[V/QS,]*[?:4^J10&+OY4
M*[U,)R>J5\VFCC+>C(S-7\KCG=/.L T[EE%$68IZP9"'I.0H%SST:<B)39#3
M\K[)5BMP:A:S.K6VZWKL\])/S*8ARS)"*TIB,+,Y2QMZ-5C%W%@U&(F>80R0
M%O%CE+*'TC@.[?Z<("GC$1GG1V9PB[EQZTM9+*1<=I-8I4:E9SH&6V-@,0-E
MJ/F"+3E':IL9ZF)NZIJGNZQ.-]E?#:'4LLS339,RJXI5_9"6<!W ;&::44+!
MC<^1E$0$I!03*&5'4]#0IF$QYF:Q0;L]:9.0N3)$G;=)20(D,^K'XZ#%#&@Q
M=[II B\1=T&?8"\MYC&8+.9(RH(P /DU()V%,0_(^%*(&QSB$[FI(\1<9;D:
M@$] 3'[6I-192TO.5=HPIH:[N)N[/CSMN>JIN5!MIZR;#I(7M>SG[.F-66YS
MDW7\9%*2 $G,_# <IQ)N\(M/)*G:6;KJMYY/,#6Y63>?EB1 HH:WP-$A#&EQ
M-VDU':))O6GV:%P-$^S0%<H[$3] /1]I21CZ(/F3 .V8P8.#3V[$^BIW!]76
M]G=Y6B*$ V"B(0$\,8=2&J 5-)*JRA3C4S(WC,7=C-749IL;EFV-J@Y?E]FB
M5F\KO=&N)N=-<QXJ[=!3!>5IM%>==]FB-HR&C4Q6%&P)\44 ^,M9V-"\X2[N
MYJYA4Y9IN7GLZ>LP#&N%)MBA:_^M<PBR6&,63][-XP:YN!NYNA'H^#A(I6;N
MLMW/U=9OT>H)&@;8Q%D,%OE :?D]>=^/&_;B$^PU0&GY0Y:+K.K;;-^FB]VX
M17 6"9WCF0-A '?-@)!00<=7#MQP&7=SV9'=[6Y3/$K9F>S7A;M-"@_'<!N<
MH@!LY,R!\'AOH[,*2O0="]_ <%C@3DM-$"C",GA6$^6>&&F.SQV[1EH2Q02L
MK1*@C9GJY>,S;F!P*7#CTOO52B[:V4C^6#1[I9[JO HBNGU3U8MU:%ZU =)+
MQ7LUBJD)[%6S=CP8RK0 A@6DH'RP4PQT,Q:#7 \2<L=N6&"8*G SE6X(6;XH
MF_GXQ5*VKU[J&>I_#0* )A8T>7PK#D!*&:<H$B#KY3,_<K0,PV+!-(N=:-A+
M:^]6WF5YKCN)3B_(,BM@,BP YZ:X"H2]])HCJ1"Q *LT(!4L&O:[81@,L05N
M8GMF&*3>*78& &P4JMX0H@"@/448JP1)K5@-(W!PP-U]POUFO]MMI)[ITTUS
M(&M35/M2]KE/O8!5/:1]O$G-?/@<^WD/LI_W)/O_XRA[8$@Q> XI-KDKU:Y@
M$&V((P':"05"*L!^<()*C!WGO0,#A\%4/F[HRIPW[5?AI5SM\V75+Q&@99OC
MU)0*'-NZ9N?$,@QTPC%U&#@,(F<O^53D36\X2%>IH>#DC$[@1,]G]X]SEI:<
MJ[1A9 V'!I,<VN2JVR)55-L7?=:Z^WS9K1;;MWG1??XHNQ>Z+;:OLKS]OZDO
MU3B[93AN?^B8&YJT;1V!"7 DC*@C(R0,Q@HWQO[>-3S-<GJ].7M:HIRP,A$V
M8QY;G)8D0,)]AS6#J>*_.Y:O9B"3]J^+TS/_ F3FT-[,' C#&.U2 2'GCB-
MPE"I<%/I=7M:L;BM4_67)E_2L[H>7(]/#!>WF^PN':]JL*L:HD4H$-)8H-/P
M0,DH#\;G$6$P5+@Q=,K\,(<V97UZ*Q9(FKT!8-I6,A(XCA ) YUB^@')_.F1
MJ<[LX !KZQ8?8]4?%_KA.!6MAZQ>>]MBF:VR11N61JTZR5;%;3Q.:'.6HZ,(
M0,D(14WDY$U<8<A4N!.,'SI6,IPQ: W8&L@*,HI:/SCOSR+ WJC$,!@_NRP.
MGG*<V+M]2K(,LVK']=MGV-3(>-M5ZZOF.0I]</!VK]M2&R,8D.D\(Y T:RL[
M%"=G&84!2>$&R43JQ%.?,]]U9W.[@=^]>2ULVHN$0,W8%@8D N<\@7#,H4%'
MX<XK?NV/3RL4WC3UJJ:R-C-\G"[6\R!T.KW+.RU)@,3*)P]-&HH3[N-T7[L'
MH[/^$<)G9%14DU?Q*![T8S]>O=9)2!6FODWTRU#<X\]Z'N^LI27G*FWXS+$A
MQM!-C,TB3<?[N!;@T\;@.4X_C"E8C2$I9_ !%B05"C+&V2$TU!BZJ?'K=%XN
M!$?IP+IQ?J(N ;HQ&X;_0C?_'=G0B^G-?MG]D,#$^?UP>LMW6I( 212/']8/
M#=V%;KK[5N@Q_'_,K7;?$0P:)DZI(>E(2@U)1U)JEP<_[;*5Y5WS$SEZ.M[G
M=?N3*?VG_<_P7#<_/G/T^3OR.FE_3,<4T_ZVS\>TO,L4O6WD2A7I_Q2J^RK;
MG\MIW]3%KOD!F=NBKHMM\W(M4\4,6J#^OBJ*^NF-_H+^1XNN_@-02P,$%
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
M/'<-XZF*LMK&";>/,1?L3MDE*9(5[:BO^.L2T<GR"RM1X>)T?/[!K/MP&"O
M^$"7FA_U-H(;%!5M3D*#VC^( S7V_0+#V&T&\:VF=I0=5QX47"NL=S#Q-0\]
M5R$L]#2)D@M<*.QO.,TC,-1WR^OQ%%\$H;;7,M: -1.-Y3LC^9"-%3\C S6Y
MM< Z4'.9A%\D[<IA,A.-&S7\;25D9<Y$U$AS[L6<#Z7L1D!U20LA;:(7-X^8
M]'17+'/H11J3)&O<5FQ<6(:X3N^C??*^S%'0O[:7?+@SI1\MWG=%^STWN<RU
M4IL(Q7 [JI]#V1"^M=ZDY2\H],>,?#A TV5H%\RC_ W)\"0]E+1A\I<SNBAR
MI0>"8J8Z^5;_:?,EG3\4,#7;T..6[WQ<8%!;W?@L&K_">X6T_$9[]]XY?W%A
MN'-XC,NY.Q<OLH^Z)J@O6<!"CN<I4'NVU2NM)64V#:<LP",6-0V_SJV=Q?P\
MZY/J6%?GHDCX]DQI+AJ17EK,%0-B!K8%?=E);[ODJDO1N.%6R3 %VM\]CHQ)
M1WPEIK19MG29L+  MIS7-#HE,V-ISH&07D5G#2S"+85:WQF=+VC=P@%^Z]14
M^5;&AQPET)*R2EES7*)M36BX(4)H%8.KT-!$ ,TT=]K]AKU4E*P' T&)778E
MK](.U;1>Z>7GKW^(=G9E/?42EM&4X@:W*M/G<^L 9[<N^HI@ZRF%P,T&;ELD
M_D9]!9(,J.#:G^\3$!M#H=;Z3K?,N%-@32X]E# OB[S0?RSJB>";$&!*W+K,
M-5Z^*Y)1PW36R +U/?=-<,EH.-]K1Y\:N>5U(A#GF\^'QET\G^RY]HB?U,S=
MWF1_>7DY$1MYUM\WYUWOCE;^%3CYJ^=_9CQ'J+<P\U/:4:0@V>&8CC FW;/F
M!!@.5L.(X)OM0]LD&P=T\]75GZ-BN'0:R8&;9\X G@N <HU)U"Q!4^9$A'O<
M-=//LSY_C2OXN* @5"VSX-1*%;NC(B3)O[YDB;.1?H6?-+\4L;A4&G)1"CHH
M\^T@5=1+7M28)A>9CK3H:^8& @72U_2*.TD&"J1BE*'DNX]"3"! [_5(=#6R
M6?AVS0RTL+92.FEF8L: 4?OEU;/^]:MG94?_;.B_MKFG?V%4OLW[_/4KVMB=
MNR&/!_> U_WW9\_/HF^Y6/+[L^OGWUY?G3VC-\/CKU\=R4[\F?:"3;_*;>G5
MRXN_?'TF!R?L0]\<>4@^\M(W!_RY=SF)2'Z ?M\V36\?> (.8@*\U_\'4$L#
M!!0    ( $2O55A-K"_.HP@  "X8   9    >&PO=V]R:W-H965T<R]S:&5E
M=#$Q+GAM;,59:X_;-A;]*X0[VVT!U=;+KV1F@&0FB^V'+H(D;;%8[ =:HFUN
M)%(AI?&XOW[/)259]GB<1Q?8+QF9C\O[./?<2^9ZI\U'NQ6B9H]EH>S-:%O7
MU8O)Q&9;47([UI50F%EK4_(:/\UF8BLC>.XVE<4D#L/9I.12C6ZOW=A;<WNM
MF[J02KPUS#9ER<W^M2CT[F84C;J!=W*SK6E@<GM=\8UX+^I?J[<&OR:]E%R6
M0EFI%3-B?3-Z%;UXG=)ZM^ W*79V\,W(DI76'^G'S_G-*"2%1"&RFB1P_'D0
M=Z(H2!#4^-3*'/5'TL;A=R?];\YVV++B5MSIXG>9U]N;T6+$<K'F35&_T[N_
MB]:>*<G+=&'=OVSGUZ;S$<L:6^NRW0P-2JG\7_[8^F&P81$^LR%N-\1.;W^0
MT_*>U_SVVN@=,[0:TNC#F>IV0SFI*"CO:X-9B7WU[3OQ(%0CKB<UA-'0)&LW
MOO8;XV<V1C'[1:MZ:]D;E8O\6, $6O2JQ)TJK^.+$N]%-F9)%+ XC),+\I+>
MM,3)2RZ;QM9&E^P.NAI  .ZMM^S..588]J]7*^O&_WW. UY^>EX^I<L+6_%,
MW(R0#U:8!S&Z_?Z[:!:^O*!]VFN?7I)^*3!?M)'=2\LW&R,VW,%?KY%#?J9;
ML=JSC= ;PZOMGDGKT)TSK*VWF)0%)&\8SW,89VD_#6>MY\;LE95YZUR:^%7)
M&KO?U[P6-F!*,XUAI#^$%-BG&P1@CRQT7U@)0F&E-@*[N6)1^)>ABC1)4O>"
M&\L$(8P!'Z)<062'$?=OS+C*Z2,:LP];VEF :$CSFJ]PL N-JJT3=Z?+BJO]
M]]\MXFC^TC(%UC-/O2'A9[&!UUZP?T*!Y\[WQ]/1[ =)7M.-A3+VQV-GL"N6
MS,,@C5/ZBF9!E"[Q%<_"(%DNR8^<O>697./8>1PLY@F;+H(0?Y)ED"YG[$UC
M0,(LC8/Y/&3)(DAG2Y9,@V@^9Z^*HG5TM R6T"0.@S!)Z5<\7; /NN9%;^(5
MFX;38+E8X"M-("Z>DDK3-$B2T'FOY/_11M;[+MRG#NLD 2VY,.#3W", 'A:F
M,M(>$&+'[&</I;4TMF:?&FZPB"3[X WDLZ;*.7E,(E"E@"=S7>C-GOU )\?A
M2P5Z'XR[T>CECQ2T'<*UQ4:6\2)K"N=Q$M/IX:%'NXW,@$RILJ+)"2#>.3T7
MW-&Z '36FW(\Y8#&K=69=+JV$L>(-GSAS,$V0O5!T>"L9[S[UDA<$C@8=^34
M^U@Q\9BUN7<5A0AL&#+]T)X%VI(N0Z/XIY*8F%6(B,[_9!I0Y@UT)IN55C^=
M->.(,)[8_JW)\^;<40 LDB*=QP38Q2Q83!.734F0S$+VC^<T3.?!-)IA+](J
M9FD8+)%!7Y,4A]B>0/!;(LN5:G@A_\!DUA@# 7U67 PZA50ZV3W&<X)^S3^Z
M"$,[-%6G_"DX\J+/ E) ^DAU9U)L2W0OLBKV) <Y!*%KW9C_%X9.?/R_1M L
M#=*I0] R"2+_%2'VT>("@J)@FLR(BJ?$R, @.I^O05#?>:QXP15"ZWQ;RY(<
M.PB9$9G>H&Y0L2[YGN5RO8:U?8$][)#J0<O,Q44/Z?;#@%"W0!_*:J,RK7(G
ME!2F%M5MTHJJM_&MP6XK% 7?RSVA3^O"1\J9'-_T)>0#X>'XP,.*K#,87"E
MJ ##<%O@SQM4DM9R2@M/(M"PM_&SIQ22HU=!S7(G(?D$,BOOY%\\S38K*SXU
ME(?'1]Z?2&F+!ES#2RH%UK5'F!\&P,'>5Z-N&T5!:81>.!WZ@\FE+@:V[CNK
M1@'KQ!N5-A06-R'R#<!8Z ;#2'NZA#&@?..3JNW1[%,USF6H%2 =JNUD=F9D
MY8)/?2L%'0U=:QKZL1J:/PBO=HL*W[!Y!CN2@)*Z:FIG)BXC=-L2><"X$6VP
MJ*JKKN^S R X$Z0Z&-YY#>?(0\AR@0NHJ]<>JKZK;+4>Z)F+ OV(\4$Y;E4_
MG/%&Q?>E"[PPI>T"XC/%L@?<3XD+>Y#5^PI0HE4;H9 W10$L<K5I&V"D.0Y=
MABSG>_L-Y'F<,KTZQP"7!#^'BJ=4V/; \0NTD^=7G!^/3ZGS[D23*S8#OUZA
MGSQ,#16B:@PJ#>DC#*9I>MGX$[*C7,@!RK:(7>SV>QN]R[M$;#/3(<E%_0DO
M,,#9W6C0TBO5<JCK6%R_]"5%YL1)[YY:T9[N13ZOX5=K1Q>%13!##T,WAB">
MISB='EMH)9:X9QE4%:97A?17/?L<!GS+W5T*1:M@=Q[T4I;[MQ+0<"8ZFUJP
M_O4 4^ 0\<U<&P+<F\\JY"AEA^1$LEN,V;6DHF^0A> ZETW#B1U@?A4GT_&<
ME41Q6K4=4*MQS\;KIFX,Q;PL95T/*(2XRCO0=IU/UW$=C' ]6<^; 2773N ^
MQ>V3,@(^DW23]9$]+I]'!.GYG]QFA._3GO.)8ZZ^./3&/RWCPG,J>9J65T8_
MT,T[$Z:&VW&\?YIS;UPK#2J6+M$^%Q/2MJ714Y^@<< M$'@$U?>(19[V+PE:
M^62E$!9H5L>7(==9(QXK08<XS+2IPW@%BQXE+!" P<*_ WR9"?U=2(G'&O<@
MYNY!]CSA@\)E-C"(ZAB1OS?YN.4!U#H3 8N"4G^S;4L%]6:G]6&,TZPW3*]<
M5 8-RG.,3'SVA(^#9^K#L?1!O"BIN&T9U_YI_N\[GUY]=W;@^GL4@PA];N0Z
MWF *J?=?2-XG3S7'L!C0Z%4T'4^[I _8U6*\['ZYS5>S<=(/P!X0 @CD#P_,
M+N/@I_PY,U"("(/H%(J]PPDU^\Z[1QU+RQF6%\)7XY*;CZ(F6PG$R@K;W5FH
MLW%VT"0Q@RZD?\RP]/Q3NKI'.5.UA&''YYX')X,W7&!PXUZJK7^\\,^Y_6C_
M&/[*OP$?EON7]%^X0>Y:9.8:6\/Q?#KRK7_WH]:5>Q%>Z1J =Y];P4%HM #S
M:ZWK[@<=T/\7P>U_ 5!+ P04    " !$KU58RX2'IB@+  #N(0  &0   'AL
M+W=O<FMS:&5E=',O<VAE970Q,BYX;6S-6EN/V[@5_BN$-UC, )H9ZV+9GB0#
M)-EF&Z!I%YMD^U#T@99HFQM9=$AJ)LZO[W=(ZF*/[23;+="'\5@2>>[GXSE'
M?O:@]$>S%L*RSYNJ-L]':VNWMS<WIEB+#3?7:BMJ/%DJO>$6EWIU8[9:\-)M
MVE0WR7B<WVRXK$=WS]R]7_3=,]782M;B%\U,L]EPO7LI*O7P?!2/VAN_RM7:
MTHV;NV=;OA+OA/VP_47CZJ:C4LJ-J(U4-=-B^7ST(KY]F=%ZM^ W*1[,X#LC
M319*?:2+-^7ST9@$$I4H+%'@^'<O7HFJ(D(0XU.@.>I8TL;A]Y;Z:Z<[=%EP
M(UZIZI^RM.OGH]F(E6+)F\K^JA[^*H(^$Z)7J,JX3_;@UV;C$2L:8]4F;(8$
M&UG[__QSL,-@P^S4AB1L2)S<GI&3\B=N^=TSK1Z8IM6@1E^<JFXWA),U.>6=
MU7@JL<_>O:GOA;&PLC6,UR5[S:5FO_&J$>RMX*;1PCU[=F/!C+;<%('P2T\X
M.4$X3MA;5=NU87^I2U'N$[B!E)VH22OJR^0LQ9]$<<W2.&+).$G/T$L[U5-'
M+SU!;Z#J3](4E2)M#?O7BX6Q&M'R[V-*>Y+9<9*40;=FRPOQ?(04,4+?B]'=
MCS_$^?CI&8&S3N#L'/7_QE=_"F'V?BW8*[79\GKWXP^S))X^-<PJRRM6<+..
MW"<3GQIYSZN.&'+]H[!\40EF1-%H:26L7"CDM;&B9&K)+.@N506 D/7JEKTP
M=!/N%IN%T)W+Z2-A%[+&>M48T#:7[!6Q)#:'O&_]HR<LB:,DG^-+ED>3.&<?
MKM]=L_?:Z;4;BC1)HEDZ9DZSY"E%K]@%Z=FR 3<B%><YF^?1;#HA2VR$+B34
MW_(M!(V3*)_D'8'WG66."LCB\32:)S&+LS1*YS%[>\Q0MZ?E?<*F:91E,])Q
M!E*S&4326Z6Y%:Q65GC[+Q2)'H\GT02R8U,<3;/LL?3)))JG62?]BY6HBUW8
M/8]FD[A_9(RP5PM>?(3[!@*USV,8YVU3RT)N0?W(@B1*H#=0%9A9LY6Z%[JF
M"'/RFF:K><T)LX_OAIFS21K,>S2Z$(F-UD20W)]%TSGY/YUFT606GS$2+("5
M<3:.YMG\I)JS.4NR*(:GSXI0J_JJ%R./QC/R5)Q/(OCBW%82.AE'L]D4WR;I
M/,IG^2"8OBO-H'4RBV9C8IW/TF@\G;HL[K*-A2WN3)9?R!SE[XU+S$(9&[&5
M5L:PID8 5GA>LA5.>L\2B&E(4_J^),BX=Y"A1<5IOU5G@I]N\GLN*V)_A>+B
MRO!]T57M<($7A4<<$I900U6R=/07O.)U@3UT^('B"=0@3H=WD],@\V*CM'6*
M_NPT]Y\.$;\=>L[D+*%,DI$[\->&]),6?!YEY1.'*GFZM_AB>AD>( C_(&R0
M"!05%]EECR1G\(.R#A$Y9Q?S-+[$=0P\.0*"!"-9#X(7<7+90LN9A&J7M_]Q
MZQ$ ]=ATD5X&2/)I<220Y.!(\_B8CBF?$K+DQ7SB+)C,\BB=IB=B(7D4"Q_Z
M+/@967 F-K[?*<D\1J)/]OV<1OD\2/HU@,=I',5P4&>C+,KF\&U"83)/3QH?
M4);'@VVPR27=3-/X.(@G40K3]/X=(QK^&*!#LLF05#Z_W ?WK_IUDLT@Z$%R
MS*(\<T;KL',MM& /]%$K *45FN+U -&4#H#&EEIM&'%S87$<6.V:6T]2BZ+B
MQLBEI&*FL;0'H-5L&@^#"BBF&8&8%FOJ9NY)"UP+=D$,+W$%J/3+V@?B,[HN
M(RYQC*#Z^"YHNQ[JF\S<HFD^E!VAR@E*K:P;1*Q3FVV5D:Y/@JGA!;;QQ;NS
M2KT"_1-">/@GQA%,8;;"M5G5[IKM597.4/?HJ6 1P(14I2QX5>WHE) EULCE
MCF0PD@SMC'$%&]=75FPHXI$N$L> U([>-<6:.QYV@FO#!+48)PSD1;-]Z<I*
M65+ZD.>4QC%4#VFS8LWUBJ( '"1$'_B_% M[8$A:L7<J&8M_7FF8"\VS=I$/
MD?^NAFR<T=<PZD*(.HA"T>)/O0$3;O:%5[A'TB-JH#;9#SUN-=!B+[^I#H$>
MD-7"I?!")3\*,CMLZ\BX0!XR>%!-!5 A?^%(TZ)G<80\UBV53P)*^IT+_@XU
MJ8*@GEF2PQI-3B49]KU!-B@%<A+=+3%KY2F15[A#1AX4%Z%;Z&& =",]2CRD
MB@/R2=O5($OT<4H3^[ZE 8G7LD;I0"#PID:SUWA_44P50EN"]L#GL-M9=AME
MOS&BM*V:TE4H5 NL!2P((@M>?Z3Z""5,0PQ@)8$B :'DLZ9[L.4[?Y=X%EQK
M5^W D.XIWVZU^BP)N(:F"!IC"VZ9-8Q.V-;YW3& :\CJWDGB,TE)5B& <TU7
M3\U%./D3=6$PEW\@R3U+YYL0BJ"#Z%D)MM6R$ $*^Z@A'8D)K(D8XW3N$(P@
M=EPHH;>NS9( !;'(%[*2=L<NL%)\AN,<28)$QPE7M3^ 0&!#T<3+>UY;OA($
M7&US%K"@8]73):B#,Y%:FH*>6',_#EH(^T"9%VAL.6*66+G$]=PW?>_+*+E;
M9(5%.!9H(:Y@:CVTXAK77!?K7<0>UK)8DP:*//)%F!"XVP8<&B-<A'@6Y.P!
M$6Y"?8Z*X6\"8,KB<+S]8T$S!8=%@9!IP 0;/C6*XMV9SR.\P^&@7D SA[,%
M':QD*3,T%4+F:6"6!&9O/ =_,#F\",)XCU-LJ4Z>B GI%I9 B,+"V,2P;J^B
M$X*26$9N<,KKXT)%CS5K5>JDH/3WZD:TNSU)G?1'1*4U!:<( $!IK1:NH$+P
M[H:+0ES []Q+V2P [;"?/[4H>1I@(N%6"Q8GK$J)Z"V7!LM^J-4C1W:"HES"
M@1<$ @WK)7:5BQ/)J8K@;D,LX#0>U\@+%ZV_-^7*?<%&X"1!!V+^>CC ::/;
M^"/LH(6)3G6UI PV67C#]8BN![*#Z-UGTI5&W\7F*)<'Q)?L8Q":A7"%(PN.
MA-H[59PL+N7,?M'8&,JV$%1M\OO8(L"JX%"J5>\]NM%:HQI=!*$VJA05B%AX
M]PL]#!0>^?.L&0;RM$XDS[L:41H_$RM.5?H1K=OKN2+?5]C'?07\->BB(@KD
M[ZK0W1ERHG'8\T?2C?&.8.&>@QZ=Y6;/\\!6YPT7_=Y7(4%H]N[J(QJL+ A:
M>O-3!89ZN3&M*[MLPC4--I"RWYCK"(*CP3%$JL'9?SVH)4+^N]%(#P!MHI4A
MJD.AMY<TI!:G9XUVAX&KF<[,2)G=;7UW,A#E]$RCS9G65P&-0I=U;*RQ-\TX
M,@E]TLY"AYU7_RT\/-GNMBL/1JZGAB"#R=]PP!HN!W/6X80IR)!/HFS6[T''
MGT^2[^[/V^UA3G)P>;HK[T0-XY+#ZY.J'DQCOS)!&8Q-3DU0VOO[H]SA%.4X
M%'<2A)'DX?6O^S!]>WBCG\7&D_&C.0_=\]P/X?[\ZN5ATKF82^-\,-49!F0Z
MGD8YF>3$I.=_D2'A-<'Q# D/3\1N>'JH?[C]1X.W'2(=7G\]?-LATN'UU^(Q
MS)$.+K_AW<"?^J;@VU\<]$@41D>'U_\WT3Z?1N-D,AAR#8,K3_-H&L>'PK$'
MU-]/QM<)PS%6N7?B+AT6J)C/#$]\*7,H<3M]WSND*F%1/SFB!XTX&K\*D8DB
M66OJ'7TQUD_1"AQM-)@+([G%[FC[39R].%UO?&8TYB<_CKQ3<3"GP[;64:'9
M>\3J]*N&ZV/O<F\&[^ !Z2OW2P,B S']Z_CN;O=CAA?^'7Z_W/\2 OF]HHED
M)9;8.KZ>3D9,^U\7^ NKMNZ-/K2R:N.^K@5'CTL+\'RID,?A@AAT/_&X^P]0
M2P,$%     @ 1*]56 O;C".F!0  X@P  !D   !X;"]W;W)K<VAE971S+W-H
M965T,3,N>&ULG5?;<ALW#/T5C.)FDAE%6JUDQ_5MQL[](5-/DK8/G3Y0NY"6
M-9=42*YEY>M[P%VME,1Q+R_VD@2! ^  A,[6SM^$BCG276UL.!]4,:Y.QN-0
M5%RK,'(KMCA9.%^KB*5?CL/*LRK3I=J,\RP[&M=*V\'%6=J[]A=GKHE&6[[V
M%)JZ5GYSQ<:MSP>3P7;C@UY643;&%V<KM>2/'']=77NLQKV64M=L@W:6/"_.
M!Y>3DZN9R">!WS2OP]XWB2=SYVYD\:X\'V0"B T7430H_+OE%VR,* *,SYW.
M06]2+NY_;[6_3K[#E[D*_,*9WW49J_/!\8!*7JC&Q ]N_98[?PY%7^%,2']I
MW<H>S@94-"&ZNKL,!+6V[7]UU\5A[\)Q]H,+>7<A3[A;0PGE2Q75Q9EW:_(B
M#6WRD5Q-MP%.6TG*Q^AQJG$O7EPU 3LAT M7S[55$JIP-HY0+0+CHE-SU:K)
M?Z!FDM-[9V,5Z)4MN?Q:P1B8>F#Y%MA5_J#&EUR,:#H94I[ETP?T37M'ITG?
M]#\X2LJ6=!D"N']9?&YTT&GWC\MYB!Y\^?.^0+1F9O>;D1HZ"2M5\/D 11+8
MW_+@XO&CR5%V^H 3L]Z)V4/:_WVV_H<:>F-T+*HAO;.(_"^6WJL-38Y3 O(A
MQ8I%?*7L!J6$8'DN:9)E/Y%;I,-;%[5=$N,H;DC;R/ _RNE7BI\\?G2<Y]EI
MNYD6D].G0U(4W"*NE6<J.C-AQ8561G\1O=JBV&[11%;L:>7=7RAK%()%YT"/
MB!0=*F%(:%-T,)V-?D:Q&"/9Q,5"!9@'DG6EBXH.CD=9?[Q6@2HV)6J[N"$L
M A>-%Q=$E0:;:ZL7NF@)4QBEZT -MGWR&EYBW86@9K_$OEIZ;D%MG7WK3"GZ
MM^Z.Z"5LP"NYM6'EB:5L"*3G>@X56^(/Z6 VFO1@.SM;=0E\J4%6/6\B[D='
M!?N(7DRA0B@K"+(/NR0DQHL*S]*Q!<).&8S0G+]2F,^H;NMZX0P:^!:SVBN7
MPK@@^Z6*/*)/WYSR'7)9AGW^2!0FST\#S;W 49+T1,>UCA6@B^@NUV!#W5A)
MB C/D>4H+MVGC^\ 7:" 'V53"/D6+'&&J0W(<I.(%(E5T)(_A_Q:=PO<I"(8
M:-2&)>?W*N_I&2*BU3JZ*XC"-58")J1)O(!K074O3X#N^;;FBEW-M4I6C2\J
M/"Q K0M..47K,!K=7GEMH!V1!_^X3.]/2:X%B.K2==I>*.WI5IF&MPS1)>@'
MVN(0E:CL4L\-G)16E]APD.]*8)CJ(^U.1D<]UR3:#KH\6?3'O:O93FB8I);.
ME8D\<CK-1X?;X]:__KCU#)A;K^(^;5,'V7H0-A:5I!G!PJ A$L*,[XC7L[K/
M4>2BLLZXY:9/_8C>;.WK0-9%4$NXD0+2EC@R@H2I.\G$R@4.(WK7Q4\E*11*
MY&<&X\-]X5QSU[.\3MEI,["KER>)4*X)4@=/3^B3B\K0JSY[3>!%8\CH!2=9
MZ0?A*7I!6P'EOE<'=#3-:$8OTF2 W( H;?NN]"K0\Z.,IO3)JY+)*GAU-!'I
MUN+WR/L^?D#Y,,LR>MVQ]X&6A*=@S1*TQJ>;>T22RMG+S[.$#3)H 9CB)*Q]
M<_#W1K)2M_@&'03N.@U4D,.F1Y<G53L?]9>V$:,S:)>"/04=4\A&]-J[NNT>
M4M)=(O80M:\8TJFL/"P(7L#PMM\>$X(YL_A2F*9,,!/)I?*%/9(S+Y<[TG[;
M)@KDPAE=MH79FT+3B.E- ,QK[RB-TP!PRQ:<%P-[8*3O=8]R B1V$Z@T4J0^
M,^="@3@)0H6NY] []CSZ$=I_1->ZN]G&MS<XNF]Z&>_-G>GMD^E:0H!>V(Z@
M_6X_P%^V<^M.O)W^WRL4//PUO,#5;/3\<$"^G:C;172K-,7.703STV>%'R'L
M10#G"^?B=B$&^I\U%W\#4$L#!!0    ( $2O55C;:-%I" @  ($5   9
M>&PO=V]R:W-H965T<R]S:&5E=#$T+GAM;*U8;6_;MAK]*X07# Z@VGJ7W"8!
M\M)B!;J[HNWN/@SW RW1-F]ETA/I.-FOWWE(V983Q]V& H8L4>3AX7E>^% 7
M&]U^-0LA+'M8-LI<#A;6KEZ/QZ9:B"4W([T2"F]FNEURB\=V/C:K5O#:#5HV
MXS@,\_&22S6XNG!M']NK"[VVC53B8\O,>KGD[>.-:/3F<A -M@V?Y'QAJ6%\
M=;'B<_%9V%]7'UL\C7<HM5P*9:16K!6SR\%U]/HFI?ZNPW^EV)C>/:.53+7^
M2@_OZ\M!2(1$(RI+"!Q_]^)6- T!@<8?'>9@-R4-[-]OT=^YM6,M4V[$K6Y^
MD[5=7 [* :O%C*\;^TEO?A+=>C+"JW1CW)5M?-\T&[!J;:Q>=H/!8"F5_^</
MG0Z] 67XPH"X&Q [WGXBQ_*.6WYUT>H-:ZDWT.C&+=6-!CFIR"B?;8NW$N/L
MU0UON*H$^^P\X+WR9H9>%V,+>.HTKCJH&P\5OP 5Q>QGK>S"L+>J%O4AP!B\
M=N3B+;F;^"3BG:A&+(D"%H=Q<@(OV2TV<7C)WUKL)]%P*VIV)TW5:+-NA6&_
M7T^-;>$J_SNV?H^>'D>G\'EM5KP2EP/$AQ'MO1A<_?A#E(=O3G!/=]S34^C_
MS%#_$HI=-PA2]PYM[+85M;3L@S8&TGQ9"!]#TCXRJ9AUSY5>*VL0GI60]WS:
M"-8MW3!I&#< (DSSFET;IF<,)A7+J6AW9J5+3)>(#1VJ7ANN:G/.;L1<*B75
M'&'G"9^Q+ CC"?Z3((DB]Q^G);NNP1/\#;/:\=IQB-$_PS4-<Q9-<O9;*ZUX
MI6<S<%,UX_7_$6+(,5C"CS^4<12_8<.\+,_9,$J2<W+DP_F+(,S29SP^MDB2
M+60AS+=_K.6*( /V'\A[\$[LWRF\JT!9&O)!*$.\O5B8\AMR/5'J5B]7:XM>
M- > *1$2[]UT8!K'*;@F[@[LPPG[()#-%KJIF5RN6GTOO YED(<9KDF1LG?K
M5DF+R'#(,_E@793$093&+ J*2<Q^F<TDI-E/%05Q7.(:%3E\"ZP4;UZMC6!&
MS^R& VM2!#E6DN=!6I8O"C1OX7<L29)@ HF3, [*9,*NJVJ]7/O K07BK)+>
M=9TYE[JU\D_?,(RR(DC"A&P9PP/RZ/RD,<X8&&/M)=V5(=9?LKMU2SJ2:1X%
M;YF@Q/;<*('K05;@ZI%B0<^5_!,]N2)MN6R=,M6"MW-!9CU+1PFR>=. :$ -
MFX6L%NPL&87;9L#X5<*E5R=H4]-9M(?KC^/UO?/;%7_TMJ6H)JJK=0LRQG$Y
M#CYR\;[9A@O;()17K<3&+9O'_ASBH1*P4_5-%Y2J:M8NG':.T%>MUG LI2T
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
M[3]Q:V?U'4?[C4#UR_>E@+S$56% -F!IRK5>RV8!O%9M8T'-8;'=CD2">T#
M6G!M0%": %ZRJ&="]Q?MC.(@ (XWP0T>JY! #%S"7WCNY#%WY*6#H5J#2LP%
M3,5"-@W!F?&*-[F YY"D'O.SF$9APC(O?O2'YU]:J5'[7*L:9JW!8!D#N:IG
MLN'$)09>/,L"/W@%8<@B?PQ($%C^#1:LUJ+)UX!ITYB*=\2#GBB,B@9>?,**
M1DK#\/FI#R_#\075R2&T,$YV0%*$%S\"CV+FENDR;E6]Y,W:04Y?F4Z!D0Y;
M(4RNY0RU8<C>*2L@[GV;;E7?[J@>.C ;E5#( AIED9USI0OT%"0N2$TN4D[H
MA0"TLG?WB V+C%?G,X!MKK_+ W]XF((,&OQJW1A*K^,)M"\-V-&(R$?-O$ON
M'%V5QB(NU.T0N_3#B[H\:?"X/(#76M'];$OB@5<M>I#G;=UBAJ )+!)MY;]=
MMKQ#E_;V_F\%>_7P9M_=2[AU7QI$K467M::42T,I.&99XN'@99"Q* TO<!CY
M+,S2)XO^F,590(NQQX(TPS \X =_B>"LR,M&56JQIC4_]##M Q8%T076 $N]
MI!?C]81)>@$!BI,0[C4O!#2\1EX)V=BG@RR.T$J89%M)P.*$-+$P2L@QH2DG
MEEI911]37A3(9P8U1&R<10B4C5,/-3#/CQYE4>J3+/9#F/+\,X+MJV#_/V#8
M[Y!=_+OHI??*8CX?YM%S\#%N&5K!("4)B[PQ!2G! *1$/CYFB=>M1AG6>D2K
M6<#&:./^2*;F1^^)81T?AIL1"VTCR)!@.L<V;'XR4%JX3P 6\*$[IIU]PG8*
MK'J2<T.XV<U \15;1B-@A;3]//"&$38N584K#*?^,-U.'122!(\;M@SQ(]3
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
M$ 6'(5>)">D /@=%A3*6JIR0=Z147#;W*U4WKDU=> 5T_67:[*+E@NH0'+T
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
M_\V$_Y*;C'^G,#<YNC7^N%(2Z986X/["0+;PA0ZH?KCR_+]02P,$%     @
M1*]56/2TWI>,"0  5!@  !D   !X;"]W;W)K<VAE971S+W-H965T,3@N>&UL
MI5G;CMLX$OT5PA,,9@#%M[XGW0UTDKD$F.P&N<P^+/:!EBB+$XK4D%2[_?=[
MJBC)LMO=.[O[DI8ILJZG3A65ZXWSWT*E5!0/M;'A9E+%V+R:S4)>J5J&J6N4
MQ9O2^5I&_/3K66B\D@4?JLUL.9^?SVJI[>3VFM<^^MMKUT:CK?KH16CK6OKM
M&V7<YF:RF/0+G_2ZBK0PN[UNY%I]5O%K\]'CUVR04NA:V:"=%5Z5-Y.[Q:LW
MI[2?-_RNU2:,G@5YLG+N&_UX7]Q,YF20,BJ/)$'BS[UZJXPA03#CST[F9%!)
M!\?/O?2?V7?XLI)!O77F'[J(U<WD<B(*5<K6Q$]N\ZOJ_#DC>;DS@?\5F[3W
M;#D1>1NBJ[O#L*#6-OV5#UT<1@<NYT\<6'8'EFQW4L16OI-1WEY[MQ&>=D,:
M/;"K?!K&:4M)^1P]WFJ<B[=O75WKB"C'(*0MQ%MGH[9K97.MPO4L0@5MG.6=
MN#=)W/()<8NE^  )51 _V4(5^P)FL&TP<-D;^&;YK,1W*I^*DT4FEO/ER3/R
M3@:'3UC>R?_BL'BG0VY<:+T2_[Q;A>B!FG\="T-2<GI<"572J]#(7-U,4"I!
M^7LUN?W^N\7Y_/4S+IP.+IP^)_V_S]G_(4Y\;'U> ?9BO.TN"%<*I$;5*^6'
M]&0B5KRQD78K*ED(X^SZ952^%OGH.+@$OT,D(5[=*]LJ_#4RJD+(M5<J;?M!
M3]4T0]'9@HM"M $\D8E&*0\#V5@'C1X%8?&F$!1IG</JC<;V>^FU:X.P*C+)
M9:+4#Z0B!+ =U!;.8_&]A8'8TY\6C7?WNE ^C#3$2OOB92-]W/8G?YR*+R-W
MI0D./D.=LR\/O7LZ#H.1=$K:'&%8&34*PQ31AC6B]*X>Q_?[[RZ7BXO7D*(M
MG4O&-LI+RIXPBI(VTI8);7/3%O120SF8P^62J7%W:F__IM)Y!9?NE5@I9461
MB@,1U%;\S44E+MB(Y>O?2%E(Z0=)Z;JM1=E&*J.QOWV.HSOJ2--#;7Q&'H>:
MV"@(EQ1#@\827D%:"OFG+N1CO/Y]</"G![2S S1_<5&:XT#_ 9[&"OE!<,./
MI/E4O!"GE]GYU14>%O/L]'*.A[.K;'%Q1>_/Q'FVF)^)D^SBZD)<95?S)2V?
MB\MLL5B(93;',LXMYY>TCF>L=F'D9RQ>BM/YL(9'P P-MP1^AM7#O\F'%^+\
M))N?GY-IY]G)!1E[<96=0L9G:50"]%?X^$4^[($W=[9H<SA,R.C@X&R@1-?T
M/F+_'ZW7H=!Y>A,K[]HU0A,YEU^MILQ^CD@P(/N^.X=\X"T4[AW.&.V HZO5
M2^JI!2D@ (46B$-6PV!M&Q*R(S5R9*:U.N^,XS-",@X /Q+C[%%D[3S:KUD-
M3>WJ#TP(A$EM"^WY.1E#:FNY!?C'NW+E(X:=GA?25OP.<.8)?Z?B5XU.[F&Y
M,=M#EJ3:CV*EC2$'B!D-S2P4%!;5N6D+5B/SW/F""YY)[I>[NX^/)<(-["*N
M2VS&,Q31#>67DJD>FM3F&."/+$;MH^!UI BMX"E)63$QQ4I&2#5:PF(=DSJF
M!^2S]9YT6C9=R-JU-G8QV6D$RU%(@>C@+&1NA0I1U\0,Q'40CI:)H>I9KW;Z
M(?[%Z?0$O&,,SWG0_N)B>KY;>()!:",>EAGI:Q2/AV;+ $$X>IL2P!)((2R
M73PJ[9O:$NK:NND0O2-7LAHA'MEWE.R\XXI+7NX''SE)W#L.P$H9#>54H@DT
MZJ$-0ZR# WV1]EW3"8EGW6,TOD]50MOBT>R#"(%!S !'31_YS?K1?,TV: H"
M$78>6P1HEV[7F@*]HRRY48/$-%5!ZF?<B @U,&2(^%3\IM80\4'&2%WX9^Y\
MN JP0_C[&!D,P./U:E@6PITK1?E)-N=&ZAJ:/A/AU)TBRO3H)#-8:[N"C[IC
M)% >$5?:3J6+$8\BQ^7!-4D!\E2B!Q-"GGM*2QI_QD-67VU#COLJ<R%0"0[5
ME](MXUX J*".5--!#=).IE<2^H@&.S\"$@$18 V>=! $>O\XA&0#TEWB D13
M#29*P*! :>"^Q<<T7F\X\\2J&*=:3KHCQOP&9Z-;*R90'B_D  RA@!.$_PDB
M7[4!ND+(.H[@TMZQ>]8-0R2(6IJFU8Q)589*E#0I3/_J])J"LN,<BI]>6UV"
MQA%2SB:&/DXG)VH_IP"!@R'$XPR*%/O#2&;C"*:L6V"NE/?.<\8[M.VA  I'
M^4:=!8UE]O-0VA@#."6IICLP].<&E#W"$%X2612J3E[SL#@&CK)<-R@.)T($
M.*7GA.\=&$WTJ=G $O@N/8T=+1!#!O6)G=(<%EH*<)H2PW@6WD\1KX>N<[-*
M]-;* 7.5]+5AF%#!>*7K%2NBTX-Y"%%">9] 1=, T53JPT,_6VV/'\P$<DW=
MP&R?!2OOMA0H B+?Z95/0P,@8[OO$PP2XL-=PT9<:*&_U4S%+[V^K N-6QF]
M[L8AHB.C:]U-V(GATLS-;8G"5-+%B6/)*(!E$<\9[&BVGCY@,(C2:(.L*IY$
MV@195!F"U>U: 2S \Q/-+2B$CIL?$"DC#R&Q\W-D,BLC#ZU:8Q&% Q!OT+;+
MUJ!]AVXJY6WWVIGNME(*(S=$W0-3RZ8Q@!N!&3",+;5MVD;1D(D#N"O3!6P8
MT9[#:1BEEN!!IXO6#P9P6?7[$YG6\H'O/8VCD!(#[;BWNPLU<IOD[[$WLR0/
M1'^VVJ?DU2!)T$#!-\__;&QKN\2_!OXW-*)D!QW">^(D;;O&E,@A=\38PT0[
MON,>0<_Q1'<7;NZI[ E;PEG=GS%E[.>L_>9#1,O>%'N5+'I\\8VDA./]A3P-
MZ;B 4T;(MDIS91%FC2X53PK<8SN_>,[A+2Y/PT;>M]@*R$$W0H4G\NMS6TH"
M5D^@G7I&<Z=<T+BSD0G"^R[PYQZ:.J4]>G*_9AX'8]C(PT8G8)>YQ@'JNG>
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
M>DM_;@0'-(,/P._KNN[T!4Y@/E_\XO\ 4$L#!!0    ( $2O55@CAS:O-P8
M +80   9    >&PO=V]R:W-H965T<R]S:&5E=#(P+GAM;*U8^V_;-A#^5P[N
M4,2 8NMA1W::!(C;#NNPI$;<KAB&8: EVB8JB2I)Q<E_OSM2DA]3T@>:'RR)
MXMU]]]U+S,56JL]ZP[F!ASPK]&5O8TQY/ASJ9,-SI@>RY 6^64F5,X./:CW4
MI>(LM4)Y-@Q]_VR8,U'TKB[LVEQ=7<C*9*+@<P6ZRG.F'F<\D]O+7M!K%N[$
M>F-H87AU4;(U7W#SL9PK?!JV6E*1\T(+68#BJ\O>=7 ^&]%^N^%/P;=Z[Q[(
MDZ64G^GA77K9\PD0SWAB2 /#RSU_S;.,%"&,+[7.7FN2!/?O&^V_6M_1ER73
M_+7,/HG4;"Y[DQZD?,6JS-S)[6^\]F=,^A*9:?L+6[=W/.Y!4FDC\UH8$>2B
M<%?V4/.P)S#QGQ (:X'0XG:&+,HWS+"K"R6WH&@W:J,;ZZJ51G"BH* LC,*W
M N7,U2W&_0^I-<RY@L6&*0[7QBBQK Q;9AR,A-<RSY&_A9')YXW,4J[TQ="@
M;=(P3&H[,V<G?,).$,*-+,Q&P]LBY>FA@B&";I&'#?)9^*S&-SP90!1X$/IA
M](R^J&4BLOJB)_2]9:H0Q7J?B;^OE]HH3)Q_NAQVZD;=ZJB8SG7)$G[9PVK1
M7-WSWM7+%\&9_^H9L*,6[.@Y[3\Q;,_:Z?;BQXS#C&F10('"&0F7**RML-"0
MR+RL#$]A^0BIN!<I1F*W%1>75GAKBXRGI^R>*^P93H$&[#;:L,)*I96BB]EP
M,B%D.H W(K/*?]!V6HM_@W4/1)%DE5512L,+(UB6U2JP_8#F">(S@NL!O"_@
M]PI?!J%-8DQE MTH7<'KC"& &0$D,C61B5N8P94"(1 FXMINNS[<MN7HG.)&
M*-R$V+"M9!D4TL"2UH76E?.83&*T2E8\#F".?"G2::VDS'!O?\..J@XF*]W0
M;K;R-+&@<FXV,D5[7RH+!(<(Y-@O18EI8K<X3P^@$]J2*2,243)#2O=)^X &
M%,7!"I*Y)K_JQTXZ2&<GG38'4HI3PC(/^$/"2X-DF0VBUB7.#J+C7EH<I,51
M3S-I -=)(A7%.GOT?L"VXPVYL2DBBGVJ7[Z8A$'\2K=,-[ZO9(:#U%)MB\V6
M98%LD+"+#[/S#NEP14/VTZ<KX)C^$P228[*@#MT2LMN.2<'ZY_ 79PHXM7+
M1LSS)6YHFC']A#:C6T).@G[+P4G8_^[U$\N.K#0ZTX6*Y;)"$OIPVSC(CCK2
MOH]-QOR"=J+(\R>3/MY;RL-7=G7J>W$\.EK%JQ>$?M_N\+UQ'/?ATQ,]H=+(
M#()V$3GH*'NHOX[1ZPAB$$X0G=]""[!UQ$A[^TS@1@&,O3&.W=N?9I?<'OC1
M,5>#<;R_A O3T'%D;_YM__:B>E0BKFERE\34FUB1V,P,PL&TR<;_=<9C)5T]
MS<6@*.J/0%O8]/K=_+WU;:_CUO)/"+BZ.[6%M>)VQ.#]#7N$\,RFO3^ =P98
MIN7.G4/-52E=C?,'KA*AK8>R)#O:@KGGVJ8*+M\M/FI8*U80\;I::FP36.:N
M-UOXWI%VIFW7;-I@:5LY2[#S:F%<,>_Z%VFM9_2LUC/8*\!9=W@\V\"Q6]63
M53?=AZ=>9RS*W3PYI'S710DO:6RZ]U'[0P/(-LV.!@IJ8_@UOUXKOL8!18+C
M:'#6D25=^CK]LX%)L$AJ\FNT UC(G-<+NLT3.UH1U[W ?I0][C%JP3V?I5U3
MG]S_RM2W-K_3T.&TV,U0IPQ;*,449[*2>=?P^(Z105FQ^][:RPI*2GPA<%1@
MT> LW<HJ2V&#S1*_0SB&$0=O\VUT#K>5G2.H?N%\^\8I<S =^NZKLRVLT(L#
M'W]'HPA&7G0V=;45!%XX&M%E.O6Q58:3,=QQJL"&V*:A-=<H.H,YB<81VCV+
M(0[@QBX$W@CO<3C$HW;W3!:5AOKU. [Q-X[C]O5B5[MNC%>*NEY;X&\7\SF,
M$'@P.8,Q#E(7>T%[D5LJ*_R80PTG8G7:)D8?(B_"R1![432!J1>&4_@@#<L
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
M*Q # O5M\0#_^[:@EI(Z/;B*SMBX3?2PWU&>89JEF%=!O1HM.\+H76C<O]1
MAZ@?(FY5*2G0(<E710=4M8IC>($<D,YWM6DD/G&T!$[-)%X]Z (/TL-:4C +
M5R_^@&5('$D_4"3"["2KJB9@Z37Z.J;<]-U$W6PKP'>E-R(/T]INF4-.!;8;
MY8J 7H?'I6SK;S?8PTF?>/%U<[J89DFK .V-(!.B?F/"L!I@RN1O#/=\W(TD
MXY>'\O#M^.6 DGU!:3ZFOKSI?_&T23M\&S7A>:,=P,70,<LE=78!"^0<AD9H
M)U  *.(0RYRU9'E/Z6,+8,,+=.S+86A-?;-Z )>X@UR+5S#KPI<F%VYBH>\#
MP]>/V8_CRN0Y':J@32!/'!)HQA!*/%XO-83DVAAWH3KFRL;EKRY]H$[G 8V&
MT>%$Q6=B19=1+)\>5#"\ 3?2X;Z/*1,FJGH?P*Y&F26C/\6HK>E"XA8_<XUF
MN\83LN.ON3<+'@%8'5Y_C?$0X+[.->5;]W>8.TPD R1(^D-S__U6)D37#],$
M(QO7!P89B5],[_RM2\)-Y]RTTSQD;[5?K4S)23B,-F2%!1U3K671)5/'#EI+
M.ACEPJ$K=!%>[0@AFU8@0GMS26-44Z]@@QM%_5WOJ,"3^0QW=$-4 X#@*Q1(
MJQ<UL>G(F]I3]1V:Y-]P'>\=N'7.W4_2=47K;BKN4'IG+6[_I.Q@7'_*@/]6
MEJ&3\:%GK?BT;AEJ#0WQF&SGN)A'&:;5]TU-</VJLD$8V+"!)QSN(BC=)=%L
M/A%9-+N8$_NOV-D=?\ZG\=DPU[PYN!W8G48)YG7,KUG:UT]1-NHT:TX=.A4_
M'G0';<^DPFDEQO&Z:LY4@-/%;@YN7 8O$U2;/C67='C:M"L@46_@7 0:]]0"
M.=V7##%&,^_GREO#>3:0#;-&UU =1\#NG*IOG69D< !#69 H0"F*AW8KRA04
MNC[D N+=O-H3%C!JZC6*%/K+T-,<Y<V38>\9R0R2<N%"A[\\VCECA&3!- R>
MATZP/R1WB8!:CR3MCV\\T,W[@[)_I.T['.N>-#,55.M#V\FS1[^;)2!B5%G
MW "<XP.;YO%C81JT=4@[2,( !R6/O#MWWG^?$T-;?CLW?-*W,:7.[TF69@Q@
M?IRC+*4B1JA"<@TP<L[DFF'!4*NK]M!R3SXJ<!C66S /^B)XEPM!./EB  UR
M[5#=0K)'<'?^UU0)BC3H5/#"11.O_&H4!C!\EO#@:"?X9P]Z]\>$T0-LN"^D
M &0\[-Y.1*!KF3[<W2I)%05_7%TV\CYLHYO##$?B'S"K!=;OH^X$MW_DM#OT
MA3W(XWOGQE$P.S<7+/QVI>D0H'$;=]9$H7_X0*,@[J(JWS!KSZ>7-'B0;J&>
MRIJ6(XGI,I0K)",^#@X39U>[F[8&V=+M']UWHO#NYIP7"]I<0^R[PXRA=ZKG
MO??=:[34_%:?' .APJOO[F[WCP-OPOORW?+P7P=HNE"LG"C5$EO'H_GT1-CP
M)C_\\&;#;\\QV'JSYLN5@@,M+<#SI4$";'X0@^[?*2[_!U!+ P04    " !$
MKU58F$=\H!4#  #?!@  &0   'AL+W=O<FMS:&5E=',O<VAE970R,BYX;6RM
M5=MNVS ,_17"&XH-2.-+W"1KDP!I=RO0#D4OV\.P!\5F;*&RY$ERT_S]*#GQ
M,BP-,&" 89,2>7A(4?1DI?2C*1$M/%="FFE06EN?AJ')2JR8Z:L:)>TLE:Z8
M)547H:DULMP[52),HF@85HS+8#;Q:S=Z-E&-%5SBC0;35!73ZW,4:C4-XF"[
M<,N+TKJ%<#:I68%W:!_J&TU:V*'DO$)IN)*@<3D-YO'I>>KLO<%7CBNS(X/+
M9*'4HU,N\VD0.4(H,+,.@='G"2]0" =$-'YN,(,NI'/<E;?H'WWNE,N"&;Q0
MXAO/;3D-Q@'DN&2-L+=J]1DW^9PXO$P)X]^P:FW340!98ZRJ-L[$H.*R_;+G
M31UV',;1"P[)QB'QO-M GN5[9MELHM4*M+,F-"?X5+TWD>/2'<J=U;3+R<_.
M+F5[L*Y"\P6=&MSB$\H&@<D</J$J-*M+GL&<CMQ,0DLQG6>8;?#/6_SD!?PX
M@6LE;6G@@\PQ_Q,@)+(=XV3+^#PYB/@>LSX,XAXD43(X@#?H*C#P>(,7\.ZP
MH"9S>==*6RX+^#Y?&*NI7W[LR[=%2_>CN3MT:FJ6X32@2V)0/V$P.WH5#Z.S
M US3CFMZ"/T_G-9!_/WL_RUHM[G]+M90;&S6P(V_0SD0EBUIDPOA2L[RG.(9
M4$N_W#8^ZCZA+%&#5?!%683!T:MQ$B=G6VPB!I72"'R'(SV2IIG^.SYQ9,2Q
M#U=*%L=7- YRF!N#UL ]1;U05<WDVL<8G1FH-<T^;=<^3_S9\-HWBM/<!O/-
M(BAG!.TN_[%:'C>D, _9 V19Z:CT]G" %6IG22D(&HSFE(BX[*F[L5I0RML.
M=Z\$WG!7+]48"F[>PH/DEKC?66;1P&N(A\->&@^<-#KIC=ZE,!<"%)520Z8:
M:34GN^%)+XU&,!KTHB2%>V69 .$J(7PE6MJ$D5#L<1(Y*1WWQO$8]K5NN#-T
MZ*@*/UI-&ZZ=/]UJ-[WG[=#Z;=Z._FNF"RX-U7))KE%_=!*T%=TJ5M5^A"V4
MI;[P8DE_(-3.@/:7BKICH[@ W3]M]@M02P,$%     @ 1*]56&XQS:3" @
M$@8  !D   !X;"]W;W)K<VAE971S+W-H965T,C,N>&ULE55=;]I $/PK*U?*
M$\5@2)HF@ 0D45LU:A3:]*'JPV$O]BGWX=R=,?37=^\,+JT2E+[8=[L[X]FS
M9SVJM7FT!:*#C13*CJ/"N?(BCFU:H&2VJTM4E%EI(YFCK<EC6QID60!)$2>]
MWEDL&5?19!1B=V8RTI437.&= 5M)R<QVAD+7XZ@?[0/W/"^<#\234<ER7*#[
M5MX9VL4M2\8E*LNU H.K<33M7\R&OCX4/'"L[<$:?"=+K1_]YF,VCGI>$ I,
MG6=@=%OC'(7P1"3C:<<9M8_TP,/UGOTF]$Z]+)G%N1;?>>:*<70>088K5@EW
MK^L/N.OGU/.E6MAPA;JI3=Y'D%;6:;D#DP+)57-GF]TY' #.>R\ DAT@";J;
M!P655\RQR<CH&HRO)C:_"*T&-(GCRK^4A3.4Y81SDT6UM/A4H7)PO:;K*';$
MZG-QNF.8-0S)"PS]!&ZU<H6%:Y5A]C=!3'):3<E>TRPYRGB%:1<&_0XDO61P
MA&_0]C@(?(-7]FCAQW1IG:$OXN=S_39LP^?9O$LN;,E2'$=D XMFC='DY$W_
MK'=Y1.NPU3H\QOZJ]_%_#/!%P0TN346>@_Y9.-5A!UR!,->R9&H+5(4&,^#*
MZ9!88*I5!E-R7R8]!\7G5,$=3'.#&&(U=T6H_DQ5:"PP@BRXX(2%!R8$;F'&
MU&,'&&1\S8./]0INN+'N[9P[_HO,'4K@A,GR$KX:^N#WJ@A&E" ">>#V^XP\
MP/V[\V8&&ALDQ.?(!X)1%TSL@C2O#L5UH"YX6A"IU"H'32F?YRJG%&Z<K\H"
M@)Q>&>ZVD!&?U^N#0C.26@4IX>3^/0PZH$^50N@/FP/N/O<MQ <^E6CR,(TL
M::^4:RS;1MN!-VU\_J>\F9:WS.2<) E<$;37?7<:@6DF4+-QN@RN7VI',R0L
M"QK::'P!Y5=:N_W&/Z#]#4Q^ U!+ P04    " !$KU58==^@[%X"  ""!@
M&0   'AL+W=O<FMS:&5E=',O<VAE970R-"YX;6RM55UOFS 4_2L6JZ9-6F,P
M)&DS@M243=M#IZA9MV<';H)5L)EMDO;?SS:$I16MHJDOX'M]S[D?-H=X+^2]
M*@ T>JA*KN9>H74]PUAE!514C40-W.QLA*RH-J;<8E5+H+D#524FOC_!%67<
M2V+G6\HD%HTN&8>E1*JI*BH?%U"*_=P+O(/CEFT+;1TXB6NZA17HNWHIC85[
MEIQ5P!43'$G8S+VK8)9&-MX%_&*P5T=K9#M9"W%OC>_YW/-M05!"IBT#-:\=
M7$-96B)3QI^.T^M36N#Q^L#^U?5N>EE3!=>B_,UR7<R]"P_EL*%-J6_%_AMT
M_8PM7R9*Y9YHW\:.QQ[*&J5%U8%-!17C[9L^=',X @23%P"D Y#G@.@%0-@!
MPE,!40=PH\9M*VX.*=4TB:78(VFC#9M=N&$ZM&F?<7OL*RW-+C,XG2SI(]HI
MM 3IKA#/ *5,9:50C01TCNY6*?IP]A&=(<;1ST(TBO)<Q5B;W)8!9UV>19N'
MO) G(.A&<%TH](7GD#\EP*;HOG)RJ'Q!7F5,(1NA,/B$B$_"@8*N3X>3 7AZ
M.CQXI9NP/X?0\87_<PY#XV[IHF$Z*Q8S5=,,YIY1 P5R!U[R_ETP\3\/C>HM
MR=(W(GLRQJ@?8_0:>_+#"*69V> %;9%CA[1JN$O.@S#T+RYBO#L>QE#<I3^=
M1D_CTH$X0LCD<MK'M2W@HZ^S KEU*J=0)AJNV^O>>WLAO7+Z\<R_, +;ZN$_
MFE:=;ZC<,JY0"1M#Z8^FIBK9*EYK:%$[#5@+;13%+0OSDP!I \S^1@A],&R"
M_K>3_ 502P,$%     @ 1*]56/VS#+E8"   HB<  !D   !X;"]W;W)K<VAE
M971S+W-H965T,C4N>&UL[5IM;]LX$OXKA!?830LGMJC43IK$@)/L8HM%>D&2
MO3O@<!]HB;:(2J*6I.SF?OW-4+)>7)E.?/:W^]!&+YSA/,-Y>4CK>B75-QUQ
M;LCW)$[U32\R)OL\&.@@X@G39S+C*;R92Y4P [=J,="9XBRT0DD\H,/A:) P
MD?8FU_;9HYI<R]S$(N6/BN@\29AZO>6Q7-WTO-[ZP9-81 8?#";7&5OP9V[^
MS!X5W TJ+:%(>*J%3(GB\YO>U/M\YP]1P([XN^ KW;@F"&4FY3>\^1+>](9H
M$8]Y8% %@S]+?L?C&#6!'7^52GO5G"C8O%YK_\V"!S SIOF=C/\A0A/=]"YZ
M).1SEL?F2:Y^YR6@3Z@OD+&V_Y-5,=:_[)$@UT8FI3!8D(BT^,N^EXYH"-!M
M K04H!L"%\,M GXIX%N@A646UCTS;'*MY(HH' W:\,+ZQDH#&I'B,CX;!6\%
MR)G)%UB0D"ORHE@HT@69*L72!8>%,OIZ8& &'#<(2FVWA3:Z19M/'F1J(DU^
M34,>=LC?N>4]ZE P &@5/KK&=TN=&N]Y<$9\KT_HD/I$1TSQ+EQW_ZN6EG%^
MY7S?JO6WJ.UR>I_,7LF7-!1+$>8L[EJ#0NEYMU+,^\\Z8P&_Z4%B:ZZ6O#?Y
M^2=O-+SJ GX@92W\YQ7^<Y?VR0,S7 D6DQ>N$DWDO"L,NSS@5/M>#[AMO,\5
M&F0B3NYDDK'T]>>?+J@WOM(D9MJ0N= !(/@K9PK ]#L'AD)!U9)*$Y:& ',N
M @XW)TQCQ8$)0R)2\I3'G'@C=NJ=S#^0/,6T1&V_?@\B= :9!N8#8:',# A(
M> E>$RG#.QP70.8H*(L00B+51N6V4&H<N5+"&)Z2+&;P8"X+Q5FN0+/F.$(S
MF!P6H,M\S0-P@A$<+PV*FP@-QK&&S4!PANW@C+R\9GS+*I*O+.$6_J/4PE;P
M:5'(IP@(+@8V"A //H5BQDN/#&>?3KV/Y*M,3UM//I(7:<#USS8=<=X[6!%-
MI@@@ 1W/1@;?B)%@'GF6<?B>\8^E;T)P?R94TRB9,M#UA] 0*HL^N8L$GY/?
MP/ TP%C^6[&\Y,3[4&$CG@>-=6"KQS^)=2R]@K7V^Y?^17U/!SZ.H^?D2<#L
M*H094\%C6-'[,H3("6VK]<:;:L?]\6A4W0W] ;TLE-XJ;@S %^I;'U<Q 2L+
MZY_XDJ<YKVWW/[16 RS[T?S-OPWS/X)+BV!LQ>)F*,([N PQ?B5$H!%Z_FJC
MBH$=V*.APV.& &NPX1V*,J+GS4 X";9ERQF!($'SZ/ *PZ<A1$P9HZR.43O2
MNR+MM/QB>$+.AQ<X#4[,%WE<>.7Y](^M$^/J;T:*S-6V:.E7><V:T,@C>@FF
M^BJ7/)G!3'18-*$S\J#.UJI_T84[,R6A:_!&ADOPK\%YUOF=9^CK=>3I*A6Z
M\KXK/?HP4XYU['4M;")FP(N<+,"1IEC+2"3H.AL+BJ.[L(1*.XN-HJ"8ZA3(
M#B>W,@65CTJ"AN1JC2+LDTBN(##!.3,>L!QC@"L#U!0-;L"O#$8GX*I9L"R1
M.?13:QJ'\ARC 0Q65HM%430SK@)P#[#5M0=2*&]I;AT-3TJ \ \X(2*8*YF0
MI^<_-5ER;8HUG9-5!,D*FC.HBQ@6*Q''6$)TKA1&MRI\TO"P+;A8D.!Q "L+
M62%,%,$3ZR?VG4/&AQRHNGT .L$3P/IJIR,H*\/CL"S%X!Y,-8@KE,;9@":*
M)$]^1%24.&M!PE[Q.N9:0_W&D,% XECS,#"@YO&@B+R2_ISWT?H\DT7]YTS%
M M[B@L:\2/(Y8> !EIM(*O$?1 ^1H5G9CNJ,P:G.;$'[H=PQDO"UT9@V,XFO
MX:9JI6_.&&_<S)ARAE_>F3!%37U_NKPGFENF_3^,#QO&#PSZ.:&71XIAZ)>M
M[HHQZ^JP_59JT:&)BB#M-TE=1V##.MN%@,8I4<4T7\ >D=#UU@1\"'TR+??(
MZ%JHQ=C.,J"GN>)G#M;^J6+MGYR,>+.3-EG>M,C)+L[N5CIGL>9=[-PIMN?^
M9%0A'>V-]*5:IRZP;KU;P3K%]@0[KL".G4:UV0KYUX.-S7]WH7,J>N_VZT#*
M6I@O*LP7Q]B 7QP2_X&4M?!?5O@OW0$.F[(N@&ZI=J1T87+*[XG)&]9'6D.G
M?2_"Q)VP=LAMX>:=QUA.3?LB;!S:>>X5>'_YW:$1MFB=%<DMMB]06@.E3K.J
MG2YNO3MAN>7K?7<G.*?PON#JTS_/>;@V::[<?5Z<,71B=*LY'XY)R%X[CS7=
MHOLBK,_W//?AV72Q4'R!IR;3)1,QGA5U BRTC*T6_.%A.8$=*FQ0KP?+%IJ=
MX]IVUHS&<[./C?V'L_FY5;VW^A]*6QMX37"\T3$:H'<@HE+ZX!BTQZMYC^<F
M/MN:X ZQC9CI!'8,;N/5Y,9S<@=''W3+K<\:.R$=@ZYX-5_Q=E"//1J?6^/6
MQG<,#D-K#D/=7&1GX]LA7Y\,=_[:=0SZ0FOZ0MUDXZV-;X<:S_>W-CZWZ+X(
M:]Y"=_"6MS6^4DNSH8W'H]%&V]LUJFUC33^HFS<T#BR<#<^MYKW%_E#:VJ!K
M1D+/C]'PZ$%_<3R4MK8/:K9#=QS@;&EX.\0:\=()ZAA,AM9,AKK/5+8VNQUR
MKE.Z3IC'("NT)BMT!^O8ZSAJA])M/= MMB_6FK_0'?QEX_?@3F1N%?4/EYWX
MCD%F:$UFJ)MZO+D-NM7XX^W[/[?HG@C]FL7X.UC,V]I@J:79X(8;/= YI+!N
MT/@*"E)Z83\.TR3 WT^*#Z*JI]4':%/[V=6@'EY\O?; U$*DFL1\#J+#LS'4
M-E5\$%;<&)G9;ZIFTAB9V,N(LY K' #OYU*:]0U.4'V6-_DO4$L#!!0    (
M $2O55C0Y2E7W2D  #2<   9    >&PO=V]R:W-H965T<R]S:&5E=#(V+GAM
M;.T]67/;1II_!:6IFDVJ2%E2SLGA*EF.9[T53U36./.PM0\@T"0Q!@$&#4CF
M_/K]SCZ !B0G,V]^L442Z./K[[[ZAX>V>V_WQO39AT/=V!_/]GU__.[9,UOL
MS2&WY^W1-/#+MNT.>0\?N]TS>^Q,7M)+A_K9U<7%U\\.>=6</?^!OKOMGO_0
M#GU=->:VR^QP..3=Z86IVX<?SR[/](NWU6[?XQ?/GO]PS'?FSO3OCK<=?'KF
M1BFK@VELU3999[8_GEU??O?BZB_X CWQ:V4>;/!WAEO9M.U[_/"Z_/'L E=D
M:E/T.$0._]V;&U/7.!*LXS<9],S-B2^&?^OHKVCSL)E-;LU-6_^C*OO]CV??
MGF6EV>9#W;]M'_[;R(:^PO&*MK;T;_; SW[SE[.L&&S?'N1E6,&A:OC__(,
M(GCAVXN9%Z[DA2M:-T]$JWR9]_GS'[KV(>OP:1@-_Z"MTMNPN*K!4[GK._BU
M@O?ZYW=\&EF[S>ZJ75-MJR)O^NRZ*-JAZ:MFE]VV=554QF:?Z5^?__"LAZEQ
M@&>%3/."I[F:F>;R*GO3-OW>9C\UI2GC 9[!FMW"KW3A+ZX61WQIBO/LB\M5
M=G5Q]<7">%\X0'Q!XWTQ,UYJQ_][O;%]!XCS?ZD=\WA?IL=#:OK.'O/"_'@&
MY&)-=V_.GO_Y3Y=?7WR_L-HOW6J_7!K]^8O<5A8/[1;';OJ<4;PILYNVL;#^
MDKY)+?L_,'"TA:_<%KY:G.FVJYJB.M:&IGMTV<N#_7UO@,"+]G#,FQ.>8>'&
M,V6VK9H<YLKKS,*&##"5WF8P>SV4)NOEU0&_A)7@YQL>B/9=P=</^[:N3^OV
MH8'1[+"Q55GE':#(>79=US!4;SJ9/ .$:6Q./,?2 )N\AMEAF_O\WF0;8YK,
MU!70,JVM:H*UPCOG"Z#]VH'VZT5HO#5%G5M+Q#P'S^41;DS7Y[BT?=[L8.E]
MFQU#A/!;.>0(PQ8W@3*"P'?LJK;+C@;^*^/WX$%\H!BZ#K[31SIS;#LDO?/L
M[P'T][GEX0M93314L+3@L&EX.@]C8?R\*C-XEA' 9+4!!I[A9O&9-FOAZ0X^
MYYNJKGHD>90AA#_YL>H!8706/$@\X;8Q 9XT;;,N<KN7@<T'$);P?V=J.EN<
M ;:8$U?1N7FNDQN9%S+[V-R"'JI^#R#Q+](ZMB!E<4B&<D@# >;#XOW#Y]G=
M4.QAR3'*V*P$T#5MG^7;+4C0Z8""UAG)'KN"S>+R.G-OFL' 9[\RH+3V8%99
M TJ&_@WX$2QXV[4'_\(*GKJ'X\-WX3FA7OA (IS.:8E*OG%4\LTBCK\#. ,H
M?H*)0+H;FZ*2CQN!L!>0])AWC*,(Z2<P(B4>.F\XU^ROU]>W ,K?A@K0&&B@
M 04)'T:,.N3O =-TRE7VSZ'<T4 K0E(XQ.%PY"/L]WET?DQGL([\X-@=/$_'
M%Q#!2D]Q!0NS/2._X+;,HAA>5K:H6SMTQ J+?B 4L* 2\5N@!^)Y6QAHJ/%Q
M6 SHA%[3J$]\^ '7_?.?OKVZ_.9[^[1-GD=ZR]/@,EAFO# IG."2=%AEFP%
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
MY2N=Z#?0&8B&F:-PIJ3I6(U36DE%XC4;:Y7M3+OK\B,(,!^:KRRJS@#(ICW
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
MV)\_'LD2ULU*PA)73#%Y[X8<>&IO>!^:2,IIYO>X:=R17L>&BQFZ*6/2\3<
M!UT.)L8!-B@,U,%[#J)_^BW[CG'H0-[Y_J)<K._($1^.#F7H@ZNC,'^9 ,BU
MSWH/B4O#V1JSM(J)+%U:A9LXK&OS5Z(Q/F!>*T$FWAQ7X(XFFY@9&Q)_//4R
M9,,2<O7='"(G_^B-\Y3"D4QFI'!NCE9&5Y)3D1SO'37"")Z*!+W6"X^ B/60
M':7*.9<R4^\J2*4C<8&Y15$S!+S^L$-?@<KDPE^\H#:?XS<3MIP(<3[)H)Z[
M&J\R,V9Y]  Q1+EM\"F)2:]B9>DC\IY6DUL&1^M<^/DC5[FD+/L&>E?+[>]N
M@K3LEV:3S%3^R"&2+2?9%F7))TGBU.R1KLQJEOIYO#N2T/6=/-XYM?KJXNIB
M??&U5M'+ 3EYY!O0^B)%UQ? 7\_'*AN_@RE[ACK""!NA+C?D&18CWI7=^!&F
MX03A&-KH8FMR3AEV%8A[3(]UE1K3KA-R]@ZN!*N(B;BK(1&"KI4J/??4U+LY
MCXT?>M3G=-=A4BUYZ R6OVMC6G*E>%NVGR0B.#$[\J3@!4)<N[5-;]D?H>_W
MA)R/+T93WB47A (D ".NZ$&\E89W2>.X!"&7$H-K7UHTA>?]KZU7E56Q3#8@
M6-A!6-E/K0*Y<#)4P#GE:9&R?1/*J^7.D3>2@2V5<$G"_J@1,OVLK1U<#^[H
MBC,4['SE*OE*N">%U!5W+*\W<$)TP36?:<LB;4TBS;T2F=CXUKYE +*]2ZE_
M8#>\;T @L:[HA+A(_/%Z0SL#3"^06NW)J&:(,^C43M7#O*ZJ+M>84$"%Z=PF
M8U3=SJ7&IY7OP '6%N8@R[V-F@O/VD_8$ 6'D:S0=6[7^=I5H$5)\/"N#AU8
M^5:M1II^U!@M*M[P[Z^5 ).9VT]IOA.?GS"TZ>GY ^='E/'[@G=7=>9:\>D4
M7G$.FF:Y(D#JD#?IFL581Q7QKH"*OXP7/"Z*]IG@DM;P- @$R.9.<P*+) P\
M -")0GDD=.UM8Y:HWG?#O%IN1ODV#)L\J63@#PV8O9T+TS!5Z26(Y#54)@'G
MU[5U'=47 ,6!7=F8.B!',KBIF_TJ''JE<6QQ/#3[7'T\,QW9$JULSN=7[@OH
M0K\$OUXUVRX/PO^*8.'[Q--XA9-$<O$QA8\_?<T+F7KL%F'QTMJ@)2S'BND&
M04+WKJ)K1;V2,2FT2'.&)>3TI:%7RT6<UR7)1N+B/_$*DQCY!T>)5^=+]ZZ6
M*^ZNXZM@[^@J6&Y4>1-<!9M<\;]EY+D.>'.7TCI-9*2DY4V_+D=5GQKZH2IZ
MYG)1HKJ[[TXK6&E2"O1[!_?;NW?.I[V:/LR#!T]?>P\XE4@$Q?K)-VZ#\>,L
M['0@:U+53X-*;E0 C<#W.]HTOZ'N-RJUO+N]G<[]HL[A".Z*?4M=B^CY-4Z$
M9WIH2Y4<TS5RK%5.[U$(O(E @'DVG*9<NFK9-R"'8.=Y5[?<58Q1(4B;]ZM)
MIC&/LOLC[*+5D.9+"JIQW<=*=&J5B>T%-WHL0G\5WLX<YM1W9I=S:\(\:X;#
M1IP,O;:/QXZ#K'K1?;RH,ZNS, KJN_"MNV B7,]]BW"J@ZZ=2@E4!K3$/WS9
MWM5R<=TKN7#FADSXXI1D%(M#9!\.]7?DE_KQ3&^"/9N,FRVMUM<#72W7\;SF
M9OQ_1^=<<J5/?WVA^L==NVV")B0260T=S2=W5T9<\^/BQ=J+MMWZ3LUXF_=,
MK8N*MW%0'U]!G812[POI0'UOW W0U-5\8WR'1">R4[=IGV?O9$]$J;R!4%D-
M0F=/676KE\=20&([BO;;*-R?6 ]K'C#\)M<TYO0\FY.P$]/D3#-X+SJW(A#
M4?U(U)<W7$@>%N+(K?>=AB?8N&7FXN\+]U-0!>CCP)A<*2'(%/>MY^QBM>GH
MR'%/HXA?0JBFEA#?Z:N)R_ZZ9W$2V2BG*IT)J05"M6O(?<C)G<NAC9@UC]W-
M6GR F:6^1(#NE*5L3*IVWTG1!9H8Y'[WO%"0G4\EK^,^Z[!?+F=U]Z<$)[O2
MLM*(9"0W&,&_PL]K+8+4ZZN==U-+F<CJ+DB]#<(FHP3-J)D=P]HE2O 26P6A
M. RG1Z;4R6N-;H_N*2L/_3R^["U(+G79G#0EG Z%:WTQCF+#=-9 V+KK+Y1Q
M\6B4**5A7# "K>:5A PQ?0^$KQ?#^?C,Y;J&2?OCNYOLFR\O)FPCS\ &7]O>
M'+63KZ?DSRX_1S@'H-=\X:?D]<9+TD"?!8AQT5:*@5&&&@6;#T"ROEQ&QR&\
M^>SJ\Z"O<3P-MS-4"P87N.8%\CU 0=:I=#\$)-S394U]FO3)R4E)J'WH^D3&
M*4U'&1W#?H=?72#'*;AD][VT"@M(G)M&8^"$^JW@]3IU<","BS'Q?2(>2?_>
MQ&4@LDCG&&3-&0PRXHJ! Q4O#W/\,5B]DR,>V9REH/<TD126$IJ3-)E*!#[C
MN*?ZV6<>+*++?K#_ A6)4%.:F=V, RN3'C:/NK(7#5-?/W:U7 3V-T"NG]&W
M?0N$<+?'95WWW 92&=$-AZ+O@CO3DFK3?V(BO"ZA*J3Q74TM6)"M48N+(]W'
M1X"TOD/+!KFZ=.!SCXHN_V PP&;*=8Y)>""=O=I- UDYS$/;J'T4M/,)2^&Y
M;T[V4M:$=T5@47:PIGRTN7!8W1RS7 HU8/K(=!#52=Q%1!A2QSDU7Y^UC<B6
M2YBG9,O.FJTKW3S%)'"YK*\B/3E7L9@4K@JGUGRP.<,ND;7%K?/D7K+M6@(&
ML!JI@2?WHN1\JL8K (Y!(IW(YL(-EFI/QKDJ[C9"N:-)"U@FZ?=\TV<2Y*,&
M6E@\X7[34):K#.-33: KM0.U"PA]GMWJ_8N\"]RJ':M+SOC?/(5&GH*/#WD
MAHROCL'#I:L.E)FCA*7;"?787%R0TB*TT30]DJ HPAF,8Q754<N-%*C>JIA.
MHS< LB9LW7Y8(B2I:V&FR,=1=>%SV-H'V<0CJYD]W:< >HYA:7B.AGS*0)\8
MV^]@;)CG\P<8VY+<]8695\O5DF_)1H!=OX:U&6XL<%W"3K$PTCM-;[NV:0=Q
M\J?%[G]@'C3:_H9=PA"',)[,?.?5]=T+@B6^>_>.?EE??*.-V*6>'!M(2;'4
M.GL=MAL#9'GKJU_U\9>NXYZZ_]SM&Y3_H)P[*ID-VO0)^Y&$3!]K<?E!'"4I
M@W>L5$J'92(ZLH^!4+FTSQK7J",G[;OG)Q70NZ%B2P637%VT6Q%>>/=_6:V'
M5/%#_9T:23X"R'ZIC5G@]T/Z*7:&8*&D5)%2$!IV"<.2%P.&^2J6P\AX.,^F
M/H45W222'=DQ&WKP6]&E-"5?@H$(Q&Y.?:(S?=0_C;(MR87 #2#"N#]M+TE&
MSTBS?9GW^?,?P&;:F1M3U\@K 4U_/,/4'O<M9E)A_?-WUU=GS^!-__CS'X[
M M^ F8/9V;79PJL7Y]]\=<9\73_T[1&'Q,RXOCW0GWN3 W_ !^#W;0N\23[@
M!!C<I>4]_W]02P,$%     @ 1*]56&473"?^!   .PP  !D   !X;"]W;W)K
M<VAE971S+W-H965T,C<N>&ULI5=;;]LV%/XK!VY0Q !;2]35N1A(FG8+T&Y!
MDVX/PQX8B;*(2J1*4G&R7[]#RE;BUC:*[<6BSN&Y\ON.Z+.5TE]-S;F%Q[:1
MYGQ26]N=S&:FJ'G+S%O5<8F:2NF667S5RYGI-&>E-VJ;&0V"=-8R(2>+,R^[
MT8LSU=M&2'ZCP?1MR_33)6_4ZGP23C:"SV)96R>8+<XZMN2WW'[I;C2^S48O
MI6BY-$))T+PZGUR$)Y>)V^\W_"'XRKQ8@ZOD7JFO[N6Z/)\$+B'>\,(Z#PP?
M#_P=;QKG"-/XMO8Y&4,ZPY?KC?</OG:LY9X9_DXU?XK2UN>3? (EKUC?V,]J
M]2M?U^,3+%1C_"^LAKT)G4#1&ZO:M3%FT HY/-GCN@\O#/)@CP%=&U"?]Q#(
M9WG%+%N<:;4"[7:C-[?PI7IK3$Y(=RBW5J-6H)U=W Z' :J"6[&4HA(%DQ8N
MBD+UT@JYA!O5B$)P \=W[+[A9GHVLQC8F<^*=9#+(0C=$R2D\$E)6QMX+TM>
M;CN88<9CVG23]B4]Z/&*%V\A"@G0@$8'_$5C&R+O+]KC;U>]?UW<&ZL1-G_O
MJGCP%^_VYZAT8CI6\/,)<L5P_< GB]>OPC0X/9!M/&8;'_*^N$5JEGW#W:G=
M:"2HMD_ 9 GOO_6B0\I8 E\,K_H&/B+FS:[\#T;8G?]=S8$;*Y +O(1^"-"(
MRN?!65$#,P;G2('ZI4)0"8,2J%2#U#<G\$ZU76^Y]JE*;AU?7<?Y)FN(P"I(
MX(DS;> C1[;5JBE!M)U6#]QM,7!;*^V<8,S&[0!\:4'IT>Y#KZ6PO>8^3B4>
MW=J@[T']>X48YUM!!\6U1$^2-6^P,C"JLBN&/K92VFHV?VZV=%4KG%3&=08S
ML]BJH6XL\ 0NC!,B:'E[CZEO@.M^*!P+B?M5;]"IF?Y$EXZ TIA$8>17"0F"
M^;YFY20-$OR-LGA?7R@)8PHAR>;TQ]Z$A-(<?\,LW=.?>492K"1-29SG>QNT
MU,K@$401F8<A1 $E>31W4Z9O^\;#J>0(M$*P85:C-6OQG,4_@^ X3#(2!=$4
M5Y22. VG!P_C"#!CK#UWJSS ^G,X0+QD)%[RT\3#=C"Y%#@2\7@1]CM9=M#=
M?I:-W$+R;N DGN-YFB&WW%&^Y)?_7"!R-&]\VTPM.C,@.%\C^(H_X(>XPX9;
M7M12-6KY!/%+C-]I5G*0K.5KTWBMN&3%5]P.=(LOV&S$FU7NT\7*$LLP:!@&
MXZ8WJ"Y0"JY"IMV4D.ZX?1X>9,>O7^64!J?7-Y]?L[8[O?+OX>D4K?$#*Q"U
M?"^%G+/OI93XCCDF,?GDO(79J=G1P?_"V=UR"K]XB!=,ZR='UP?6]'P+X5N
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
M&)R.+!KG!::&KW.< LSPW\/PXO3:G_?GVCG=^L>5%! E#<#WA=9N^T(+[/X
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
M]&%\V^>VU<KV:[EBF9J:Y3@/J!H,ZGL,%J]?C$[BMP=(LYXT.Z2^6%'Q%8U
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
M\,C$B9,I\9P)QKWF/VQA R=PIPVLZT2)V\#Z3N0GHP,QF;0QF;PZ)AT^?7C
M$:D8&9ZSDBVX[LV?@\C]7+I==;TD;*MFWJA!<' X*JV,/3MA^[^QNJBD1*RM
MNK44]]R>O:W"8_*194S2'/OZ]I?$]_SWO2,;:S*)R3!&/+9?MV&-H-R+ Q+@
M]Y(M&%1F5F.CYDG+5G+[._0GP:A!WY_;US*<NN[HV>RMT,#MWTW+%<_\3D,\
MHBDY0)FHI4ST:LI\6"R8+4*6-=?&BVN&&*8\Y]34J#[>'(;?E<<.Z@UCI27#
M!3*7EH_6\_B](JS5;MR71CLD&GXMI"@,G30O*Y/V*/K20BH"9EB\NZ.;([)H
M(J,0@TH+^5@#<2Q3#?U>?U!<M0RCN@>Y-1-+WW0>%RM:+DUFD'N:5[7CU&BF
M9<H,1T8X $(\ O?I+&G!,HY],"3G4.8](\B-%NFW=Z;.9_;L T=J#4.#"#;[
MB)F"?^G*[DS&[M'8K N3-2F(S)&-GHM5$U-FK%E 8@\LK>S>[V(&SQD*="VK
M5%?2Q&%_UN^0J'5I._FF;W2 PW'+X?C5'&X3UE#X3"FF:X9\YG0.&FK>7Y4.
M*GCY]-OG<-8]+NB3]OQ).]D@NC_)QKU3\/*YEF/R.QKD)BL0%[0/RI8=+TX<
M+YR:46+J3T0^,Y"GM>@1&AQ4/.('*'J3'Y,G2!P_ 8$\)T@"<D'7'"<6_PYK
MY$NBX<0)O<2(N('_,H,]SXFC"=CIA/[TR4D)I+)B)$2U#8GO))YGK400ZLVE
M:2HKFBNL"(((SRA,R!\X$B2J<H+:C+(=3_MVC00N4%V8%AO; A1-C=SE:#+K
M%8060FK^O4D'+W("#TD[A"NQA^2P=X1W8O&N4EN)H3=Q4#E,CB=.$L;;>E#W
M >@"S":86=>)S>!*LC7E=BL*KI0]TLRJ)$K,*O05?K07\BZ;AI,$G8<!C,S6
M0.9K[Z%C8A!'QG07 ?1P!AG"[/!UV,$=;7<(Q<9U.Z7S0+HF;;HFKT[7NU*B
M0BQ+2R"3LDV+TIND!V'[D_2,R-T*U'0B^XE;=>WHU'JU6SKV,O$UN7M.<QL"
ME) Y6_*RM.5K01Z-I,E/D#;&('82$!%=FS3YJ6!W3DU?J@4Z'2YD+6 ;'Z%X
M7?K0.,8A29QH&AOU/R'9=BSQ!!U%K]:TZ;5ZI'%4(!5!39P '?^P#QW/F@.E
M=;&/.>/.Q;!@<FFOOPJY4)6ZOB.V7]L;]EE]L7Q:7E_/OU")W54D9PN(ND<Q
M&EI97WGK%RW6]IHY%QJ75CM<,8JB;A9@?B&$WKX8!>W_#K/_ %!+ P04
M" !$KU58#&/J2N,"   '!@  &0   'AL+W=O<FMS:&5E=',O<VAE970S.2YX
M;6Q]5&U/VS 0_BNG,$T@%?+2]&6LK51@+T@@(<JV#],^N,DUL7#L8#N4_ON=
MG3;KI-(OB<^^>^ZYU\E:Z6=3(EIXJX0TTZ"TMKX,0Y.56#%SH6J4]+)2NF*6
M1%V$IM;(<F]4B3")HF%8,2Z#V<3?/>C91#56<(D/&DQ354QOKE"H]32(@]W%
M(R]*ZR["V:1F!2[0_J@?-$EAAY+S"J7A2H+&U328QY=7J=/W"C\YKLW>&5PD
M2Z6>G7";3X/($4*!F74(C'ZO>(U".""B\;+%##J7SG#_O$/_ZF.G6);,X+42
MOWANRVDP#B#'%6N$?53K[[B-9^#P,B6,_\*ZU1T, \@:8U6U-28&%9?MG[UM
M\[!G,([>,4BV!HGGW3KR+&^89;.)5FO03IO0W,&'ZJV)')>N* NKZ963G9W=
MRK:P+D/S)54-'O$598/ 9 [?4!6:U27/8$XE-W#ZQ)8"S=DDM.3<0839UM%5
MZRAYQU&<P+V2MC3P1>:8_P\0$NN.>K*C?I4<1;S![ +Z<0^2*.D?P>MWJ>A[
MO/X[> LLJ-M< FJE+9<%_)XOC=74.'\.Q=NBI8?1W#!=FIIE. UH6@SJ5PQF
M'T_B8?3Y"->TXYH>0Y\M:#CS1B"H%=PI69S?46_G,#<&K8'E9K]RCUA0=0]%
M<-3'X0B>2H1K5=5,;CZ>C)-X]-E K6E':+OQ+8,O#:]]'IWD'IC/I:#V0=!N
M2,[5ZKPA@7FV/4"6E2#1]ASQXA]Q1BT':]1.$U9*T (QEQ2C"YJ*C]42==<
M[I/ *9=@2]48<F[.X(?DEM*RL,RB@0\0#X>]-.Z[TVC0&WU*82X$*%L24*8:
M:34GO>&@ET8C&/5[49+"D[),@'!)%C[)+6W"2,CW.(G<*1WWQO$8#E4VW!O.
M"G7A5Y!IW;5SVMUV6V[>#O<_]79%WC-=<&DHERLRC2Y&@Z#-Z$ZPJO:COE26
M%H<_EK2I43L%>E\I97>"<]#M_ME?4$L#!!0    ( $2O55B_75;8&0(  $ $
M   9    >&PO=V]R:W-H965T<R]S:&5E=#0P+GAM;'U486_3,!#]*Y:1$$A3
MDR9L@Y)$6EM-\&&L6@5\0 BYR26QZMC!OC2#7X_MI%&1VGUI?.=[[]ZSSTUZ
MI?>F!D#RW AI4EHCMHL@,'D-#3,SU8*T.Z72#4,;ZBHPK096>% C@B@,;X*&
M<4FSQ.<V.DM4AX)+V&ABNJ9A^L\2A.I3.J?'Q!.O:G2)($M:5L$6\&N[T38*
M)I:"-R -5Y)H*%-Z-U\L8U?O"[YQZ,W)FC@G.Z7V+OA<I#1T@D! CHZ!V<\!
M5B"$([(R?H^<=&KI@*?K(_N]]VZ][)B!E1+?>8%U2M]34D#).H%/JO\$HY]K
MQY<K8?POZ<?:D)*\,ZB:$6P5-%P.7_8\GL,)()Y? $0C(/*ZAT9>Y9HARQ*M
M>J)=M65S"V_5HZTX+MVE;%';76YQF'UAV&D@JB3+SM@]8\B;-2#CPKQ- K0=
M7%V0CVS+@2VZP+:&?$;B^16)PB@F=G(T0RZK7_:^]X#_\P56Z20WFN1&OD%\
MH<&CKICD?YF[T2NR4M(HP0LV7+ LR$:# 8E#PIJZYY+)G#-!MC8)=IK0D!]W
M.X/:SL//<PX' >_."W!O9&%:ED-*6]=+'X!FKU_-;\*/+]B+)WOQ2^S9X_'$
MR'!BYIS @>+64[@W=\AN/R3!X;1M<#(0[FT],%UQ:8B TH+"V>TU)7J8UR%
MU?H9V2FT$^>7M7WBH%V!W2^5PF/@QF[ZT\C^ 5!+ P04    " !$KU589U,F
MB^<"  "0"P  &0   'AL+W=O<FMS:&5E=',O<VAE970T,2YX;6RM5MN.TS 4
M_!4K2 BDI;GTJJ6-M&U K,2*JA7P@'APD]/$6L<.MMLN?X_MI*$I:5E07MK8
M.3,Y,X[CF1ZX>)09@$)/.65RYF1*%;>N*^,,<BQ[O "F[VRYR+'20Y&ZLA"
M$PO*J1MXWLC-,6%..+5S2Q%.^4Y1PF ID-SE.18_YT#Y8>;XSG%B1=),F0DW
MG!8XA36HS\52Z)%;LR0D!R8)9TC =N;<^;?1Q-3;@B\$#O+D&ADE&\X?S> ^
MF3F>:0@HQ,HP8/VWAP50:HAT&S\J3J=^I &>7A_9WUOM6LL&2UAP^I4D*ILY
M$P<EL,4[JE;\\ $J/4/#%W,J[2\Z5+6>@^*=5#ROP+J#G+#R'S]5/IP _-$%
M0% !@G/ X *@7P'ZSP4,*L# .E-*L3Y$6.%P*O@!"5.MV<R%-=.BM7S"S+*O
ME=!WB<:I<%TN-^);M"8I(UL28Z;071SS'5.$I6C)*8D)2/0&+3B+@2F!S9))
M@UD(2(A"*R(?T:L(%"94OC:5MG,0Z!.#TV&#P<*FKM(R3#-N7+4\+UL.+K3L
M!^B!,Y5)](XED#0)7*V_-B$XFC /KC)&$/=0W[]!@1?T6QI:/!\>M,"CY\/]
M*VKZ]9+V+=_@ E^U=A*M( :RQQL*;29?)3%?FUM9X!AFCOZ<2!![<,*7+_R1
M][;-H"[)HH[(&N8-:O,&EKU_P;P_7U#T[:.N0?<*<OF]S<A!ET9V219U1-8P
M<E@;.;SZ%C:-%-K(&U2 ,'/Z.&GSL>3S/4MHCJM]Z/7,?MR?&M1:Y0^;5='5
MWOY3^:A6/KJJ? 5[8+M6B5>!__JJ=$D6=436,&Q<&S;N>L^-NS2R2[*H([*&
MD9/:R$G'>V[2NIN"LSW77N6?[;F_5962W).LHA-!:C.?1/;(*D_L>K:.E7<V
M39W-SW7<+-/A;YHRJSY@D1*=3RAL-:77&^NO@2CS7SE0O+"):,.5CB7V,M.1
M&80IT/>WG*OCP#R@#N'A+U!+ P04    " !$KU58=SPC%RL"   B!0  &0
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
ME!M@[Z=2FE7'G?RK#S?#?U!+ P04    " !$KU58M]LF.FL"   I!P  &0
M 'AL+W=O<FMS:&5E=',O<VAE970T-2YX;6RUE5UKVS 4AO_*P8/10EL[=CY&
MEAC:9F.%%4)#MXNQ"\4Y3D1ER96.Z_;?5Y(=DT'CBT%N;'V]KY^C%TNS6NDG
MLT,D>"V$-/-@1U1.P]!D.RR8N5(E2CN3*UTPLEV]#4VID6V\J!!A'$7CL&!<
M!NG,CRUU.E,5"2YQJ<%41<'TVPT*5<^#0; ?>.#;';F!,)V5;(LKI,=RJ6TO
M[%PVO$!IN)*@,9\'UX/IS<2M]PM^<:S-01M<)6NEGESG;C,/(@>$ C-R#LR^
M7O 6A7!&%N.Y]0RZ3SKA87OO_MW7;FM9,X.W2OSF&]K-@R\!;#!GE: '5?_
MMIZ1\\N4,/X)=;LV"B"K#*FB%5N"@LOFS5[;?3@0#(9'!'$KB#UW\R%/N6#$
MTIE6-6BWVKJYAB_5JRT<ERZ4%6D[RZV.TE43!J@<5GPK><XS)@FNLTQ5DKC<
MPE()GG$T< EWDE!+)BX?#<)*Y50SC;# %YMM:9,BN%6&#)PMD!@7YOQ04UF-
M:36SD"R[(PBSEO.FX8R/<"XPNX)D< %Q%"?_RD-;<E=WW-4=>[_A$;][+GE1
M%1^!] K=3S(U)<MP'MB_P*!^P2#]_&DPCK[V8"4=5N+=DR-82VU_-TUO%[ 4
M+@<F-_#MN>+-[O[Y:9?#'6%A_GY$GIR ?-B1#WLW=$_ND7&/? $V]KP2('B.
M<,8EO"'3YOPC^G[_I%'VD(XZTE%_].SU6/2]PO_<P'&'-3YA].,3D$\Z\LF)
MH^_W'QV//CPX^=PE<L_TEDL# G-K%5U-;**Z.9B;#JG2'X9K1?9H]<V=O<M0
MNP5V/E>*]AUWOG:W8_H.4$L#!!0    ( $2O55B@B:%Q2P(  $P%   9
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
M[,=?N0GV?BJE>1VXC9)RGVOX!U!+ P04    " !$KU584B:-"+8"  "@"0
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
MJ)[WJN>GJ/4PZ>1XK>.#KBA0EZ'W&P@MK&V0_6S_O%RW7?6O>_LVW1-=,FF
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
MZV(;XYE)9>3B<$7)G/(<H.XO&)/[DWR >NML^@-02P,$%     @ 1*]56.Z
M-JWG @  70@  !D   !X;"]W;W)K<VAE971S+W-H965T-30N>&ULK59;3]LP
M%/XK5H8FD!BYM0EC;:1>AC9I2 C&]C#MP4U.&PO'SFRGA?WZV4X:TA(Z'GAI
M?#GG.]]WCNW3T8:+>YD#*/104";'3JY4>>&Z,LVAP/*,E\#TSI*+ BL]%2M7
ME@)P9IT*Z@:>%[D%)LQ)1G;M6B0C7BE*&%P+)*NBP.)Q"I1OQH[O;!=NR"I7
M9L%-1B5>P2VHN_):Z)G;HF2D "8)9TC <NQ,_(M9;.RMP0\"&]D9(Z-DP?F]
MF7S-QHYG" &%5!D$K#]KF &E!DC3^--@.FU(X]@=;]$OK7:M98$ES#C]23*5
MCYUS!V6PQ!55-WSS!1H]0X.7<BKM+]HTMIZ#TDHJ7C3.FD%!6/W%#TT>.@Y^
M]()#T#@$^PZ#%QS"QB&T0FMF5M8<*YR,!-\@8:PUFAG8W%AOK88P4\5;)?0N
MT7XJN8$UL K0!S3C3 F=5321$I1$F&7H&\$+0HDB(-'Q'!0F5)YHV[O;.3H^
M.D%'B##T/>>5U-9RY"K-R."Z:1-]6D</7HCN!^A*A\TE^LPRR'8!7"VEU1-L
M]4R#@XAS2,]0Z)^BP O"'D*SU[L'!^B$;7I#BQ?^)[U+P8NG#&^(RM',%A<$
M^C592+O^NR^!-?Z@']_<\0M9XA3&CK[$$L0:G.3].S_R/O6)?R.PG50,VE0,
M#J$GK7ILSU>?UAI@: ',\[-.HL ?N>NNA.<V_L?69(?8L"4V?!TQ^G3:^]C5
M*'$G<GCN#[T]?CU6WG PZ*<8M12C@\>H_^2<MO?SL8]O])8GYXW =M3'K?KX
M8(&VETA RE>,_(7,/#LJ!U2"(#RK;Q<N>,7TNT582JNLMDGW2_N(L+*>"U@1
MQ@A;(;[L0/7E,7YVXH+SR(_VZMYC%07Q?MW=SDNM*[BR#4QJGIIZ_<BUJVV/
MG-C6L+<^U;VS;G5/,'7CO<)"2Y.(PE)#>F>QYB3J9E9/%"]M/UAPI8^1'>:Z
M_X,P!GI_R;G:3DR ]A]%\@]02P,$%     @ 1*]56/)O#=V8 @  KP<  !D
M  !X;"]W;W)K<VAE971S+W-H965T-34N>&ULS55M:]LP$/XKAU=&"VG\DK>2
M.8:VV5AA92%9MP^E'Q3[[(C*DB<I+_OWDVS'R\!)8=U@$&*]W#WW/*>3+MP*
M^:Q6B!IV.>-JXJRT+L:NJ^(5YD1U18'<[*1"YD2;J<Q<54@D2>F4,S?PO*&;
M$\J=*"S79C(*Q5HSRG$F0:WSG,@?-\C$=N+XSGYA3K.5M@MN%!8DPP7JAV(F
MS<QM4!*:(U=4<)"83IQK?WPSLO:EP5>*6W4P!JMD*<2SG=PE$\>SA)!AK"T"
M,9\-WB)C%LC0^%YC.DU(ZW@XWJ-_*+4;+4NB\%:P;S31JXESY4""*5DS/1?;
MCUCK&5B\6#!5_L.VMO4<B-=*B[QV-@QRRJLOV=5Y.' (@B,.0>T0E+RK0"7+
M*=$D"J78@K36!LT.2JFEMR%'N3V4A99FEQH_'<UQ@WR-< ESM&=(>08SE.5I
M\QCA\Y+1C)0)/)^B)I2I"S@#RN&>,F:65>AJP\.BN7$=\Z:*&1R).<6X"SV_
M X$7].!A,87SLXO?85PCH]$2-%J"$K=W6DOG12D=>+\K3%E@ E]H;NU$"@NS
MI5)2%<OC)X,-=QIS]=0FL"+2;R=B+])8%23&B6-NBD*Y02=Z^\8?>N].R.PU
M,GNGT*-?ZHH#=:)1U\:W0O2K*K 7=1,%O4%W%+J;%B;]ADG_!29_*^$=6&@B
M-9@:1GB\WE'U-+;ET;_T?/-KDW22VA\>P: 1/OA?*FWP#V0.&YG#5U5:QZ['
MR+5YOMNX5^B^=U!U7O>JO>9&#:?1*SGA/N/:= ]K145BTRXQ%AFGQZ[(Z;!^
M +G@>J7:TNH>O+^VE=T3F5&N@&%JP+SNR!RBK-I#-=&B*)_DI=#F@2^'*]-1
M45H#LY\*H?<3^\HW/3KZ"5!+ P04    " !$KU58FRTVG38"   I!0  &0
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
MK4.TPEOP3-1_P=-6-IB Q5I(GF^5E05Y6FS^)S^V@6@H0-*C@+8*Z% %O%7
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
MY?T=Y@4N$3+[I36I=C^!Z]N/YP5"#L_$'=W]]H*.4H5^PF:V+XI5Q_\80"_
M*9T+0"8.!G"8,KBDR*#2;2-W)/R#J^-K'R5V&3RX!?S1Y$9'*TN &<UL9Q0^
M4\ Y@%ARHP!*A#IQP(#=QI#%Z0)PFY%]$@ B'C! #(<'Z&8^M8EMS)3 ;N*
M@?]G/P.6=A]2?HX[E\\[GQG<X9Y\@"8W"J $=_#Y +9STF(CU,M!!$0ZB8!,
M'$7PG$5@6-*].[V0FW3: 8EF1FZX9R2@R8T"*)$;?)* [7S(@ ?[T1741;ME
M>\]Y]Z[HBJN+;7''>\*\*ZLV6//;7CY\.92U:<J[^].;KM[VGB^"Z[KKZLW^
MY3TO;G@S-.A_?UO7W?'-LM=_K)OO^WM<_0]02P,$%     @ 1*]56$#_)/.L
M!   S1H  !D   !X;"]W;W)K<VAE971S+W-H965T-C$N>&ULK5E=<^,F%/TK
MC+K3R<ZDT9>_DMJ>22RUFYFFS6RZ[4.G#UBZMIA(X 44;_Y]$5)DRY;9>,J+
M+3#G7#@'$-=,MXP_BPQ HF]%3L7,R:3<W+BN2#(HL+AB&Z#JEQ7C!9:JR->N
MV'# J085N1MXWL@M,*'.?*KK'OE\RDJ9$PJ/'(FR*#!_O8.<;6>.[[Q5?";K
M3%85[GRZP6MX OEE\\A5R6U94E( %811Q&$U<V[]F]@?5P#=XB\"6['WC*JA
M+!E[K@KWZ<SQJAY!#HFL*+#Z>H$%Y'G%I/KQM2%UVI@5</_YC?T7/7@UF"46
ML&#YWR25V<R9."B%%2YS^9EM/T$SH&'%E[!<Z$^TK=N.QPY*2B%9T8!5#PI"
MZV_\K1%B#^"')P!! P@. ,'@!"!L .%AA%. 00,8O!<P; !ZZ&X]=BU<A"6>
M3SG;(EZU5FS5@U9?HY5>A%83Y4ER]2M1.#F_*X6J$0(M6+$D%%?N"?03^AUS
MCBL/T44$$I-<?%2U7YXB=/'A(_J "$5_9JP4F*9BZDK5DXK/39JHBSIJ<"*J
M'Z '1F4F4$Q32+L$KAI".X[@;1QW@9'Q ;\B?W*) B\(^OIC1D>07*'0U_"P
M!QZ]']X7/7X_W#=H$;:>AIHO_)ZGM\G7D@BB5^0_OZDZ="^A$/_V=/&NIAST
M4U;;U8W8X 1FCMJ/!/ 7<.8__N"/O)_[U+9)%MDDBRV1=7P9M+X,3.SS7QE+
MMR3/^^0W(L^5OR8;:K+J3?$R'XV]<#B:NB_[PO8V\R?#;K.XIUDXFGB[9ATQ
MAJT80[,8.9%)ANYITB>'$7NN'#;)(IMDL26RC@&CUH"1_5UB9-,7FV213;+8
M$EG'EW'KR]BX,%I?\,Z72[0!G@"5ZNR&V J],$GH6KV$):@.R*8MAQ1=8%5X
M:_VQS\(ZNN_MK6>_N^(7Q@Z>:XQ-LM@26<>826O,Q&C,[7K-88TEH$2=D4@*
M7)^6D.28BA5P?GB0J?6>'&V?X>#:\PXD-X8^5W*;9+$ELH[DUZWDUT;)%Z>$
MOD09R],E3I[[)+\^DGSB'2ENC'RNXC;)8DMD'<5];Y<0>$;-/S7"HI0(R<FR
MU"E!G\QFHG/?!@W;OFL#_]"UR&K,V!9;5^J]W,O_O]-;[_R$I6C%>,>17D/,
MX8(!*G36U2N_$7ON>K#*%MMBZ]H4[&P*C+K=J_<N79-E#@@+ ;)_,01'TS<X
MWG3,D<Y6V29;;(NMJ_(N:?6-N==\@476*VP-&^^?5T;'PEI-.:VRQ;;8NL+N
MLD[?G';^(3/@S<R]1!1DK\J#(Y5[1+:9I496V6);;%V1=]FL_YUTUI#;-]#.
M$3 8'JMK-4^URA;;8NNJNTM5?6/&-=]/43GDZ@R>JD.X.+$36TU2K;)%#9OY
M+1';BME5>Y> ^N8,-!:2%%KC4L"JS%%.5H N"$6O@+GHS2K-E&>+;NY@6'<$
MC9OS#!JA%+_V38;(:K]B6VRU,>[>W_8%\+6^+Q%J8I=4UO]\M[7MG<RMOHDX
MJ%_X-U%]L[*CJ2]Z'C!?$RI0#BM%Z5V-U<SC]=U)79!LHR\'EDQ*5NC'#+ Z
MDU8-U.\KQN1;H0K0WF#-_P-02P,$%     @ 1*]56 LULF.T P  MA$  !D
M  !X;"]W;W)K<VAE971S+W-H965T-C(N>&ULM5A=;]LV%/TKA%8,";!&7_YJ
M9@N([;8+T !!TVX/PQYHZ<HB2I$J2=GUOQ\I*;*=R QB*"^V2/$<G7.I*UYR
MNN7BA\P %/J54R9G3J94<>VZ,LX@Q_**%\#TG92+'"O=%&M7%@)P4H%RZ@:>
M-W)S3)@33:N^>Q%->:DH87 OD"SS'(O='"C?SAS?>>SX2M:9,AUN-"WP&AY
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
M!:=#0R#;TMQVM*A==5L(;6JE:Y;F-4-I \S\4@C]W+$%LWL?L[]02P,$%
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
MIY$1D/454D^T**HNO!#:]/1JF)E;%Z0-,-^70NC7B6WL[3T>_P%02P,$%
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
MYNHXCONH1:*=M=W =;V.CP&4&\&NCSXJC#UGV$;8V@A';=PQB4K #JQ*V(O
M]UPG[K@90D5=SUD?!6$ ]U0E:NU$HW;.*\8E^8O,)TM=E$@(+ 78J&N,@P6A
MB.9-Q8;L1?TR^#!Q._:&4 %,.O;ZJ#"&_K"[N'47C[J[I!*K(SE8FK@?%?2Z
ME>F#/!AW_&4#2E&P)_*DC3PY8)N]*<#>39;TCJL;1&XGO[,!5)CLG(;:2Q\5
M!W'<\6+O?)TKS)>FRQ$JO@V5]2>NG6T;J7/3/W3F+U2#5?=#KS)U=W:%^))0
MH9POE*1S&JF0>-WQU /)UJ8'F#.I.@KSN%)-(N8:H-XO&),O [U VW:F_P!0
M2P,$%     @ 1*]56-;;+M#2 @  3PH  !D   !X;"]W;W)K<VAE971S+W-H
M965T-S(N>&ULK99O;YLP$,:_BL6DJ96V\)]$68+4!E6;M*E5JJVO7;@$JV S
MVTG:;S_;4!0B0)F:-XD-]SSG^^$#+PZ,OX@<0*+7LJ!B:>525G/;%FD.)183
M5@%5=S:,EUBJ*=_:HN* ,R,J"]MSG,@N,:%6O##7'GB\8#M9$ H/'(E=66+^
M=@L%.RPMUWJ_L";;7.H+=KRH\!8>0?ZN'KB:V:U+1DJ@@C"*.&R6UHT[3Z8Z
MW@3\(7 01V.D*WEF[$5/?F1+R]$+@@)2J1VP^MO#"HI"&ZEE_&T\K3:E%AZ/
MW]WO3.VJEF<L8,6*)Y+)?&G-+)3!!N\*N6:'[]#4$VJ_E!7"_*)#'1LZ%DIW
M0K*R$:L5E(36__BUX7 D\,(!@=<(O%-!,"#P&X%_;H:@$02&3%V*X9!@B>,%
M9P?$=;1RTP,#TZA5^83JQ_XHN;I+E$[&/T%!$^@K>E0;*ML5@-@&W<L<./I!
MZUVE'\]5 A*30EPO;*FR:JV=-AENZPS>0(8$T@GRW2_(<SR_1[XZ7^[UR)/S
MY6Y7;BM4+2^OY>49/W_ [\EL),C0S1ZXZ@NT!MU<A&Z108DD\!)=$8K> '-Q
M/>\#5J<(^E/H1I^+"J>PM%0G"^![L.+/G]S(^=:'[Y)FR87,.FC]%JT_YA[?
M5XJHU"0+LRG[R(T[^#5T%**249D+Y/DHPV]]3JMQIZ!Q<FLGY WY).?Y!.V*
M9CU.'5Q!BRL8M;XC%-,41F"-ZUVSM#XTY^C0K*TH&F0S;N0U;+S1I]5A$[9L
MPO_KTH2(E.VH1&LLH;<GPTOVY"7-D@N9=4!&+<CHPSU9.[CU&U@?,_:Q,W$B
M1[WL]\=0^N-"/^K&)0-Q7AO6J63:5C+]8+M,>_,&T?2DCH&XZ4F]R4#<+#HI
MQ#[Z>NNCUB_,MX0*M=*-$CJ3J=H O#Z^U!/)*O-!?V92'0_,,%<G/N Z0-W?
M,";?)_J,T)XAXW]02P,$%     @ 1*]56&GC%4!) P  B P  !D   !X;"]W
M;W)K<VAE971S+W-H965T-S,N>&ULM9=M;YLP$(#_BL6JJ976@AW>TB5(:ZMI
MDUJMZLOVV4TNB57 S#9)^^]G0PKI,,F4KE\2&[A[[@P\<48K+A[E D"AIRS-
MY=A9*%6<NJZ<+""C\H07D.LS,RXRJO14S%U9"*#3*BA+7>)YH9M1ECO)J#IV
M+9(1+U7*<K@62)991L7S&:1\-7:P\W+@ALT7RAQPDU%!YW +ZKZX%GKF-EFF
M+(-<,IXC ;.Q\P6?GI$JH+KB)X.5W!@CT\H#YX]F\GTZ=CQ3$:0P428%U5]+
M.(<T-9ET';_729V&:0(WQR_9OU;-ZV8>J(1SGOYB4[48.[&#IC"C9:IN^.H;
MK!L*3+X)3V7UB5;UM9$F3DJI>+8.UO.,Y?4W?5HOQ$8 (3T!9!U JKIK4%7E
M!54T&0F^0L)<K;.90=5J%:V+8[FY*[=*Z+-,QZGD$G1+$AVC6WV_IV4*B,]0
M=1!=,OK 4J:>T155I3"#PPM0E*7R"!T@EJ.[!2\ES:=RY"I=B\GH3M;<LYI+
M>K@7,#E! _P)$8\,T/WM!3H\.'J=QM6M-/V0IA]2Y1WTY/U1@*"*Y?.Z"6ME
M=0;?GL&\!J>RH!,8._HYER"6X"0?/^#0^[REOD%3WV!;]D2WZ]MJJJ."*LJ\
M2<N$Q!HY<I<6F-_ _%VPP :KHZ)-F!>'L1T6-+!@%RRTP8(.#,?Q,+3#P@86
M[H)%-EC8A7F!1^RPJ(%%NV"Q#19UE]'W>QJ+&U:\E76W "W7F0)A(\:6M1ST
MW+=A0QQN)W)%4S0K]2L.QC L*S.45@8HZ+,6L+*^1,-.*3&)<,\#B[U61][6
M:BY!RE/$LJ)4,-6.T0L!4EG]XG4J.(Z&7M!3P880\3^L1_HB/RL:=]"1'_>B
M6W?A[?+ZRG*:3V"+NO![N NW\L+[V6L=]NK!#+W0[UF0UE]X/X'AKL%PB*,>
M7&LPO)_"<-=A?0]Z*S"\G\%P5V%]K-9?>#^!X:[!^EBMO_!;!(:[!NLCMO["
M[R(PW#48CL(8V\LAK<'(_S(8L1AL,.RQ"&D%1MXLL'6&X%7O)/[[M\O=V%>:
M/?H5%7.62[VX,QWGG40Z@:BWO?5$\:+::CYPI3>NU7"A_RJ ,!?H\S/.U<O$
M[%Z;/Q_)'U!+ P04    " !$KU58>.H:]?X"  #U!P  &0   'AL+W=O<FMS
M:&5E=',O<VAE970W-"YX;6RM5=M2VS 0_16-RW1@IN!;XE":>"8)O?# #$-*
M^]#I@V)O8A59"I(<P]]W93LF!"?TH2^V+KO'YUBKL\-2JGN= 1CRF'.A1TYF
MS.K"=76204[UF5R!P)V%5#DU.%5+5Z\4T+1*RKD;>%[DYI0))QY6:S<J'LK"
M<";@1A%=Y#E53Q/@LAPYOK-9N&7+S-@%-QZNZ!)F8.Y6-PIG;HN2LAR$9E(0
M!8N1,_8OI@,;7P7\8%#JK3&Q2N92WMO)53IR/$L(."3&(E!\K6$*G%L@I/'0
M8#KM)VWB]GB#_J72CEKF5,-4\I\L-=G(.7=("@M:<',KRV_0Z.E;O$1R73U)
MV<1Z#DD*;63>)".#G(GZ31^;_["5X$=[$H(F(=A-Z.U)")N$L!):,ZMD75)#
MXZ&2)5$V&M'LH/HW53:J8<*>XLPHW&689^*O4J8EXYQ0D9(K8:A8LCD',M8:
MC":G9(9UDQ:X(A=DFN$V:,($,1F0*57JB8DE&>>R$,9&M'#'EV HX_H$(>YF
ME^3XZ(0<V<3OF2PT?DP/78/\+0LW:;A.:J[!'JY^0*ZE,)DFGT4*Z4L %X6W
MZH.-^DEP$/$2DC,2^A](X 5A!Z'IOZ<'!^B$[6&$%5[XUF'\NI7XQ#HMJ4I_
M=_VI&JC7#62O_H5>T01&#MYM#6H-3OS^G1]YG[I4_B>P%YI[K>;>(?1X DLF
MA*VB.>54)-"EMH;H5Q#6E]9Q-/#\\_[076_KZ @+HW/O.>P%PW[+L'^0X?,5
M21X*IB E"R5S,B\T!FI-$IG/F:#6E3J+ND8?;+'R=GB_C@C#GO^QFW;4THX.
MTL;J00\3:")*@4B>B%%4:$YK]\3;+O$.*T+3/^@RZ,NFDWSTBIH_\'?HOXXY
M#?>0'[3D!P?)XP5_HR0&7241]J,=;IUAVY53TW.W'#0'M:P:BSU:]+7:3MK5
MMG>-*\O>69]@3ZM;T#-,W1"OJ<)*UX3# B&]LP&24G63J2=&KBJ?GDN#KE\-
M,^S+H&P [B^D-)N)_4#;Z>._4$L#!!0    ( $2O55@.)AZ;#P,  .T+   9
M    >&PO=V]R:W-H965T<R]S:&5E=#<U+GAM;+566V_:,!C]*U8V39W4-E<"
M=! )FG6KU$ZH5;>':0\F,<2J8S/;0+=?/]L)*="04BGC@?CRG>/O'%_T#=:,
M/XH,(0F><D+%T,JD7%S8MD@RE$-QSA:(JID9XSF4JLOGMEAP!%,#RHGM.4YH
MYQ!3*QJ8L0F/!FPI":9HPH%8YCGD?\:(L/70<JW-P!V>9U(/V-%@ >?H'LF'
MQ82KGEVQI#A'5&!& 4>SH35R+^*^CC<!WS%:BZTVT$JFC#WJSG4ZM!R=$"(H
MD9H!JL\*72)"-)%*XW?):55+:N!V>\-^9;0K+5,HT"4C/W JLZ'5LT"*9G!)
MY!U;?T6EGH[F2Q@1YA^LB]C0MT"R%)+E)5AED&-:?.%3Z<,6P T/ +P2X.T#
M@@, OP3XQP*"$A 89PHIQH<82A@-.%L#KJ,5FVX8,PU:R<=4;_N]Y&H6*YR,
MOC"6KC$A -(47%,)Z1Q/"0(C(9 4X Q\@YQ#O3?@)$828B(^JM&'^QB<O/\X
ML*7*03/92;G>N%C/.[">ZX%;1F4FP&>:HG27P%;)5PJ\C8*QU\@8H^0<^.XI
M\!S/KTGH\GBX5P./CX>[#6K\:C]\P^<?X+O"%$MT=J,,K]N/GS<J'EQ+E(M?
M=>87Y$$]N7Y"+L0")FAHJ3="(+Y"5O3AG1LZG^J,:Y,L;HELQ]2@,C5H8J\.
M^2G ^0)BKIXM"0@3HL["@JICJ/2CN8J<@;W:]N75B+@I8D=!IU+0:50PRAF7
M^"\T;R6; ?Q\,J Y&75*"LKN5A:>$WB!X^P+J@ETPW[X(C"N"_3\WG;@CKRP
MDA<VRILL>9*IU_MH:>&KFQ2^2'5?S$L.S^E[![5T*RW=YL-&L$PR=7>3NL0;
ML6^]H&V2Q2V1[7C6JSSK_<]7K]>FJ6V2Q2V1[9C:KTSMMWNI&NG>:F._YG:9
MW]XM;&G1PB%[JQ#*$9^;@E* A"VI+"J*:K2J64>F5-L;'ZM:MB@]GVF*0O@6
M\CFF A T4Y3.>5=)Y$5Q670D6YAR:\JD*MY,,U/U..(Z0,W/&).;CEZ@JO"C
M?U!+ P04    " !$KU58AI -CI4$   P&@  &0   'AL+W=O<FMS:&5E=',O
M<VAE970W-BYX;6RUF6MOFT@4AO_*B*U6K=0$YG!UUK:4B]I&:JNH:7<_K/;#
M!,8V"C#>F;'=[*_? 3M@8""--/X2<SGGY3TG,SP#3'>,/XH5I1+]S+-"S*R5
ME.L+VQ;QBN9$G+,U+=29!>,YD6J7+VVQYI0D55*>V> X@9V3M+#FT^K8'9]/
MV49F:4'O.!*;/"?\Z8IF;#>SL/5\X%NZ7,GR@#V?KLF2WE/Y8WW'U9Y=JR1I
M3@N1L@)QNIA9E_CBVG7*A"KBSY3NQ-$V*DMY8.RQW+E-9I93.J(9C64I0=3/
MEE[3+"N5E(]_#Z)6?<TR\7C[6?U#5;PJYH$(>LVRO])$KF969*&$+L@FD]_8
M[A,]%.27>C'+1/47[0ZQCH7BC9 L/R0K!WE:['_)ST,CCA*P-Y  AP3XU03W
MD.!6A>Z=567=$$GF4\YVB)?12JW<J'I39:MJTJ+\-]Y+KLZF*D_./S*6[-(L
M0Z1(T&TA2;%,'S**+H6@4J S=*\&3K)11]BB?_X]^JI&VML;*DF:B7<J_,?]
M#7K[YAUZ@]("?5^QC5#"8FI+Y;6\HAT??%WM?<& KQL:GR,7OT?@@*M)O_[U
M=&BGVZI#=9N@;A-4>NZ WH>T2"4]^ZR&G*Y-?W]6\>A6TES\HZMU+^[IQ<N9
M>B'6)*8S2TU%0?F66O/??\.!\X>N<D-BK3ZX=1_<,?7Y1\Z$0#'A_"DMEFA+
ML@W5%;Q7\2N5\DZRG6.(HLB;VMOC4C1A+G:.PEHFO=JD-VKR,HXW^28C4OVO
M2,ZX3/\CY3U#9W2O%!XY. L"SYETC&K"O @/&?5KH_ZHT7+RO-Q+OW?M +S0
M[SCL1T4P<1R]P: V&(P:O*YN0)2K&W96M5"LTK5V-H_JO':$&Q)KE1S6)8>G
MG.FAR3X8$FOU(:K[$!F9Z5%_=$ZBP.F,SI>B6A8GM<6)L7D^Z4]@B+S0[?C4
MA.&)'X'>*'8:RCH&9OI!Y/CR'G:CL&-2$^8[$$8#)H^6 GC4Y W=JF7=6G53
MTGA5L(PMG[0V1V5>.\A-J;6+;L".3TIV;!3MIM3:O6C@CLW0_2#3'H#8[4[Z
M%\/:-AN\8W-\QQIRN^!!=R6BBP-P@W# ;(-X;(+QN(]O'(9.T'79#X,P#-P!
MDPWF\3CGOW.24%20G.J7ZD;I;DJM76O#=WQ2P&.CA#>EUNY%PWAL!O*XSV]W
M@GOS_86HMLF&\M@<YK$&X*[O0=>I;CG@!P/+>6@P#R8P#WU^NT'4L:@)PJX7
M##AL& _CC%<#GO)"V5QS)EGYOH$DB1I:0C_SQ]5>_>1Z"M3#T3/\:1_BS3[%
MGP+UT* >S* >^@SW)KWG^)>BVB8;T(,YT(,&X'@2=N]1VC OQ -6&\R#"<Q#
MG]^N@WO=U$3Y> #RT$ >QB%_1>)'M:37^C(*>%-J[3H;P,-) 0]& 6]*K=V+
M!O!@!O#01W=OYO1# (9>,$%#=S!'=^ACN^=21_9!FVY#=M<$V0\B_HC!T9"]
M.?OH=7[Y+>4+X<NT$"BC"Y7CG(<JF>\_3^QW)%M7;_@?F)0LKS975*WH>1F@
MSB\8D\\[Y4>#^B/1_']02P,$%     @ 1*]56-\PFE[= @  O@D  !D   !X
M;"]W;W)K<VAE971S+W-H965T-S<N>&ULK99=;YLP%(;_BL6JJ96V\A4@= E2
MFJQ;+S953;M=3+MPX"18-9C9)FGWZV<#16E"217M!OQQWM?/.7S8HPWC#R(%
MD.@QH[D8&ZF4Q85IBCB%#(MS5D"N9I:,9UBJ+E^9HN" DTJ44=.Q+-_,,,F-
M:%2-W?!HQ$I)20XW'(DRRS!_N@3*-F/#-IX';LDJE7K C$8%7L$<Y'UQPU7/
M;%T2DD$N",L1A^78F-@7TU#'5P$_"&S$5AOI3!:,/>C.=3(V+ T$%&*I';"Z
MK6$*E&HCA?&G\33:);5PN_WL?E7EKG)98 %31G^21*9C8VB@!):XI/*6;;Y"
MDX^G_6)&175%FR;6,E!<"LFR1JP(,I+7=_S8U&%+8 ]>$3B-P'FKP&T$;I5H
M35:E-<,21R/.-HCK:.6F&U5M*K7*AN3Z*<XE5[-$Z63TA;%D0RA%.$_0=2YQ
MOB(+"F@B!$B!/J*Y>F^24HVP)?K\6*CJ0X(F&>.2_,75D]"CN:@"]@U.9R Q
MH>),6=W/9^CTY R=()*CNY250BTJ1J94>6@:,VZ8+VMFYQ7F&<3GR+4_(,=R
MW [Y].URYZ7<5-5K2^BT)70J/_>X$LZ(B"D3)0?T:[(0DJLW]W=7TO4J@^Y5
M]-=\(0H<P]A0GZL O@8C>O_.]JU/727X3V8O"N*V!7'[W"-5UT%7@K7*JU3Z
M[[*.[- +PY&YWB;O]3Z2?-"2#PZ1>UWDM2K8)O?#P-\A[_4^DMQKR;U#Y'X7
MN;=''MJANP/>:WTDN-^"^X? @RYP?Q_<\NP=\%[K(\&#%CPX!#[L @_VP/UA
MN O>:WTD^+ %'_:"WZ6@]ONE!-Z%/]S##WQOA[[7_TCZL*4/>^F_JY--C#E_
M(OD*K3$MH2N+<.]7XSN#8#>/_:BA$UI6&U4#FEN[JS[9?,-\17*!*"R5SCH/
ME &O3PMU1[*BVG 73*KMNVJFZH %7 >H^25C\KFC]_#VR!;] U!+ P04
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
M5RI?5YLKP6-1E"?H[^]SW1LT.V6 W:L:YW\!4$L#!!0    ( $2O55C3,_Z
M(0,  *H(   9    >&PO=V]R:W-H965T<R]S:&5E=#@P+GAM;*V674_;,!2&
M_XJ5H0DD()]M"FLC0<LT)-@0C.UBVH6;G+86B9W93LOVZW?LA*PM:<7%;MK8
M/N?-\_KK9+@2\DDM #1Y+G*N1LY"Z_+<=56Z@(*J4U$"QY&9D 75V)1S5Y42
M:&:3BMP-/*_O%I1Q)QG:OCN9#$6E<\;A3A)5%065OR\A%ZN1XSLO'?=LOM"F
MPTV&)9W# ^C'\DYBRVU5,E8 5TQP(F$V<B[\\_' Q-N ;PQ6:NV9&"=3(9Y,
MXSH;.9X!@AQ2;10H_BUA#'ENA!#C5Z/IM*\TB>O/+^H?K7?T,J4*QB+_SC*]
M&#D#AV0PHU6N[\7J$S1^>D8O%;FROV35Q'H.22NE1=$D(T'!>/U/GYMY6$OP
M^SL2@B8AV$Z(=B2$34)HC=9DUM:$:IH,I5@1::)1S3S8N;'9Z(9QLXH/6N(H
MPSR=3&"JR3576E:X-EJ1$_* .R6K<B!B1KY46FG*,\;GQ(8>3D!3EJLC#!P+
MO@2IV11C[> )";R@O]'_66@PHH\/$W)X<$0."./DZT)4"E75T-7HP9"X:<-[
M6?,&.WC]@-P*KA>*7/$,LDT!%\VW,Q"\S,!EL%=Q NDI"?UCPQYV (W?GA[L
MP0G;!0FM7OBV!2$_;C" 7&LHU,^NZ:K5HFXU<P><JY*F,'+PD"N02W"2]^_\
MOO>AR^I_$MLP'K7&HWWJR=5L!O9,XP[1@/J:2*JARW,MY-=+8NZI9>*=>EXX
M&+K+=3L[XJ(V; .TUX+V]H+>2<935M*<T$)47'<1U@J]M1>'43\:G&T!O@Z+
M_3#NA=V _1:POQ?P!I0Z)Q5'/#R%?R##>PTW%5.JHCP%D@JE.X]>+1NOX9P$
M9X-@"[HCZLR+=C#'+7/\!N:TDM)L^M* XR6/-U N^/P$]T-A3711QZ]XO"WB
M?1$;M(.6=K"?=@/JF.1(OPW?A3KHV!9ASXNW>%^'Q5X4^]O0[MJU7X"<VVJ(
M'&93UO=?V]L6W M;9[;Z+[$0UW7SGTQ=Q6^IG#.NT. ,);W3&*%D71GKAA:E
M+2Y3H;%4V<<%?DR - $X/A-8 )J&>4'[>9+\!5!+ P04    " !$KU580I39
MA:D"  "+!P  &0   'AL+W=O<FMS:&5E=',O<VAE970X,2YX;6RM55%OTS 0
M_BNG,*%-@J9)V@Z--M*Z@-C#T+0Q>$ \N,FUL>;8Q7;:\>\Y.UEHIZP:TEX2
M^WS?Y_ONY+OI5NE[4R):>*B$-+.@M'9]%H8F+[%B9J#6*.EDJ73%+&WU*C1K
MC:SPH$J$\7 X"2O&99!.O>U:IU-56\$E7FLP=54Q_6>.0FUG010\&F[XJK3.
M$*;3-5OA+=J[];6F7=BQ%+Q":;B2H'$Y"\ZCLVSL_+W#=XY;L[,&IV2AU+W;
M7!:S8.@"0H&Y=0R,?AN\0"$<$87QN^4,NBL=<'?]R/[9:R<M"V;P0HD?O+#E
M+/@00(%+5@M[H[9?L-7C \R5,/X+V\9WD@20U\:JJ@53!!67S9\]M'G8 423
M9P!Q"XB? D;/ )(6D+P4,&H!(Y^91HK/0\8L2Z=:;4$[;V)S"Y],CR;Y7+JR
MWUI-IYQP-LUP8>%2&JMK*J8U\!Z^,JV9JP8<9V@9%^:$K'>W&1P?G< 1< E7
M7 BJFIF&EF)P3&'>WC=O[HN?N2^*X4I)6QKX) LL]@E""KY3$#\JF,<'&3/,
M!Y!$[R >QDE/0!<OA\<]\.SE\.B FJ2K1^+YDD/UR+C)A3*U1OAYOJ#:T.OX
MU9?KAFO4S^4ZQIE9LQQG ;4$@WJ#0?KV3309?NS+TVN29:]$MI?#49?#T2'V
M]%):)%8+^$#=T6!?YAJ&J'D6KC=NTGAP.@TWNQGI<4H&HWVGK-=IW#GM*1AW
M"L8'%7Q3E@D@"9PZ&Q:P9%S#AHD:02W!E@A26>Q]?N.><(;1TZ@O>MS&T>E.
MW(VX@V'^;QG#G395H5[Y=F\@5[6TS7OOK-U$.?>-](E]3I.F&0S_:)HQ=<7T
MBDL# I=$.1R<D@#=M/YF8]7:-\.%LM1:_;*D:8G:.=#Y4E%BVXV[H)N_Z5]0
M2P,$%     @ 1*]56$(:Z,*H P  O@\  !D   !X;"]W;W)K<VAE971S+W-H
M965T.#(N>&ULM9==;]LV%$#_"J$60PNL$4G;^LAL 8O38@$Z+$C:]:'8 R-?
M6T(ET25I._OW(V5%4B92 HKF)18EW7ON9<0#<GGBXIO, !1Z+(M*KKQ,J?VE
M[\LT@Y+)"[Z'2C_9<E$RI8=BY\N] +:I@\K"IQ@'?LGRRDN6];U;D2SY015Y
M!;<"R4-9,O'O%13\M/*(]W3C+M]ERMSPD^6>[> >U.?]K= CO\VRR4NH9,XK
M)&"[\GXGEU<T- 'U&W_G<)*]:V1:>>#\FQG<;%8>-A5! :DR*9C^.<(:BL)D
MTG5\;Y)Z+=,$]J^?LG^HF]?-/# ):UY\R3<J6WF1AS:P98="W?'3'] TM##Y
M4E[(^B\Z->]B#Z4'J7C9!.L*RKPZ_[+'9B)Z 90Z F@30.NZSZ"ZRFNF6+(4
M_(2$>5MG,Q=UJW6T+BZOS'_E7@G]--=Q*EGSLLR5GF8E$:LV:,TKE5<[J-(<
M)'J'[O5GL#D4@/@6W1Y$FND90/V@-]>@6%[(M^@URBOT*>,'J1/)I:]T>0;B
MITTI5^=2J*.4:T@OT(S\BBBF,_3Y_AJ]>?WV>1I?=]>V2-L6:9UWYLC[D5>[
M=PI$:6L ??VH7T<W"DKYCZWF<^ZY/;=9,Y=RSU)8>7I12!!'\))?7I$ _S92
M^:RM?#:6/=$3,;?5=(Y:U%%FV1V314S">.D?+;!Y"YM/P18VV#DJ[,'B&%,[
M:]&R%E.LP,9:#%@$4QS984$+"Z9@H0T6#&&$V%%ABPJG4)$-%0Y0<VPG12TI
M&B5]RD!+>*L_:QLO&O <N+C%Q>,XKEAA(\4#4AC/7<T1W%D)C_+67"JCG#LX
M0G5X9ARK6$:S_> J)3V'DA<T3)/\)Q??V9&,*LPIF2;LV4<;!;'#,J1S&IF4
MFM4S35B?%Q"\<. ZJY%)K5E50X9>BYSKGW1B(Y-FL\J&6-3FI'5F(Y-JL_J&
M#-WF7).=V\BXW,:50X:.<Q$[QY$)R;FL0X:""V8X"!S SG)D7'-_[4$PL_]!
M[Q_UOE=.BV<TWP^N7=IIDN*7W-J\A#5I9TTZ*C:G>)JPY[N >>3XFFAO&S@I
M.JMXZ%!TLS .';C.<W32<U;QT*'G*';B.L_12<]9Q4.'GG/-9"<Y.BDYJW;H
M4'(N5J<X.JZX<>O0H>A<Q,YS=,)S+NLT<?U]-PEFX?Q_0+]W&C,GVS^9V.65
M1 5L=1R^"'4"<3XLG@>*[^L#V@-7^KA77V;Z@ W"O*"?;SE73P-SYFN/[,E_
M4$L#!!0    ( $2O55AZB00)+P(  "8%   9    >&PO=V]R:W-H965T<R]S
M:&5E=#@S+GAM;*U4WVO;,!#^5X161@M;Y!]M,C+;T#J,[:$C-'1[&'M0[$LL
M*DN>),?9?S])=DP*[BAC+[9.NN^[NT^Z2SJIGG0%8-"QYD*GN#*F61*BBPIJ
MJF>R 6%/=E+5U%A3[8EN%-#2@VI.HB"8DYHR@;/$[ZU5ELC6<"9@K9!NZYJJ
MWW? 99?B$)\V'MB^,FZ#9$E#][ !\]BLE;7(R%*R&H1F4B %NQ3?ALL\=O[>
MX1N#3I^MD:MD*^63,[Z4*0Y<0L"A,(Z!VM\!<N#<$=DT?@V<> SI@.?K$_LG
M7[NM94LUY))_9Z6I4OP!HQ)VM.7F07:?8:CGQO$5DFO_15WONYAC5+3:R'H
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
MNZEGIF(9S@*ZB@;U!H/TW9MX%'WNB&[01#?H0D_]X6_\X:LE9$I*BLSXX_W
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
M)L8[_>MV_2B&\6RQFR#DW5Q/K%1(4<WW JF]F/#%Z6ZR1WX]/97X9"RR;R=
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
MT2XSHFVCY^6HB/1L-R/(L[HFIAA;B<?&.(=U-$RMRD\CU^_ZCN\XSK#UM!M
M0\MVIS?H[K4,32V==K^_US("FDK-]9W2]1VKZ]5W&N%LKDL+NJ'9AJ,)HTN&
M4Y/7K;!CO0X)"R!A(20L H+5PMLMP]L]<:WM0F8$)"R A(60L @(5LN(7ID1
M/>L7_I;SC=[@T87\C5#N[KC>W6WT[HZ1!*MG@J*I+@CKO""@,[FKR_=WYZ94
MR#ON[E:\IE>O=6/KX(Z-,"0LA(1%0+!:A/MEA/OVU;38@<M RR!NY Z8U>-H
MBEU_?[7JJD7M[6(UMO9];  A82$D+ *"U0(X* ,XL 9P]V?8%\R61*B:3#<"
M?29/)$%_9,8=D15Z;"6&A 60L! 2%@'!:F%VG>I7N'/BU;D8 %!2@-("4%H(
M2HN@:/7$V)%G7'L%R+_N<HE>5[6@2 #SHOU)M9S)Q,!+8W&P=WAT(D#2 E!:
M"$J+"IK*AW)E=)J=<E&L!]BK NS]KQ+_94N-4;12CXXB)"T I86@M B*5H]V
M)7BYIU:\7%#)"Y06@-)"4%H$1:LG1J5[N7;AZP?4>5!=#)06@-)"4%I4T&IU
MWCU0Y2MMS;6+:^]6^14CYBB"ZFR@M "4%H+2(BA:/=Z5V.:>6FUS0>4V4%H
M2@M!:1$4K9X8E>;FVD6W'U#G(>6J,2@M *6%H+2HH-7K_,']?"6YN7;-3;T/
M-X8)4I0:@]("4%H(2HN@:/5P5@*<.SAU(0=5ZT!I 2@M!*5%4+3Z*9!*L?.L
MPL]WO:FV(X\-=4'K[=2OMF\0Z@-#0[=M:!@:&OJFAA'41.J^KT0Q[QU13-98
M].\'7U3;64<['53O J6%H+0(BE:/<:6+>=Z)"Z\'*J&!T@)06@A*BZ!H]<2H
M)#3/JL1\7^$%%<4*VNXK4J_=,U;>_99N>V LO?LM]XHNJ$+5VCDSFA*VU*=[
MN?3H)A/Y:<CR:7F"^%J?FWWS?.Q>AODYX J3'TN^PVP99QPE9"&13K,G9\?R
MD[[YC:!K?3)U2H6@J;Y<$3PG3#60GR\H%:\WJH/RO/7H/U!+ P04    " !$
MKU58A><>GL8#  ""$   &0   'AL+W=O<FMS:&5E=',O<VAE970Y,RYX;6S%
MF&UOVS80Q[\*H15;"S31HV4[LPTD5HH66  C7M870U\PTMDB(I$N2=MQ/_U(
M2E$D5Q;B04#?Q"1U]S_>3SQ)E\F>\2>1 DCTG&=43*U4RLV5;8LXA1R+2[8!
MJJZL&,^Q5%.^ML6& TZ,4Y[9GN.$=HX)M683L[;@LPG;RHQ06' DMGF.^>$&
M,K:?6J[ULG!/UJG4"_9LLL%K6()\V"RXFMF52D)RH((PBCBLIM:U>Q6YGG8P
M%O\0V(O:&.E4'AE[TI,OR=1R](X@@UAJ":Q^=C"'+--*:A_?2U&KBJD=Z^,7
M]4\F>97,(Q8P9]E7DLAT:HTLE, *;S-YS_:?H4QHH/5BE@GS%^T+V^'80O%6
M2):7SFH'.:'%+WXN0=0<O/"$@U<Z>$<.;G#"P2\=_+<Z!*5#8,@4J1@.$99X
M-N%LC[BV5FIZ8& :;Y4^H?J^+R575XGRD[.E9/%3RK($N/@#W7[?$GE %^AN
ML7Q [R.0F&3B@UIX6$;H_;L/Z!TB%/V=LJW -!$36ZH]:"4[+N/=%/&\$_%<
M#]TQ*E.!;FD"25/ 5INO,O!>,KCQ.A4CB"^1[WY$GN/Y+1N:O]W=:W&/WN[N
M=F3C5_?#-WK^J?N18@X7^B0G:,YR5=X"FP*YYAS3-:B2D^CQ@.IV"WPPR]=[
MS!/T[U]*$GV1D(MO;?>GB!^TQ]>/F2NQP3%,+?4<$<!W8,U^_\T-G3_;V/8I
M%O4DUN >5-R#+O6B#DJ><9T[/.LQM)$L% =&43]?=S/7#WU''<)=G5&+63 8
MCL.F6=1FY@2C4676R&M0Y37HS$L7<FN9=KJ=>PSZ%(MZ$FO@"BM<X2\NO[!/
M[GV*13V)-;@/*^[#SF-Z3\33Q8H#J->+!*4O$<<2/NI7'LFW>1O)0M'U:A7C
M7#J^/SRJO\[(YT+J2:P!:51!&OU/2/CY%*11.Z1P= 2I,_*YD'H2:T :5Y#&
MG9!NU?,ZEJHL=RQ3I9NI[YDV+H6(ZS2X'$/IC'0NE)[$&E!<Y_4SS^G]_59*
MUE])@['C'$'J#GPNI;[4FIAJ7\-N)Z8'RB%F:TI^*$[B%+.8"=D*S/T)6##\
M&5CG%LX&UI-:$YCW"LSK!/;5-%:07. =<-4HH@UPPA+$5J@DJ8FUPNH6]M$!
M,!?(=5!>- Q>@!)\:/N8F7=KG8VT)[4"J5UKSG+@:]/D"G6&ME0674ZU6C72
MUZ9]/%J_T0VV:?I>98KN_ [S-:$"9;!2DL[E4)U 7C2\Q42RC6D!'YE4#:49
MIH!5SZ<-U/458_)EH@-4_W:8_0=02P,$%     @ 1*]56"94F!Q@!   1!0
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
MA9!![PL24W63K0=&EJY/+:7!KN?"'-\E4#8!UU=2FOW ;M"^=,E?4$L#!!0
M   ( $2O55@\3BLE 00  #\5   9    >&PO=V]R:W-H965T<R]S:&5E=#DW
M+GAM;,5876_;-A3]*X16;"W01M^2G=D&$BO="JQ D+3;P[ '1KJVA$BB2])V
M\N]'4HHLV8R0% 3R8DOTO4?W'/+(Y)WM";UG.0!'#U59L[F5<[XYMVV6YE!A
M=D8V4(M?5H16F(M;NK;9A@+.5%)5VI[C1':%B]I:S-38-5W,R):710W7%+%M
M56'Z> DEV<\MUWH:N"G6.9<#]F*VP6NX!?Y]<TW%G=VA9$4%-2M(C2BLYM:%
M>YZXD4Q0$7\7L&>]:R2IW!%R+V^^9'/+D15!"2F7$%A\[6 )92F11!T_6E"K
M>Z9,[%\_H7]6Y 69.\Q@2<I_BHSG<VMBH0Q6>%OR&[+_$UI"H<1+2<G4)]JW
ML8Z%TBWCI&J3105543??^*$5HI<@B.H3O#;!.TX(GDGPVP3_I0E!FQ H91HJ
M2H<$<[R84;)'5$8+-'FAQ%39@GY1RWF_Y53\6H@\OKCE)+W/29D!9;^AJQ_;
M@C^B3T@-?Y*"9FA)*K'*&%;S=/4@KP&]3X#CHF0?1/#WVP2]?_<!O4-%C;[E
M9,MPG;&9S45]\BEVVM9RV=3B/5.+ZZ&OI.8Y0U=U!MD0P!;$.G;>$[M+;Q0Q
M@?0,^>Y'Y#F>KREH^?)T3Y.>O#S='6'C=W/E*SS_N;G*,07=I%Q0BNLU"#MR
M=/>(^G'7^%$-7^PQS="_?PE(](5#Q?[3S4_S_$#_?/D*.F<;G,+<$N\8!G0'
MUN+77]S(^5VGK4FPQ!#80/>@TST80U_TS9#V=8?&##HE&\10(<IW[V[A^I'O
MB$6XZVND"0O">!H-PQ)=F!-,)EW8@%?8\0I'>2T)XXBLQ.M[!_562V,4X+4+
MPB188@AL(%S4"1>]L1$CD[J;!$L,@0UTCSO=8^-&;!#COG7<*#PRV%(3Y3FA
M<V3#TZC8\V*]"2<=I\DHIQNA$J9ICL1_IMBP[,1.;",7BH[+*-)K5X5)L,00
MV$#!::?@](W=.#6INTFPQ!#80'?7.>P='>-^;"'[)@KB2<]%C4J:L' 2^.&1
M([5HCCO5>]+M[8K=<6:X!*8L*4Y#]\"+>JTE,XKRVI5A%"TQA394T#LHZ+VQ
M*]L"3(EO$BTQA384_W!0<$?WPS]G3/_$2KX?G^Q8=6%39^(?&U,3YKKA<\8\
M;,7=\;WX'U #Q:6R)L[$@;A@G&+9.]!R&@5[]1(QB9:80AL*>=C[N^%;^]/H
MX<$H6F(*;2C^X?S@CFZ3?\Z?T<DA,!"6.OGC/ WS(\^;'/OS-"P,^S9NF-F]
MSE(%=*TZ=$S4O*UYTX;I1KLNX(7J?1V-7\KNH.I8'6":UN)73-=%S5 )*P'I
MG,6B)MITZYH;3C:J?W5'.">5NLP!9T!E@/A]10A_NI$/Z'JFB_\!4$L#!!0
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
M)*!?!/3;!MA%0';I9G[MF7 NYG@Z3N@.)"E:L*5?,O6S:*%7$*<WRIPGXM=
MQ/'I)W$O?J2,@0>2@/D:)P3<<)X$3UN.GT(". 4S&D4BI7-.%\]K&OHD8> 2
MS,4MZV\%@BY3Q$;@L\R+PUO,@@7 L0_<(-QRX@/)*'E820S.7<)Q$+(/@OMQ
M[H+SLP_@#)B I6@&@A@\Q@%G%[43OZWIEHEAQ,FSQO'8Y$*:] +-12'#+)<!
M'9$!(G!/8[YFP(M]XC<)3*%I*2QZ%?86*1GO\3> X 5 %AS)YJ..=LGB"O2R
M<-23A+OMPY$DW&L?#A5:],J;K)?Q]8[PS4(L<B\RGJ?ZCX_B=W#'2<3^E$SN
M-B?KR\G2RGG--GA!)H8HC8PD+\28_O@#'%@_R7362>;J)/,TD34RTB\STE>Q
M3[]D!93XE_B%).*!\+JJMDRL5K&4%MF*#N(5B,72#=.ENQ%+-T,!O%<@%ODZ
M9K4"<9%6;U$$S@573OU!EFGE)+MF.B=S,K+T^?@B5O70<:RQ^5+/H0P&G725
MU6&>!"8&MBM80W>[U-U^9]W]HN2>4%XYS:[*V^V4E\$DRDM@"N4'I?(#I?*?
M_O5][-,PQ$F-0"JL<A9=A<W)1C4I+N&5M2>8*T79SIZL4M0(R55U2E6=-U&U
M?I>VTU4YCZZZ.JUTE:(.=)6BCNDZ+'4=*G4M6J/\P7DCTT,9WU4/G62N3C)/
M$UDC":,R"2.=;<M(9T9TDKDZR3Q-9(V,0*NR*U:[@M.^>,MRI1ZE:[(*-KM1
M WH]:SC<JRA2X,ARG/Y>49$!D7A:(DM>5V#-[T&- A9U6BJA<IS.$L*V$LJ
M4@DE0*6$J)(0_1^:9_4L.R< M6OBI#A)%R?#0<ONPR/J5UX2*HW1?Z>%5L^S
ML_Z]EOK+<#+])3B5_I5SA&KK^+T::?4T.LO;;]7RR6$'/9\<=JSI@Y4[A&I[
M^/W::?5$.JMKMU-7"CM45PH[JF[E *': C:;:O WN'OX5:J-5@^GE<W5RN;I
M8FLFI#*/T-'98$.M'E KFZN5S=/%ULQ+93ZAVGW.BW^Q,[9M\1@<2AY((VOO
MN353#]E9;JTF4Q=;4^[*9D*E9VK6I5NIQEJ]I58V5RN;IXNM^<ZFLI?(TEF1
MD%8;J97-U<KFZ6)KYJ5RK4BG:SUJ^]6C=,[7H</<[]9/0SP)Y%(TZHXC;W=0
M95.1VJ9J<_KJ<3JKADZK=A+B22!*U2I[B=[;7K8R]^I9=M;\T P>:'X2XDD@
MM@V/M.6H,I3HO=]%MC3TZGEVUOSP#>*!YB<AG@2BT+PRFNAMC&97$Z^>1F=)
M[=.EXR3$0YWL):KL)7J;-XS=S;MZ(IU5'9Q6]23$0YW>+Z+*(R+U&\89C459
M8,76(I;O%3JQCIW#-=,;'#@2]<"=VRVM!E 76RZZ6=L?%I%DE6W,8^)NW,8\
MW]%4GBTW_]UD6][VSL_@M9=OX:MH\AV%]SA9!3$#(5D*2NO*$?=*DF_2RP\X
MW62[T)XHYS3*OJX)%BL@!8C?EY3RUX-T@'*KY/0?4$L#!!0    ( $2O55BP
M(R'5)P4  /PC   :    >&PO=V]R:W-H965T<R]S:&5E=#$P,2YX;6S-6EN/
MHS84_BL6E:I=J3M@<TNF2:29\59=::>*)MWVH>H# TZ"!G!JFV3Z[VLN P$<
M.HF\4EX2+N=\^'SV9\[!GATH>^%;0@1X39.,SXVM$+M;T^3AEJ0!OZ$[DLD[
M:\K20,A3MC'YCI$@*IW2Q$26Y9EI$&?&8E9>6[+%C.8BB3.R9(#G:1JP?^])
M0@]S QIO%Y[BS584%\S%;!=LR(J(;[LEDV=F@Q+%*<EX3#/ R'INW,%;C":%
M0VGQ1TP._.@8%*$\4_I2G'R)YH95M(@D)!0%1"#_]N2!)$F!)-OQ3PUJ-,\L
M'(^/W]!_*8.7P3P'G#S0Y,\X$MNY,3% 1-9!GH@G>OB5U &Y!5Y($U[^@D-M
M:QD@S+F@:>TL6Y#&6?4?O-9$'#E [X0#JAU0W\$YX6#7#O9['9S:P2F9J4(I
M><"!"!8S1@^ %=82K3@HR2R]9?AQ5O3[2C!Y-Y9^8O&;'%I?*>=@21A8;0-&
MP)T0+'[.1?"<$" H>*!I*GMH)6CXLJ5)1!@'G\!*CL HEQ9T#>XR$4=QDA==
M"%8DS%DL8L+!Y]<PR2,2@36C:8&SDZAE=TNGSP'+XFQS_.0/F(@@3OA'B<^+
M*_SM+\[ [UN:\R"+^,P4,O"B^698!WE?!8E.! D1>*29V,H69;(Y70!3,M;0
MAMYHNT>CB)B$-\"&/P%D(5O1H(?WNR.%.WZ_.QR)QFX&@5WBV2?P=/7?7U\E
M,/@B2,K_5O52U0I'W8IBAKOENR D<T-.89RP/3$6/_X />MG%<,ZP; FL [[
M3L.^,X;>99^W['^0@[X:_A]59%:@?@E:S.[[!8*N-9V9^V.6%%8>]-VN%1Y:
MP:GMP,:J$Y?;Q.6.QE5.&(#NB@&C%.VH^[G#02<8U@36H<UK:/.N0HR>3O9U
M@F%-8!WV_89]_WN(T1_*S(=63XL*(\>Q>U(<&CFV-U4K<=($-1D-ZFGU32G
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
M$-B-.((I  T8$D7F/;CW/@K6[ZE@\UOMZ"]02P,$%     @ 1*]56)>*NQS
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
MJG< Z!VZAR4 O8/J'0!Z!]4[ /0.JG< Z!U4[P#0.ZC> :!W4+T#0.^H>D>
MWE'UC@"]H^H= 7I'U3L"]([=PVZ WE'UC@"]H^H= 7I'U3L"](ZJ=P3H'57O
M"- [J=X)H'=2O1- [Z1Z)X#>2?5. +V3ZIT >J?N925 [Z1Z)X#>2?5. +V3
MZIT >B?5.P'TSJIW!NB=5>\,T#NKWAF@=U:],T#OK'IG@-Y9]<X O7-WV 2@
M=U:],T#OK'IG@-Y9]<X O8OJ70!Z%]6[ /0NJG<!Z%U4[P+0NZC>!:!W4;T+
M0.^B>A> WJ4[+ C0NZC>!:!W4;T+0.^J>E> WE7UK@"]J^I= 7I7U;L"]*ZJ
M=P7H757O"M"[JMX5H'=5O2M []H=]@;H757O"M"[J=X-H'=3O1M [Z9Z-X#>
M3?5N +V;ZMT >C?5NP'T;JIW ^C=5.\&T+NIW@V@=^N&=0!ZF^O'=0!^F^L&
M=AQ <'/=R(X#&&ZN&]IQ ,7-=6,[#N"XN6YPQP$D-]>-[CB Y>:ZX1T'T-Q<
M-[[COM/S:7[;CM-GT<>Z"_A.O>?SO>/G[[\O/R[VHXSO7 ]?,Z:;OU!+ P04
M    " !$KU58**2SM'0"   3/0  $P   %M#;VYT96YT7U1Y<&5S72YX;6S-
MV]]NFS 4Q_%7B;BM K8!&Z:F-^UNMU[L!1@X#0K_A-TN??LYI*VTJ8M69=*^
M-T&)[?,[^$B?NUQ_>YZL6QWZ;G";:.?]]"E)7+VS?>7B<;)#6-F.<U_Y\'5^
M2*:JWE</-E%"Z*0>!V\'O_;'&M'-]9W=5H^=7WT^A)]=.PZ;:+:=BU:WIXW'
MK$U435/7UI4/Z\G3T/R6LGY)B,/)98_;M9.["ANBY-V$X\J? U[.?7VR\]PV
M=G5?S?Y+U8==R:%+G'_NK(O/EWBGQW&[;6O;C/5C'X[$;IIMU;B=M;[OXE/1
MJ_/)/MRP/7W*B_.7,N<"P\[[>9Q<F-AL/Q[W.I+CZ?44"MG9M^=?\2TQE+[X
M_>QQVHUM_C([7.^/<=XO\W#)\KC\CG^=\5O]#_:A('VDD#XR2!\YI \-Z<-
M^B@@?920/J2@-$(155)(E113)05525%54EB5%%<E!59)D5519%44615%5D61
M55%D5119%45619%54615%%E3BJPI1=:4(FM*D36ER)I29$TILJ8465.*K"E%
MUHPB:T:1-:/(FE%DS2BR9A19,XJL&476C")K1I$UI\B:4V3-*;+F%%ESBJPY
M1=:<(FM.D36GR)I39-44635%5DV155-DU119-45639%54V35%%DU159#D=50
M9#4460U%5D.1U5!D-119#4560Y'54&0M*+(6%%D+BJP%1=:"(FM!D;6@R%I0
M9"THLA8464N*K"5%UI(B:TF1M:3(6E)D+2FREA192XJL)456*2BT2D&Q50H*
MKE)0=)6"PJL4%%^EH  K!458*?XGL=_'<?^/XY=GW%?M\)J?+/^%OOD)4$L!
M A0#%     @ 1*]56 =!36*!    L0   !               ( !     &1O
M8U!R;W!S+V%P<"YX;6Q02P$"% ,4    " !$KU58F8O>Z.\    K @  $0
M            @ &O    9&]C4')O<',O8V]R92YX;6Q02P$"% ,4    " !$
MKU58F5R<(Q &  "<)P  $P              @ '- 0  >&PO=&AE;64O=&AE
M;64Q+GAM;%!+ 0(4 Q0    ( $2O55B?FU-^'@@  #TQ   8
M  " @0X(  !X;"]W;W)K<VAE971S+W-H965T,2YX;6Q02P$"% ,4    " !$
MKU58JTW,#4$"  #%!0  &               @(%B$   >&PO=V]R:W-H965T
M<R]S:&5E=#(N>&UL4$L! A0#%     @ 1*]56%$'[%W>!@  (!P  !@
M         ("!V1(  'AL+W=O<FMS:&5E=',O<VAE970S+GAM;%!+ 0(4 Q0
M   ( $2O55AZ4.&F00,  %(,   8              " @>T9  !X;"]W;W)K
M<VAE971S+W-H965T-"YX;6Q02P$"% ,4    " !$KU58\=<R5^,%  #@&
M&               @(%D'0  >&PO=V]R:W-H965T<R]S:&5E=#4N>&UL4$L!
M A0#%     @ 1*]56/+X@Q** P  5PL  !@              ("!?2,  'AL
M+W=O<FMS:&5E=',O<VAE970V+GAM;%!+ 0(4 Q0    ( $2O55@O)B>*20P
M #61   8              " @3TG  !X;"]W;W)K<VAE971S+W-H965T-RYX
M;6Q02P$"% ,4    " !$KU58)J';],4-  # 2   &               @(&\
M,P  >&PO=V]R:W-H965T<R]S:&5E=#@N>&UL4$L! A0#%     @ 1*]56%S@
M01IE!   !PH  !@              ("!MT$  'AL+W=O<FMS:&5E=',O<VAE
M970Y+GAM;%!+ 0(4 Q0    ( $2O55B#YI*S,B@  %"&   9
M  " @5)&  !X;"]W;W)K<VAE971S+W-H965T,3 N>&UL4$L! A0#%     @
M1*]56$VL+\ZC"   +A@  !D              ("!NVX  'AL+W=O<FMS:&5E
M=',O<VAE970Q,2YX;6Q02P$"% ,4    " !$KU58RX2'IB@+  #N(0  &0
M            @(&5=P  >&PO=V]R:W-H965T<R]S:&5E=#$R+GAM;%!+ 0(4
M Q0    ( $2O55@+VXPCI@4  .(,   9              " @?2"  !X;"]W
M;W)K<VAE971S+W-H965T,3,N>&UL4$L! A0#%     @ 1*]56-MHT6D("
M@14  !D              ("!T8@  'AL+W=O<FMS:&5E=',O<VAE970Q-"YX
M;6Q02P$"% ,4    " !$KU580WSC>LX%  !Q&   &0              @($0
MD0  >&PO=V]R:W-H965T<R]S:&5E=#$U+GAM;%!+ 0(4 Q0    ( $2O55@I
M<B>W; 4  $4.   9              " @167  !X;"]W;W)K<VAE971S+W-H
M965T,38N>&UL4$L! A0#%     @ 1*]56+<;^O"E#P  Q#(  !D
M     ("!N)P  'AL+W=O<FMS:&5E=',O<VAE970Q-RYX;6Q02P$"% ,4
M" !$KU58]+3>EXP)  !4&   &0              @(&4K   >&PO=V]R:W-H
M965T<R]S:&5E=#$X+GAM;%!+ 0(4 Q0    ( $2O55AQW>-T-!<  ,I8   9
M              " @5>V  !X;"]W;W)K<VAE971S+W-H965T,3DN>&UL4$L!
M A0#%     @ 1*]56".'-J\W!@  MA   !D              ("!PLT  'AL
M+W=O<FMS:&5E=',O<VAE970R,"YX;6Q02P$"% ,4    " !$KU58'?ND ]H+
M  !:(0  &0              @($PU   >&PO=V]R:W-H965T<R]S:&5E=#(Q
M+GAM;%!+ 0(4 Q0    ( $2O55B81WR@%0,  -\&   9              "
M@4'@  !X;"]W;W)K<VAE971S+W-H965T,C(N>&UL4$L! A0#%     @ 1*]5
M6&XQS:3" @  $@8  !D              ("!C>,  'AL+W=O<FMS:&5E=',O
M<VAE970R,RYX;6Q02P$"% ,4    " !$KU58==^@[%X"  ""!@  &0
M        @(&&Y@  >&PO=V]R:W-H965T<R]S:&5E=#(T+GAM;%!+ 0(4 Q0
M   ( $2O55C]LPRY6 @  *(G   9              " @1OI  !X;"]W;W)K
M<VAE971S+W-H965T,C4N>&UL4$L! A0#%     @ 1*]56-#E*5?=*0  -)P
M !D              ("!JO$  'AL+W=O<FMS:&5E=',O<VAE970R-BYX;6Q0
M2P$"% ,4    " !$KU5891=,)_X$   [#   &0              @(&^&P$
M>&PO=V]R:W-H965T<R]S:&5E=#(W+GAM;%!+ 0(4 Q0    ( $2O55@Y&)+/
MA00  &$-   9              " @?,@ 0!X;"]W;W)K<VAE971S+W-H965T
M,C@N>&UL4$L! A0#%     @ 1*]56#!ZPZZ<!@  YQ4  !D
M ("!KR4! 'AL+W=O<FMS:&5E=',O<VAE970R.2YX;6Q02P$"% ,4    " !$
MKU58[FGJ?[8"  #E!0  &0              @(&"+ $ >&PO=V]R:W-H965T
M<R]S:&5E=#,P+GAM;%!+ 0(4 Q0    ( $2O55B*-Q6!G@8   P2   9
M          " @6\O 0!X;"]W;W)K<VAE971S+W-H965T,S$N>&UL4$L! A0#
M%     @ 1*]56-=]DEPV!   ^@L  !D              ("!1#8! 'AL+W=O
M<FMS:&5E=',O<VAE970S,BYX;6Q02P$"% ,4    " !$KU58)(]*!_L$  "L
M#   &0              @(&Q.@$ >&PO=V]R:W-H965T<R]S:&5E=#,S+GAM
M;%!+ 0(4 Q0    ( $2O55AF9#N%%0,  *T&   9              " @>,_
M 0!X;"]W;W)K<VAE971S+W-H965T,S0N>&UL4$L! A0#%     @ 1*]56*D_
MZR@^ P  (@<  !D              ("!+T,! 'AL+W=O<FMS:&5E=',O<VAE
M970S-2YX;6Q02P$"% ,4    " !$KU58/*YVLD8&  "-$0  &0
M    @(&D1@$ >&PO=V]R:W-H965T<R]S:&5E=#,V+GAM;%!+ 0(4 Q0    (
M $2O55@*9=31  4  #T,   9              " @2%- 0!X;"]W;W)K<VAE
M971S+W-H965T,S<N>&UL4$L! A0#%     @ 1*]56/D+75(>!@  @Q   !D
M             ("!6%(! 'AL+W=O<FMS:&5E=',O<VAE970S."YX;6Q02P$"
M% ,4    " !$KU58#&/J2N,"   '!@  &0              @(&M6 $ >&PO
M=V]R:W-H965T<R]S:&5E=#,Y+GAM;%!+ 0(4 Q0    ( $2O55B_75;8&0(
M $ $   9              " @<=; 0!X;"]W;W)K<VAE971S+W-H965T-# N
M>&UL4$L! A0#%     @ 1*]56&=3)HOG @  D L  !D              ("!
M%UX! 'AL+W=O<FMS:&5E=',O<VAE970T,2YX;6Q02P$"% ,4    " !$KU58
M=SPC%RL"   B!0  &0              @($U80$ >&PO=V]R:W-H965T<R]S
M:&5E=#0R+GAM;%!+ 0(4 Q0    ( $2O55@.2_OZ00(  "\%   9
M      " @9=C 0!X;"]W;W)K<VAE971S+W-H965T-#,N>&UL4$L! A0#%
M  @ 1*]56+!B 7!? P  Q!$  !D              ("!#V8! 'AL+W=O<FMS
M:&5E=',O<VAE970T-"YX;6Q02P$"% ,4    " !$KU58M]LF.FL"   I!P
M&0              @(&E:0$ >&PO=V]R:W-H965T<R]S:&5E=#0U+GAM;%!+
M 0(4 Q0    ( $2O55B@B:%Q2P(  $P%   9              " @4=L 0!X
M;"]W;W)K<VAE971S+W-H965T-#8N>&UL4$L! A0#%     @ 1*]56'NM2YUR
M P  \Q(  !D              ("!R6X! 'AL+W=O<FMS:&5E=',O<VAE970T
M-RYX;6Q02P$"% ,4    " !$KU584B:-"+8"  "@"0  &0
M@(%R<@$ >&PO=V]R:W-H965T<R]S:&5E=#0X+GAM;%!+ 0(4 Q0    ( $2O
M55A#XB,X>P(  +$&   9              " @5]U 0!X;"]W;W)K<VAE971S
M+W-H965T-#DN>&UL4$L! A0#%     @ 1*]56!M+4"&# @  @ <  !D
M         ("!$7@! 'AL+W=O<FMS:&5E=',O<VAE970U,"YX;6Q02P$"% ,4
M    " !$KU58%LE8=,\#  #=$P  &0              @('+>@$ >&PO=V]R
M:W-H965T<R]S:&5E=#4Q+GAM;%!+ 0(4 Q0    ( $2O55C^-?D")P,  ( )
M   9              " @=%^ 0!X;"]W;W)K<VAE971S+W-H965T-3(N>&UL
M4$L! A0#%     @ 1*]56"4EBS=-!   1AL  !D              ("!+X(!
M 'AL+W=O<FMS:&5E=',O<VAE970U,RYX;6Q02P$"% ,4    " !$KU58[H V
MK><"  !="   &0              @(&SA@$ >&PO=V]R:W-H965T<R]S:&5E
M=#4T+GAM;%!+ 0(4 Q0    ( $2O55CR;PW=F (  *\'   9
M  " @=&) 0!X;"]W;W)K<VAE971S+W-H965T-34N>&UL4$L! A0#%     @
M1*]56)LM-ITV @  *04  !D              ("!H(P! 'AL+W=O<FMS:&5E
M=',O<VAE970U-BYX;6Q02P$"% ,4    " !$KU58HXA]/1<'  #E.P  &0
M            @($-CP$ >&PO=V]R:W-H965T<R]S:&5E=#4W+GAM;%!+ 0(4
M Q0    ( $2O55A1,@_B\P8  +\S   9              " @5N6 0!X;"]W
M;W)K<VAE971S+W-H965T-3@N>&UL4$L! A0#%     @ 1*]56&GID"]V @
M! 8  !D              ("!A9T! 'AL+W=O<FMS:&5E=',O<VAE970U.2YX
M;6Q02P$"% ,4    " !$KU58-O6MF<8,   9D   &0              @($R
MH $ >&PO=V]R:W-H965T<R]S:&5E=#8P+GAM;%!+ 0(4 Q0    ( $2O55A
M_R3SK 0  ,T:   9              " @2^M 0!X;"]W;W)K<VAE971S+W-H
M965T-C$N>&UL4$L! A0#%     @ 1*]56 LULF.T P  MA$  !D
M     ("!$K(! 'AL+W=O<FMS:&5E=',O<VAE970V,BYX;6Q02P$"% ,4
M" !$KU58-&%7"0X#   9"0  &0              @(']M0$ >&PO=V]R:W-H
M965T<R]S:&5E=#8S+GAM;%!+ 0(4 Q0    ( $2O55BM(:!'% 0  +@4   9
M              " @4*Y 0!X;"]W;W)K<VAE971S+W-H965T-C0N>&UL4$L!
M A0#%     @ 1*]56)P;+-1P!   81D  !D              ("!C;T! 'AL
M+W=O<FMS:&5E=',O<VAE970V-2YX;6Q02P$"% ,4    " !$KU58N=S[9[@"
M   K!P  &0              @($TP@$ >&PO=V]R:W-H965T<R]S:&5E=#8V
M+GAM;%!+ 0(4 Q0    ( $2O55CVNKM0XP(  '@(   9              "
M@2/% 0!X;"]W;W)K<VAE971S+W-H965T-C<N>&UL4$L! A0#%     @ 1*]5
M6+WHS2_6 @  TP<  !D              ("!/<@! 'AL+W=O<FMS:&5E=',O
M<VAE970V."YX;6Q02P$"% ,4    " !$KU58*'B1+:T$  #9%P  &0
M        @(%*RP$ >&PO=V]R:W-H965T<R]S:&5E=#8Y+GAM;%!+ 0(4 Q0
M   ( $2O55A)S,NI\ ,  #T5   9              " @2[0 0!X;"]W;W)K
M<VAE971S+W-H965T-S N>&UL4$L! A0#%     @ 1*]56)F.3>\_ P  @@H
M !D              ("!5=0! 'AL+W=O<FMS:&5E=',O<VAE970W,2YX;6Q0
M2P$"% ,4    " !$KU58UMLNT-("  !/"@  &0              @('+UP$
M>&PO=V]R:W-H965T<R]S:&5E=#<R+GAM;%!+ 0(4 Q0    ( $2O55AIXQ5
M20,  (@,   9              " @=3: 0!X;"]W;W)K<VAE971S+W-H965T
M-S,N>&UL4$L! A0#%     @ 1*]56'CJ&O7^ @  ]0<  !D
M ("!5-X! 'AL+W=O<FMS:&5E=',O<VAE970W-"YX;6Q02P$"% ,4    " !$
MKU58#B8>FP\#  #M"P  &0              @(&)X0$ >&PO=V]R:W-H965T
M<R]S:&5E=#<U+GAM;%!+ 0(4 Q0    ( $2O55B&D V.E00  # :   9
M          " @<_D 0!X;"]W;W)K<VAE971S+W-H965T-S8N>&UL4$L! A0#
M%     @ 1*]56-\PFE[= @  O@D  !D              ("!F^D! 'AL+W=O
M<FMS:&5E=',O<VAE970W-RYX;6Q02P$"% ,4    " !$KU58:')V:G8&   F
M-@  &0              @(&O[ $ >&PO=V]R:W-H965T<R]S:&5E=#<X+GAM
M;%!+ 0(4 Q0    ( $2O55B]1/KA70@  +91   9              " @5SS
M 0!X;"]W;W)K<VAE971S+W-H965T-SDN>&UL4$L! A0#%     @ 1*]56-,S
M_H A P  J@@  !D              ("!\/L! 'AL+W=O<FMS:&5E=',O<VAE
M970X,"YX;6Q02P$"% ,4    " !$KU580I39A:D"  "+!P  &0
M    @(%(_P$ >&PO=V]R:W-H965T<R]S:&5E=#@Q+GAM;%!+ 0(4 Q0    (
M $2O55A"&NC"J ,  +X/   9              " @2@" @!X;"]W;W)K<VAE
M971S+W-H965T.#(N>&UL4$L! A0#%     @ 1*]56'J)! DO @  )@4  !D
M             ("!!P8" 'AL+W=O<FMS:&5E=',O<VAE970X,RYX;6Q02P$"
M% ,4    " !$KU58IS&/E.,#  "^&0  &0              @(%M" ( >&PO
M=V]R:W-H965T<R]S:&5E=#@T+GAM;%!+ 0(4 Q0    ( $2O55@::@*<+ 0
M $85   9              " @8<, @!X;"]W;W)K<VAE971S+W-H965T.#4N
M>&UL4$L! A0#%     @ 1*]56'_RYW"5!0  (2(  !D              ("!
MZA " 'AL+W=O<FMS:&5E=',O<VAE970X-BYX;6Q02P$"% ,4    " !$KU58
M9RA  [\$  #$%0  &0              @(&V%@( >&PO=V]R:W-H965T<R]S
M:&5E=#@W+GAM;%!+ 0(4 Q0    ( $2O55CMF6%5[0(  #T'   9
M      " @:P; @!X;"]W;W)K<VAE971S+W-H965T.#@N>&UL4$L! A0#%
M  @ 1*]56%64BUHJ P  #0D  !D              ("!T!X" 'AL+W=O<FMS
M:&5E=',O<VAE970X.2YX;6Q02P$"% ,4    " !$KU58<AW 9JT(  #W40
M&0              @($Q(@( >&PO=V]R:W-H965T<R]S:&5E=#DP+GAM;%!+
M 0(4 Q0    ( $2O55B(BDW@< 8  "HQ   9              " @14K @!X
M;"]W;W)K<VAE971S+W-H965T.3$N>&UL4$L! A0#%     @ 1*]56 D,7X*;
M!0  >RT  !D              ("!O#$" 'AL+W=O<FMS:&5E=',O<VAE970Y
M,BYX;6Q02P$"% ,4    " !$KU58A><>GL8#  ""$   &0
M@(&.-P( >&PO=V]R:W-H965T<R]S:&5E=#DS+GAM;%!+ 0(4 Q0    ( $2O
M55@F5)@<8 0  $04   9              " @8L[ @!X;"]W;W)K<VAE971S
M+W-H965T.30N>&UL4$L! A0#%     @ 1*]56-93Z_)C!   _Q0  !D
M         ("!(D " 'AL+W=O<FMS:&5E=',O<VAE970Y-2YX;6Q02P$"% ,4
M    " !$KU58FJYX3Y\"  #U!@  &0              @(&\1 ( >&PO=V]R
M:W-H965T<R]S:&5E=#DV+GAM;%!+ 0(4 Q0    ( $2O55@\3BLE 00  #\5
M   9              " @9)' @!X;"]W;W)K<VAE971S+W-H965T.3<N>&UL
M4$L! A0#%     @ 1*]56 S#THX4 P  #0L  !D              ("!RDL"
M 'AL+W=O<FMS:&5E=',O<VAE970Y."YX;6Q02P$"% ,4    " !$KU589(8<
M724#   %"0  &0              @($53P( >&PO=V]R:W-H965T<R]S:&5E
M=#DY+GAM;%!+ 0(4 Q0    ( $2O55BA2'\XP 4  #8I   :
M  " @7%2 @!X;"]W;W)K<VAE971S+W-H965T,3 P+GAM;%!+ 0(4 Q0    (
M $2O55BP(R'5)P4  /PC   :              " @6E8 @!X;"]W;W)K<VAE
M971S+W-H965T,3 Q+GAM;%!+ 0(4 Q0    ( $2O55@-:"LNT0(  "H(   :
M              " @<A= @!X;"]W;W)K<VAE971S+W-H965T,3 R+GAM;%!+
M 0(4 Q0    ( $2O55@YP>%J- ,   \,   :              " @=%@ @!X
M;"]W;W)K<VAE971S+W-H965T,3 S+GAM;%!+ 0(4 Q0    ( $2O55@@@+V&
MA@,  *L,   :              " @3UD @!X;"]W;W)K<VAE971S+W-H965T
M,3 T+GAM;%!+ 0(4 Q0    ( $2O55CA!M7!K 0  & ;   :
M  " @?MG @!X;"]W;W)K<VAE971S+W-H965T,3 U+GAM;%!+ 0(4 Q0    (
M $2O55B7Y&M)8 0  /D/   :              " @=]L @!X;"]W;W)K<VAE
M971S+W-H965T,3 V+GAM;%!+ 0(4 Q0    ( $2O55@3&I<)Z (  ) (   :
M              " @7=Q @!X;"]W;W)K<VAE971S+W-H965T,3 W+GAM;%!+
M 0(4 Q0    ( $2O55BFF6&$X0(  *X*   :              " @9=T @!X
M;"]W;W)K<VAE971S+W-H965T,3 X+GAM;%!+ 0(4 Q0    ( $2O55AP[& ]
M6 ,  +@5   -              "  ;!W @!X;"]S='EL97,N>&UL4$L! A0#
M%     @ 1*]56)>*NQS     $P(   L              ( !,WL" %]R96QS
M+RYR96QS4$L! A0#%     @ 1*]56,>'"H%[!P  &$<   \
M ( !''P" 'AL+W=O<FMB;V]K+GAM;%!+ 0(4 Q0    ( $2O55@PQIPF# ,
M &\_   :              "  <2# @!X;"]?<F5L<R]W;W)K8F]O:RYX;6PN
M<F5L<U!+ 0(4 Q0    ( $2O55@HI+.T= (  !,]   3              "
M 0B' @!;0V]N=&5N=%]4>7!E<UTN>&UL4$L%!@    !T '0 [!\  *V) @
!  $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>130
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
// Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission.  Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105.
var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0);
e.removeAttribute('id');a.parentNode.appendChild(e)}}
if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'}
e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>131
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* Updated 2009-11-04 */
/* v2.2.0.24 */

/* DefRef Styles */
..report table.authRefData{
	background-color: #def;
	border: 2px solid #2F4497;
	font-size: 1em;
	position: absolute;
}

..report table.authRefData a {
	display: block;
	font-weight: bold;
}

..report table.authRefData p {
	margin-top: 0px;
}

..report table.authRefData .hide {
	background-color: #2F4497;
	padding: 1px 3px 0px 0px;
	text-align: right;
}

..report table.authRefData .hide a:hover {
	background-color: #2F4497;
}

..report table.authRefData .body {
	height: 150px;
	overflow: auto;
	width: 400px;
}

..report table.authRefData table{
	font-size: 1em;
}

/* Report Styles */
..pl a, .pl a:visited {
	color: black;
	text-decoration: none;
}

/* table */
..report {
	background-color: white;
	border: 2px solid #acf;
	clear: both;
	color: black;
	font: normal 8pt Helvetica, Arial, san-serif;
	margin-bottom: 2em;
}

..report hr {
	border: 1px solid #acf;
}

/* Top labels */
..report th {
	background-color: #acf;
	color: black;
	font-weight: bold;
	text-align: center;
}

..report th.void	{
	background-color: transparent;
	color: #000000;
	font: bold 10pt Helvetica, Arial, san-serif;
	text-align: left;
}

..report .pl {
	text-align: left;
	vertical-align: top;
	white-space: normal;
	width: 200px;
	white-space: normal; /* word-wrap: break-word; */
}

..report td.pl a.a {
	cursor: pointer;
	display: block;
	width: 200px;
	overflow: hidden;
}

..report td.pl div.a {
	width: 200px;
}

..report td.pl a:hover {
	background-color: #ffc;
}

/* Header rows... */
..report tr.rh {
	background-color: #acf;
	color: black;
	font-weight: bold;
}

/* Calendars... */
..report .rc {
	background-color: #f0f0f0;
}

/* Even rows... */
..report .re, .report .reu {
	background-color: #def;
}

..report .reu td {
	border-bottom: 1px solid black;
}

/* Odd rows... */
..report .ro, .report .rou {
	background-color: white;
}

..report .rou td {
	border-bottom: 1px solid black;
}

..report .rou table td, .report .reu table td {
	border-bottom: 0px solid black;
}

/* styles for footnote marker */
..report .fn {
	white-space: nowrap;
}

/* styles for numeric types */
..report .num, .report .nump {
	text-align: right;
	white-space: nowrap;
}

..report .nump {
	padding-left: 2em;
}

..report .nump {
	padding: 0px 0.4em 0px 2em;
}

/* styles for text types */
..report .text {
	text-align: left;
	white-space: normal;
}

..report .text .big {
	margin-bottom: 1em;
	width: 17em;
}

..report .text .more {
	display: none;
}

..report .text .note {
	font-style: italic;
	font-weight: bold;
}

..report .text .small {
	width: 10em;
}

..report sup {
	font-style: italic;
}

..report .outerFootnotes {
	font-size: 1em;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>133
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.0.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>384</ContextCount>
  <ElementCount>506</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>106</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>11</UnitCount>
  <MyReports>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>0000001 - Document - Cover Page</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/CoverPage</Role>
      <ShortName>Cover Page</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>0000002 - Document - Audit Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/AuditInformation</Role>
      <ShortName>Audit Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>0000003 - Statement - CONSOLIDATED BALANCE SHEETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/CONSOLIDATEDBALANCESHEETS</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>0000004 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/CONSOLIDATEDBALANCESHEETSParenthetical</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>0000005 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF OPERATIONS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>0000006 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVELOSS</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>0000007 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS??? EQUITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF STOCKHOLDERS??? EQUITY</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>0000008 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF CASH FLOWS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>0000009 - Disclosure - Nature of Business</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/NatureofBusiness</Role>
      <ShortName>Nature of Business</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>0000010 - Disclosure - Summary of Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/SummaryofSignificantAccountingPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>0000011 - Disclosure - Revenue</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/Revenue</Role>
      <ShortName>Revenue</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>0000012 - Disclosure - Investments and Fair Value Measurements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/InvestmentsandFairValueMeasurements</Role>
      <ShortName>Investments and Fair Value Measurements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>0000013 - Disclosure - Business Combinations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/BusinessCombinations</Role>
      <ShortName>Business Combinations</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>0000014 - Disclosure - Balance Sheet Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/BalanceSheetInformation</Role>
      <ShortName>Balance Sheet Information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>0000015 - Disclosure - Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/Leases</Role>
      <ShortName>Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>0000016 - Disclosure - Goodwill and Intangible Assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/GoodwillandIntangibleAssets</Role>
      <ShortName>Goodwill and Intangible Assets</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>0000017 - Disclosure - Debt Instruments</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/DebtInstruments</Role>
      <ShortName>Debt Instruments</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>0000018 - Disclosure - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/CommitmentsandContingencies</Role>
      <ShortName>Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>0000019 - Disclosure - Stockholders??? Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/StockholdersEquity</Role>
      <ShortName>Stockholders??? Equity</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>0000020 - Disclosure - Net Loss Per Share Attributable to Common Stockholders</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholders</Role>
      <ShortName>Net Loss Per Share Attributable to Common Stockholders</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>0000021 - Disclosure - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/IncomeTaxes</Role>
      <ShortName>Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>0000022 - Disclosure - Information About Revenue and Geographic Areas</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/InformationAboutRevenueandGeographicAreas</Role>
      <ShortName>Information About Revenue and Geographic Areas</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>0000023 - Disclosure - Subsequent Event</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/SubsequentEvent</Role>
      <ShortName>Subsequent Event</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>995410 - Disclosure - Pay vs Performance Disclosure</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/PvpDisclosure</Role>
      <ShortName>Pay vs Performance Disclosure</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>995445 - Disclosure - Insider Trading Arrangements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements</Role>
      <ShortName>Insider Trading Arrangements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>9954471 - Disclosure - Summary of Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/SummaryofSignificantAccountingPoliciesPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://fastly.com/role/SummaryofSignificantAccountingPolicies</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>9954472 - Disclosure - Summary of Significant Accounting Policies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/SummaryofSignificantAccountingPoliciesTables</Role>
      <ShortName>Summary of Significant Accounting Policies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://fastly.com/role/SummaryofSignificantAccountingPolicies</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>9954473 - Disclosure - Revenue (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/RevenueTables</Role>
      <ShortName>Revenue (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://fastly.com/role/Revenue</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>9954474 - Disclosure - Investments and Fair Value Measurements (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/InvestmentsandFairValueMeasurementsTables</Role>
      <ShortName>Investments and Fair Value Measurements (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://fastly.com/role/InvestmentsandFairValueMeasurements</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>9954475 - Disclosure - Business Combinations (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/BusinessCombinationsTables</Role>
      <ShortName>Business Combinations (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://fastly.com/role/BusinessCombinations</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>9954476 - Disclosure - Balance Sheet Information (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/BalanceSheetInformationTables</Role>
      <ShortName>Balance Sheet Information (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://fastly.com/role/BalanceSheetInformation</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>9954477 - Disclosure - Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/LeasesTables</Role>
      <ShortName>Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://fastly.com/role/Leases</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>9954478 - Disclosure - Goodwill and Intangible Assets (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/GoodwillandIntangibleAssetsTables</Role>
      <ShortName>Goodwill and Intangible Assets (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://fastly.com/role/GoodwillandIntangibleAssets</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>9954479 - Disclosure - Debt Instruments (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/DebtInstrumentsTables</Role>
      <ShortName>Debt Instruments (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://fastly.com/role/DebtInstruments</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>9954480 - Disclosure - Commitments and Contingencies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/CommitmentsandContingenciesTables</Role>
      <ShortName>Commitments and Contingencies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://fastly.com/role/CommitmentsandContingencies</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>9954481 - Disclosure - Stockholders' Equity (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/StockholdersEquityTables</Role>
      <ShortName>Stockholders' Equity (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>36</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>9954482 - Disclosure - Net Loss Per Share Attributable to Common Stockholders (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersTables</Role>
      <ShortName>Net Loss Per Share Attributable to Common Stockholders (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholders</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>9954483 - Disclosure - Income Taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/IncomeTaxesTables</Role>
      <ShortName>Income Taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://fastly.com/role/IncomeTaxes</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>9954484 - Disclosure - Information About Revenue and Geographic Areas (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/InformationAboutRevenueandGeographicAreasTables</Role>
      <ShortName>Information About Revenue and Geographic Areas (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://fastly.com/role/InformationAboutRevenueandGeographicAreas</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>9954485 - Disclosure - Nature of Business (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/NatureofBusinessDetails</Role>
      <ShortName>Nature of Business (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://fastly.com/role/NatureofBusiness</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>9954486 - Disclosure - Summary of Significant Accounting Policies - Concentrations of Credit Risk (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/SummaryofSignificantAccountingPoliciesConcentrationsofCreditRiskDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Concentrations of Credit Risk (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>9954487 - Disclosure - Summary of Significant Accounting Policies - Restricted Cash (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/SummaryofSignificantAccountingPoliciesRestrictedCashDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Restricted Cash (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>9954488 - Disclosure - Summary of Significant Accounting Policies - Incremental Costs to Obtain a Contract With Customer (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/SummaryofSignificantAccountingPoliciesIncrementalCoststoObtainaContractWithCustomerDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Incremental Costs to Obtain a Contract With Customer (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>9954489 - Disclosure - Summary of Significant Accounting Policies - Schedule of Property and Equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofPropertyandEquipmentDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Schedule of Property and Equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>9954490 - Disclosure - Summary of Significant Accounting Policies - Internal-Use Software Development Costs (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/SummaryofSignificantAccountingPoliciesInternalUseSoftwareDevelopmentCostsDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Internal-Use Software Development Costs (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>9954491 - Disclosure - Summary of Significant Accounting Policies - Goodwill Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/SummaryofSignificantAccountingPoliciesGoodwillNarrativeDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Goodwill Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>9954492 - Disclosure - Summary of Significant Accounting Policies - Schedule of Intangible Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofIntangibleAssetsDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Schedule of Intangible Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>9954493 - Disclosure - Summary of Significant Accounting Policies - Cost of Revenue (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/SummaryofSignificantAccountingPoliciesCostofRevenueDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Cost of Revenue (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>9954494 - Disclosure - Summary of Significant Accounting Policies - Advertising Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/SummaryofSignificantAccountingPoliciesAdvertisingExpenseDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Advertising Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>9954495 - Disclosure - Summary of Significant Accounting Policies - Accounting for Stock-Based Compensation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/SummaryofSignificantAccountingPoliciesAccountingforStockBasedCompensationDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Accounting for Stock-Based Compensation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>50</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>9954496 - Disclosure - Revenue - Revenue by Geographic Area (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/RevenueRevenuebyGeographicAreaDetails</Role>
      <ShortName>Revenue - Revenue by Geographic Area (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>9954497 - Disclosure - Revenue - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/RevenueNarrativeDetails</Role>
      <ShortName>Revenue - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>9954498 - Disclosure - Revenue - Revenue by Customer Type (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/RevenueRevenuebyCustomerTypeDetails</Role>
      <ShortName>Revenue - Revenue by Customer Type (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>9954499 - Disclosure - Revenue - Contract Assets and Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/RevenueContractAssetsandLiabilitiesDetails</Role>
      <ShortName>Revenue - Contract Assets and Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>9954500 - Disclosure - Revenue - Remaining Performance Obligation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/RevenueRemainingPerformanceObligationDetails</Role>
      <ShortName>Revenue - Remaining Performance Obligation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>55</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>9954501 - Disclosure - Revenue - Costs to Obtain Contracts (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/RevenueCoststoObtainContractsDetails</Role>
      <ShortName>Revenue - Costs to Obtain Contracts (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>56</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>9954502 - Disclosure - Investments and Fair Value Measurements - Cash, Cash Equivalent and Marketable Securities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails</Role>
      <ShortName>Investments and Fair Value Measurements - Cash, Cash Equivalent and Marketable Securities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>57</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>9954503 - Disclosure - Investments and Fair Value Measurements - Available-For-Sale Investments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/InvestmentsandFairValueMeasurementsAvailableForSaleInvestmentsDetails</Role>
      <ShortName>Investments and Fair Value Measurements - Available-For-Sale Investments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>58</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>9954504 - Disclosure - Investments and Fair Value Measurements - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/InvestmentsandFairValueMeasurementsNarrativeDetails</Role>
      <ShortName>Investments and Fair Value Measurements - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>59</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>9954505 - Disclosure - Investments and Fair Value Measurements - Assets and Liabilities at Fair Value (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails</Role>
      <ShortName>Investments and Fair Value Measurements - Assets and Liabilities at Fair Value (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>60</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>9954506 - Disclosure - Business Combinations - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/BusinessCombinationsNarrativeDetails</Role>
      <ShortName>Business Combinations - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>9954507 - Disclosure - Business Combinations - Schedule of Identifiable Finite-Lived Intangible Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/BusinessCombinationsScheduleofIdentifiableFiniteLivedIntangibleAssetsDetails</Role>
      <ShortName>Business Combinations - Schedule of Identifiable Finite-Lived Intangible Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>9954508 - Disclosure - Balance Sheet Information - Allowance for Credit Losses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/BalanceSheetInformationAllowanceforCreditLossesDetails</Role>
      <ShortName>Balance Sheet Information - Allowance for Credit Losses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>63</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>9954509 - Disclosure - Balance Sheet Information - Property and equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/BalanceSheetInformationPropertyandequipmentDetails</Role>
      <ShortName>Balance Sheet Information - Property and equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>64</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>9954510 - Disclosure - Balance Sheet Information - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/BalanceSheetInformationNarrativeDetails</Role>
      <ShortName>Balance Sheet Information - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>65</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>9954511 - Disclosure - Balance Sheet Information - Other Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/BalanceSheetInformationOtherAssetsDetails</Role>
      <ShortName>Balance Sheet Information - Other Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>66</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>9954512 - Disclosure - Balance Sheet Information - Accrued Expenses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/BalanceSheetInformationAccruedExpensesDetails</Role>
      <ShortName>Balance Sheet Information - Accrued Expenses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>67</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>9954513 - Disclosure - Balance Sheet Information - Other Current Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/BalanceSheetInformationOtherCurrentLiabilitiesDetails</Role>
      <ShortName>Balance Sheet Information - Other Current Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>68</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>9954514 - Disclosure - Balance Sheet Information - Accumulated Other Comprehensive Income (Loss) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/BalanceSheetInformationAccumulatedOtherComprehensiveIncomeLossDetails</Role>
      <ShortName>Balance Sheet Information - Accumulated Other Comprehensive Income (Loss) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>69</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>9954515 - Disclosure - Leases - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/LeasesNarrativeDetails</Role>
      <ShortName>Leases - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>70</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R71.htm</HtmlFileName>
      <LongName>9954516 - Disclosure - Leases - Schedule of Lease Cost (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/LeasesScheduleofLeaseCostDetails</Role>
      <ShortName>Leases - Schedule of Lease Cost (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>71</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R72.htm</HtmlFileName>
      <LongName>9954517 - Disclosure - Leases - Schedule of Other Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/LeasesScheduleofOtherInformationDetails</Role>
      <ShortName>Leases - Schedule of Other Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>72</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R73.htm</HtmlFileName>
      <LongName>9954518 - Disclosure - Leases - Schedule of Lease Liability Maturity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails</Role>
      <ShortName>Leases - Schedule of Lease Liability Maturity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>73</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R74.htm</HtmlFileName>
      <LongName>9954519 - Disclosure - Goodwill and Intangible Assets - Schedule of Changes in the Carrying Amount of Goodwill (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofChangesintheCarryingAmountofGoodwillDetails</Role>
      <ShortName>Goodwill and Intangible Assets - Schedule of Changes in the Carrying Amount of Goodwill (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>74</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R75.htm</HtmlFileName>
      <LongName>9954520 - Disclosure - Goodwill and Intangible Assets - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/GoodwillandIntangibleAssetsNarrativeDetails</Role>
      <ShortName>Goodwill and Intangible Assets - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>75</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R76.htm</HtmlFileName>
      <LongName>9954521 - Disclosure - Goodwill and Intangible Assets - Schedule of Intangible Assets, Net (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofIntangibleAssetsNetDetails</Role>
      <ShortName>Goodwill and Intangible Assets - Schedule of Intangible Assets, Net (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>76</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R77.htm</HtmlFileName>
      <LongName>9954522 - Disclosure - Goodwill and Intangible Assets - Schedule of Expected Amortization Expense of Intangible Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofExpectedAmortizationExpenseofIntangibleAssetsDetails</Role>
      <ShortName>Goodwill and Intangible Assets - Schedule of Expected Amortization Expense of Intangible Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>77</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R78.htm</HtmlFileName>
      <LongName>9954523 - Disclosure - Debt Instruments - Senior Secured Credit Facilities Agreement (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/DebtInstrumentsSeniorSecuredCreditFacilitiesAgreementDetails</Role>
      <ShortName>Debt Instruments - Senior Secured Credit Facilities Agreement (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>78</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R79.htm</HtmlFileName>
      <LongName>9954524 - Disclosure - Debt Instruments - Convertible Senior Notes (Details)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails</Role>
      <ShortName>Debt Instruments - Convertible Senior Notes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>79</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R80.htm</HtmlFileName>
      <LongName>9954525 - Disclosure - Debt Instruments - Schedule of Outstanding Debt (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/DebtInstrumentsScheduleofOutstandingDebtDetails</Role>
      <ShortName>Debt Instruments - Schedule of Outstanding Debt (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>80</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R81.htm</HtmlFileName>
      <LongName>9954526 - Disclosure - Debt Instruments - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/DebtInstrumentsNarrativeDetails</Role>
      <ShortName>Debt Instruments - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>81</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R82.htm</HtmlFileName>
      <LongName>9954527 - Disclosure - Commitments and Contingencies - Schedule of Purchase Commitments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/CommitmentsandContingenciesScheduleofPurchaseCommitmentsDetails</Role>
      <ShortName>Commitments and Contingencies - Schedule of Purchase Commitments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>82</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R83.htm</HtmlFileName>
      <LongName>9954528 - Disclosure - Commitments and Contingencies - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/CommitmentsandContingenciesNarrativeDetails</Role>
      <ShortName>Commitments and Contingencies - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>83</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R84.htm</HtmlFileName>
      <LongName>9954529 - Disclosure - Stockholders' Equity - Common Stock and Preferred Stock (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/StockholdersEquityCommonStockandPreferredStockDetails</Role>
      <ShortName>Stockholders' Equity - Common Stock and Preferred Stock (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>84</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R85.htm</HtmlFileName>
      <LongName>9954530 - Disclosure - Stockholders' Equity - Equity Incentive Plans (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/StockholdersEquityEquityIncentivePlansDetails</Role>
      <ShortName>Stockholders' Equity - Equity Incentive Plans (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>85</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R86.htm</HtmlFileName>
      <LongName>9954531 - Disclosure - Stockholders' Equity - Stock Options Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/StockholdersEquityStockOptionsNarrativeDetails</Role>
      <ShortName>Stockholders' Equity - Stock Options Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>86</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R87.htm</HtmlFileName>
      <LongName>9954532 - Disclosure - Stockholders' Equity - Stock Option Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/StockholdersEquityStockOptionActivityDetails</Role>
      <ShortName>Stockholders' Equity - Stock Option Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>87</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R88.htm</HtmlFileName>
      <LongName>9954533 - Disclosure - Stockholders' Equity - Fair Value Assumptions - Stock Options (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/StockholdersEquityFairValueAssumptionsStockOptionsDetails</Role>
      <ShortName>Stockholders' Equity - Fair Value Assumptions - Stock Options (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>88</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R89.htm</HtmlFileName>
      <LongName>9954534 - Disclosure - Stockholders' Equity - Early Exercise of Stock Options (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/StockholdersEquityEarlyExerciseofStockOptionsDetails</Role>
      <ShortName>Stockholders' Equity - Early Exercise of Stock Options (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>89</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R90.htm</HtmlFileName>
      <LongName>9954535 - Disclosure - Stockholders' Equity - Restricted Stock Units (Revest shares), Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails</Role>
      <ShortName>Stockholders' Equity - Restricted Stock Units (Revest shares), Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>90</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R91.htm</HtmlFileName>
      <LongName>9954536 - Disclosure - Stockholders' Equity - Schedule of RSU, RSA , PSU and MPSU Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/StockholdersEquityScheduleofRSURSAPSUandMPSUActivityDetails</Role>
      <ShortName>Stockholders' Equity - Schedule of RSU, RSA , PSU and MPSU Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>91</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R92.htm</HtmlFileName>
      <LongName>9954537 - Disclosure - Stockholders' Equity - Performance Based Restricted Stock Units (PSUs) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/StockholdersEquityPerformanceBasedRestrictedStockUnitsPSUsDetails</Role>
      <ShortName>Stockholders' Equity - Performance Based Restricted Stock Units (PSUs) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>92</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R93.htm</HtmlFileName>
      <LongName>9954538 - Disclosure - Stockholders' Equity - MPSU (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/StockholdersEquityMPSUDetails</Role>
      <ShortName>Stockholders' Equity - MPSU (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>93</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R94.htm</HtmlFileName>
      <LongName>9954539 - Disclosure - Stockholders' Equity - ESPP (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/StockholdersEquityESPPDetails</Role>
      <ShortName>Stockholders' Equity - ESPP (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>94</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R95.htm</HtmlFileName>
      <LongName>9954540 - Disclosure - Stockholders' Equity - Fair Value Assumptions - ESPP (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/StockholdersEquityFairValueAssumptionsESPPDetails</Role>
      <ShortName>Stockholders' Equity - Fair Value Assumptions - ESPP (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>95</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R96.htm</HtmlFileName>
      <LongName>9954541 - Disclosure - Stockholders' Equity - Equity Awards Modification (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/StockholdersEquityEquityAwardsModificationDetails</Role>
      <ShortName>Stockholders' Equity - Equity Awards Modification (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>96</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R97.htm</HtmlFileName>
      <LongName>9954542 - Disclosure - Stockholders' Equity - Stock-based Compensation Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/StockholdersEquityStockbasedCompensationExpenseDetails</Role>
      <ShortName>Stockholders' Equity - Stock-based Compensation Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>97</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R98.htm</HtmlFileName>
      <LongName>9954543 - Disclosure - Stockholders' Equity - Common Stock Warrant Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/StockholdersEquityCommonStockWarrantLiabilitiesDetails</Role>
      <ShortName>Stockholders' Equity - Common Stock Warrant Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>98</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R99.htm</HtmlFileName>
      <LongName>9954544 - Disclosure - Stockholders' Equity - Early Exercise of Stock (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/StockholdersEquityEarlyExerciseofStockDetails</Role>
      <ShortName>Stockholders' Equity - Early Exercise of Stock (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>99</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R100.htm</HtmlFileName>
      <LongName>9954545 - Disclosure - Net Loss Per Share Attributable to Common Stockholders - Schedule of Computation of Basic and Diluted Net Loss Per Share of Common Stock (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofComputationofBasicandDilutedNetLossPerShareofCommonStockDetails</Role>
      <ShortName>Net Loss Per Share Attributable to Common Stockholders - Schedule of Computation of Basic and Diluted Net Loss Per Share of Common Stock (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>100</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R101.htm</HtmlFileName>
      <LongName>9954546 - Disclosure - Net Loss Per Share Attributable to Common Stockholders - Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails</Role>
      <ShortName>Net Loss Per Share Attributable to Common Stockholders - Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>101</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R102.htm</HtmlFileName>
      <LongName>9954547 - Disclosure - Income Taxes - Loss Before Income Taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/IncomeTaxesLossBeforeIncomeTaxesDetails</Role>
      <ShortName>Income Taxes - Loss Before Income Taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>102</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R103.htm</HtmlFileName>
      <LongName>9954548 - Disclosure - Income Taxes - Income Tax Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/IncomeTaxesIncomeTaxExpenseDetails</Role>
      <ShortName>Income Taxes - Income Tax Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>103</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R104.htm</HtmlFileName>
      <LongName>9954549 - Disclosure - Income Taxes - Effective Tax Rate Reconciliation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/IncomeTaxesEffectiveTaxRateReconciliationDetails</Role>
      <ShortName>Income Taxes - Effective Tax Rate Reconciliation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>104</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R105.htm</HtmlFileName>
      <LongName>9954550 - Disclosure - Income Taxes - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/IncomeTaxesNarrativeDetails</Role>
      <ShortName>Income Taxes - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>105</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R106.htm</HtmlFileName>
      <LongName>9954551 - Disclosure - Income Taxes - Deferred Tax Assets and Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails</Role>
      <ShortName>Income Taxes - Deferred Tax Assets and Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>106</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R107.htm</HtmlFileName>
      <LongName>9954552 - Disclosure - Income Taxes - Unrecognized Tax Benefits (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails</Role>
      <ShortName>Income Taxes - Unrecognized Tax Benefits (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>107</Position>
    </Report>
    <Report instance="fsly-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R108.htm</HtmlFileName>
      <LongName>9954553 - Disclosure - Information About Revenue and Geographic Areas (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://fastly.com/role/InformationAboutRevenueandGeographicAreasDetails</Role>
      <ShortName>Information About Revenue and Geographic Areas (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://fastly.com/role/InformationAboutRevenueandGeographicAreasTables</ParentRole>
      <Position>108</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="10-K" isDefinitelyFs="true" isUsgaap="true" original="fsly-20231231.htm">fsly-20231231.htm</File>
    <File>fsly-20231231.xsd</File>
    <File>fsly-20231231_cal.xml</File>
    <File>fsly-20231231_def.xml</File>
    <File>fsly-20231231_lab.xml</File>
    <File>fsly-20231231_pre.xml</File>
  </InputFiles>
  <SupplementalFiles>
    <File>fsly-20231231_g1.jpg</File>
    <File>fsly-20231231_g2.jpg</File>
    <File>fsly-20231231_g3.jpg</File>
    <File>fsly-20231231_g4.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="1345">http://fasb.org/us-gaap/2023</BaseTaxonomy>
    <BaseTaxonomy items="38">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
    <BaseTaxonomy items="31">http://xbrl.sec.gov/ecd/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>136
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "fsly-20231231.htm": {
   "nsprefix": "fsly",
   "nsuri": "http://fastly.com/20231231",
   "dts": {
    "inline": {
     "local": [
      "fsly-20231231.htm"
     ]
    },
    "schema": {
     "local": [
      "fsly-20231231.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd",
      "https://xbrl.sec.gov/country/2023/country-2023.xsd",
      "https://xbrl.sec.gov/dei/2023/dei-2023.xsd",
      "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "fsly-20231231_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "fsly-20231231_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "fsly-20231231_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "fsly-20231231_pre.xml"
     ]
    }
   },
   "keyStandard": 444,
   "keyCustom": 62,
   "axisStandard": 31,
   "axisCustom": 1,
   "memberStandard": 59,
   "memberCustom": 40,
   "hidden": {
    "total": 15,
    "http://xbrl.sec.gov/ecd/2023": 3,
    "http://fasb.org/us-gaap/2023": 7,
    "http://xbrl.sec.gov/dei/2023": 4,
    "http://fastly.com/20231231": 1
   },
   "contextCount": 384,
   "entityCount": 1,
   "segmentCount": 106,
   "elementCount": 838,
   "unitCount": 11,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2023": 1345,
    "http://xbrl.sec.gov/dei/2023": 38,
    "http://xbrl.sec.gov/ecd/2023": 31
   },
   "report": {
    "R1": {
     "role": "http://fastly.com/role/CoverPage",
     "longName": "0000001 - Document - Cover Page",
     "shortName": "Cover Page",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://fastly.com/role/AuditInformation",
     "longName": "0000002 - Document - Audit Information",
     "shortName": "Audit Information",
     "isDefault": "false",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "2",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "dei:AuditorName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "dei:AuditorName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R3": {
     "role": "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS",
     "longName": "0000003 - Statement - CONSOLIDATED BALANCE SHEETS",
     "shortName": "CONSOLIDATED BALANCE SHEETS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:AccountsReceivableNetCurrent",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "unique": true
     }
    },
    "R4": {
     "role": "http://fastly.com/role/CONSOLIDATEDBALANCESHEETSParenthetical",
     "longName": "0000004 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "shortName": "CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R5": {
     "role": "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS",
     "longName": "0000005 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS",
     "shortName": "CONSOLIDATED STATEMENTS OF OPERATIONS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:CostOfRevenue",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "unique": true
     }
    },
    "R6": {
     "role": "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVELOSS",
     "longName": "0000006 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS",
     "shortName": "CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "unique": true
     }
    },
    "R7": {
     "role": "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY",
     "longName": "0000007 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS\u2019 EQUITY",
     "shortName": "CONSOLIDATED STATEMENTS OF STOCKHOLDERS\u2019 EQUITY",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "7",
     "firstAnchor": {
      "contextRef": "c-8",
      "name": "us-gaap:CommonStockSharesOutstanding",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-8",
      "name": "us-gaap:CommonStockSharesOutstanding",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R8": {
     "role": "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS",
     "longName": "0000008 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "8",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:DepreciationNonproduction",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "unique": true
     }
    },
    "R9": {
     "role": "http://fastly.com/role/NatureofBusiness",
     "longName": "0000009 - Disclosure - Nature of Business",
     "shortName": "Nature of Business",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "9",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:NatureOfOperations",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:NatureOfOperations",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://fastly.com/role/SummaryofSignificantAccountingPolicies",
     "longName": "0000010 - Disclosure - Summary of Significant Accounting Policies",
     "shortName": "Summary of Significant Accounting Policies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://fastly.com/role/Revenue",
     "longName": "0000011 - Disclosure - Revenue",
     "shortName": "Revenue",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://fastly.com/role/InvestmentsandFairValueMeasurements",
     "longName": "0000012 - Disclosure - Investments and Fair Value Measurements",
     "shortName": "Investments and Fair Value Measurements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://fastly.com/role/BusinessCombinations",
     "longName": "0000013 - Disclosure - Business Combinations",
     "shortName": "Business Combinations",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://fastly.com/role/BalanceSheetInformation",
     "longName": "0000014 - Disclosure - Balance Sheet Information",
     "shortName": "Balance Sheet Information",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://fastly.com/role/Leases",
     "longName": "0000015 - Disclosure - Leases",
     "shortName": "Leases",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://fastly.com/role/GoodwillandIntangibleAssets",
     "longName": "0000016 - Disclosure - Goodwill and Intangible Assets",
     "shortName": "Goodwill and Intangible Assets",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://fastly.com/role/DebtInstruments",
     "longName": "0000017 - Disclosure - Debt Instruments",
     "shortName": "Debt Instruments",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://fastly.com/role/CommitmentsandContingencies",
     "longName": "0000018 - Disclosure - Commitments and Contingencies",
     "shortName": "Commitments and Contingencies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "18",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://fastly.com/role/StockholdersEquity",
     "longName": "0000019 - Disclosure - Stockholders\u2019 Equity",
     "shortName": "Stockholders\u2019 Equity",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "19",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholders",
     "longName": "0000020 - Disclosure - Net Loss Per Share Attributable to Common Stockholders",
     "shortName": "Net Loss Per Share Attributable to Common Stockholders",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "20",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://fastly.com/role/IncomeTaxes",
     "longName": "0000021 - Disclosure - Income Taxes",
     "shortName": "Income Taxes",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "21",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://fastly.com/role/InformationAboutRevenueandGeographicAreas",
     "longName": "0000022 - Disclosure - Information About Revenue and Geographic Areas",
     "shortName": "Information About Revenue and Geographic Areas",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "22",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://fastly.com/role/SubsequentEvent",
     "longName": "0000023 - Disclosure - Subsequent Event",
     "shortName": "Subsequent Event",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "23",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure",
     "longName": "995410 - Disclosure - Pay vs Performance Disclosure",
     "shortName": "Pay vs Performance Disclosure",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "24",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R25": {
     "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
     "longName": "995445 - Disclosure - Insider Trading Arrangements",
     "shortName": "Insider Trading Arrangements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "25",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "ecd:MtrlTermsOfTrdArrTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "ecd:MtrlTermsOfTrdArrTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://fastly.com/role/SummaryofSignificantAccountingPoliciesPolicies",
     "longName": "9954471 - Disclosure - Summary of Significant Accounting Policies (Policies)",
     "shortName": "Summary of Significant Accounting Policies (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "26",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://fastly.com/role/SummaryofSignificantAccountingPoliciesTables",
     "longName": "9954472 - Disclosure - Summary of Significant Accounting Policies (Tables)",
     "shortName": "Summary of Significant Accounting Policies (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "27",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R28": {
     "role": "http://fastly.com/role/RevenueTables",
     "longName": "9954473 - Disclosure - Revenue (Tables)",
     "shortName": "Revenue (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "28",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://fastly.com/role/InvestmentsandFairValueMeasurementsTables",
     "longName": "9954474 - Disclosure - Investments and Fair Value Measurements (Tables)",
     "shortName": "Investments and Fair Value Measurements (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "29",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://fastly.com/role/BusinessCombinationsTables",
     "longName": "9954475 - Disclosure - Business Combinations (Tables)",
     "shortName": "Business Combinations (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "30",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://fastly.com/role/BalanceSheetInformationTables",
     "longName": "9954476 - Disclosure - Balance Sheet Information (Tables)",
     "shortName": "Balance Sheet Information (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "31",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://fastly.com/role/LeasesTables",
     "longName": "9954477 - Disclosure - Leases (Tables)",
     "shortName": "Leases (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "32",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://fastly.com/role/GoodwillandIntangibleAssetsTables",
     "longName": "9954478 - Disclosure - Goodwill and Intangible Assets (Tables)",
     "shortName": "Goodwill and Intangible Assets (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "33",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://fastly.com/role/DebtInstrumentsTables",
     "longName": "9954479 - Disclosure - Debt Instruments (Tables)",
     "shortName": "Debt Instruments (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "34",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://fastly.com/role/CommitmentsandContingenciesTables",
     "longName": "9954480 - Disclosure - Commitments and Contingencies (Tables)",
     "shortName": "Commitments and Contingencies (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "35",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:LongTermPurchaseCommitmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:LongTermPurchaseCommitmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R36": {
     "role": "http://fastly.com/role/StockholdersEquityTables",
     "longName": "9954481 - Disclosure - Stockholders' Equity (Tables)",
     "shortName": "Stockholders' Equity (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "36",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R37": {
     "role": "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersTables",
     "longName": "9954482 - Disclosure - Net Loss Per Share Attributable to Common Stockholders (Tables)",
     "shortName": "Net Loss Per Share Attributable to Common Stockholders (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "37",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R38": {
     "role": "http://fastly.com/role/IncomeTaxesTables",
     "longName": "9954483 - Disclosure - Income Taxes (Tables)",
     "shortName": "Income Taxes (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "38",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R39": {
     "role": "http://fastly.com/role/InformationAboutRevenueandGeographicAreasTables",
     "longName": "9954484 - Disclosure - Information About Revenue and Geographic Areas (Tables)",
     "shortName": "Information About Revenue and Geographic Areas (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "39",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R40": {
     "role": "http://fastly.com/role/NatureofBusinessDetails",
     "longName": "9954485 - Disclosure - Nature of Business (Details)",
     "shortName": "Nature of Business (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "40",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "fsly:OperatingMarkets",
      "unitRef": "operating_market",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "fsly:OperatingMarkets",
      "unitRef": "operating_market",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R41": {
     "role": "http://fastly.com/role/SummaryofSignificantAccountingPoliciesConcentrationsofCreditRiskDetails",
     "longName": "9954486 - Disclosure - Summary of Significant Accounting Policies - Concentrations of Credit Risk (Details)",
     "shortName": "Summary of Significant Accounting Policies - Concentrations of Credit Risk (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "41",
     "firstAnchor": {
      "contextRef": "c-51",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "unitRef": "number",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "2",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-51",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "unitRef": "number",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "2",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R42": {
     "role": "http://fastly.com/role/SummaryofSignificantAccountingPoliciesRestrictedCashDetails",
     "longName": "9954487 - Disclosure - Summary of Significant Accounting Policies - Restricted Cash (Details)",
     "shortName": "Summary of Significant Accounting Policies - Restricted Cash (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "42",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:RestrictedCash",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "us-gaap:RestrictedCash",
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R43": {
     "role": "http://fastly.com/role/SummaryofSignificantAccountingPoliciesIncrementalCoststoObtainaContractWithCustomerDetails",
     "longName": "9954488 - Disclosure - Summary of Significant Accounting Policies - Incremental Costs to Obtain a Contract With Customer (Details)",
     "shortName": "Summary of Significant Accounting Policies - Incremental Costs to Obtain a Contract With Customer (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "43",
     "firstAnchor": {
      "contextRef": "c-53",
      "name": "us-gaap:CapitalizedContractCostAmortizationPeriod",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "us-gaap:RevenueFromContractWithCustomerPolicyTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-53",
      "name": "us-gaap:CapitalizedContractCostAmortizationPeriod",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "us-gaap:RevenueFromContractWithCustomerPolicyTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R44": {
     "role": "http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofPropertyandEquipmentDetails",
     "longName": "9954489 - Disclosure - Summary of Significant Accounting Policies - Schedule of Property and Equipment (Details)",
     "shortName": "Summary of Significant Accounting Policies - Schedule of Property and Equipment (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "44",
     "firstAnchor": {
      "contextRef": "c-54",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-54",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R45": {
     "role": "http://fastly.com/role/SummaryofSignificantAccountingPoliciesInternalUseSoftwareDevelopmentCostsDetails",
     "longName": "9954490 - Disclosure - Summary of Significant Accounting Policies - Internal-Use Software Development Costs (Details)",
     "shortName": "Summary of Significant Accounting Policies - Internal-Use Software Development Costs (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "45",
     "firstAnchor": {
      "contextRef": "c-60",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R46": {
     "role": "http://fastly.com/role/SummaryofSignificantAccountingPoliciesGoodwillNarrativeDetails",
     "longName": "9954491 - Disclosure - Summary of Significant Accounting Policies - Goodwill Narrative (Details)",
     "shortName": "Summary of Significant Accounting Policies - Goodwill Narrative (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "46",
     "firstAnchor": null,
     "uniqueAnchor": null
    },
    "R47": {
     "role": "http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofIntangibleAssetsDetails",
     "longName": "9954492 - Disclosure - Summary of Significant Accounting Policies - Schedule of Intangible Assets (Details)",
     "shortName": "Summary of Significant Accounting Policies - Schedule of Intangible Assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "47",
     "firstAnchor": {
      "contextRef": "c-61",
      "name": "us-gaap:FiniteLivedIntangibleAssetUsefulLife",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-61",
      "name": "us-gaap:FiniteLivedIntangibleAssetUsefulLife",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R48": {
     "role": "http://fastly.com/role/SummaryofSignificantAccountingPoliciesCostofRevenueDetails",
     "longName": "9954493 - Disclosure - Summary of Significant Accounting Policies - Cost of Revenue (Details)",
     "shortName": "Summary of Significant Accounting Policies - Cost of Revenue (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "48",
     "firstAnchor": {
      "contextRef": "c-69",
      "name": "fsly:RevenueWithCustomerDurationOfContracts",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "us-gaap:CostOfSalesPolicyTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-69",
      "name": "fsly:RevenueWithCustomerDurationOfContracts",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "us-gaap:CostOfSalesPolicyTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R49": {
     "role": "http://fastly.com/role/SummaryofSignificantAccountingPoliciesAdvertisingExpenseDetails",
     "longName": "9954494 - Disclosure - Summary of Significant Accounting Policies - Advertising Expense (Details)",
     "shortName": "Summary of Significant Accounting Policies - Advertising Expense (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "49",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:AdvertisingExpense",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:AdvertisingExpense",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R50": {
     "role": "http://fastly.com/role/SummaryofSignificantAccountingPoliciesAccountingforStockBasedCompensationDetails",
     "longName": "9954495 - Disclosure - Summary of Significant Accounting Policies - Accounting for Stock-Based Compensation (Details)",
     "shortName": "Summary of Significant Accounting Policies - Accounting for Stock-Based Compensation (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "50",
     "firstAnchor": {
      "contextRef": "c-73",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-73",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R51": {
     "role": "http://fastly.com/role/RevenueRevenuebyGeographicAreaDetails",
     "longName": "9954496 - Disclosure - Revenue - Revenue by Geographic Area (Details)",
     "shortName": "Revenue - Revenue by Geographic Area (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "51",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-74",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "unique": true
     }
    },
    "R52": {
     "role": "http://fastly.com/role/RevenueNarrativeDetails",
     "longName": "9954497 - Disclosure - Revenue - Narrative (Details)",
     "shortName": "Revenue - Narrative (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "52",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "fsly:EnterpriseCustomerThreshold",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "fsly:EnterpriseCustomerThreshold",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R53": {
     "role": "http://fastly.com/role/RevenueRevenuebyCustomerTypeDetails",
     "longName": "9954498 - Disclosure - Revenue - Revenue by Customer Type (Details)",
     "shortName": "Revenue - Revenue by Customer Type (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "53",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-92",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "unique": true
     }
    },
    "R54": {
     "role": "http://fastly.com/role/RevenueContractAssetsandLiabilitiesDetails",
     "longName": "9954499 - Disclosure - Revenue - Contract Assets and Liabilities (Details)",
     "shortName": "Revenue - Contract Assets and Liabilities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "54",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:ContractWithCustomerAssetNet",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:ContractWithCustomerAssetNet",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R55": {
     "role": "http://fastly.com/role/RevenueRemainingPerformanceObligationDetails",
     "longName": "9954500 - Disclosure - Revenue - Remaining Performance Obligation (Details)",
     "shortName": "Revenue - Remaining Performance Obligation (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "55",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R56": {
     "role": "http://fastly.com/role/RevenueCoststoObtainContractsDetails",
     "longName": "9954501 - Disclosure - Revenue - Costs to Obtain Contracts (Details)",
     "shortName": "Revenue - Costs to Obtain Contracts (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "56",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:CapitalizedContractCostNetNoncurrent",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:CapitalizedContractCostTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R57": {
     "role": "http://fastly.com/role/InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails",
     "longName": "9954502 - Disclosure - Investments and Fair Value Measurements - Cash, Cash Equivalent and Marketable Securities (Details)",
     "shortName": "Investments and Fair Value Measurements - Cash, Cash Equivalent and Marketable Securities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "57",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "fsly:CashCashEquivalentsAndMarketableSecurities",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "unique": true
     }
    },
    "R58": {
     "role": "http://fastly.com/role/InvestmentsandFairValueMeasurementsAvailableForSaleInvestmentsDetails",
     "longName": "9954503 - Disclosure - Investments and Fair Value Measurements - Available-For-Sale Investments (Details)",
     "shortName": "Investments and Fair Value Measurements - Available-For-Sale Investments (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "58",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R59": {
     "role": "http://fastly.com/role/InvestmentsandFairValueMeasurementsNarrativeDetails",
     "longName": "9954504 - Disclosure - Investments and Fair Value Measurements - Narrative (Details)",
     "shortName": "Investments and Fair Value Measurements - Narrative (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "59",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerNumberOfPositions",
      "unitRef": "security",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerNumberOfPositions",
      "unitRef": "security",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R60": {
     "role": "http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails",
     "longName": "9954505 - Disclosure - Investments and Fair Value Measurements - Assets and Liabilities at Fair Value (Details)",
     "shortName": "Investments and Fair Value Measurements - Assets and Liabilities at Fair Value (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "60",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:CashEquivalentsAtCarryingValue",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:CashEquivalentsAtCarryingValue",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R61": {
     "role": "http://fastly.com/role/BusinessCombinationsNarrativeDetails",
     "longName": "9954506 - Disclosure - Business Combinations - Narrative (Details)",
     "shortName": "Business Combinations - Narrative (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "61",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:Goodwill",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfGoodwillTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-175",
      "name": "us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired",
      "unitRef": "number",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "unique": true
     }
    },
    "R62": {
     "role": "http://fastly.com/role/BusinessCombinationsScheduleofIdentifiableFiniteLivedIntangibleAssetsDetails",
     "longName": "9954507 - Disclosure - Business Combinations - Schedule of Identifiable Finite-Lived Intangible Assets (Details)",
     "shortName": "Business Combinations - Schedule of Identifiable Finite-Lived Intangible Assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "62",
     "firstAnchor": {
      "contextRef": "c-175",
      "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-178",
      "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "unique": true
     }
    },
    "R63": {
     "role": "http://fastly.com/role/BalanceSheetInformationAllowanceforCreditLossesDetails",
     "longName": "9954508 - Disclosure - Balance Sheet Information - Allowance for Credit Losses (Details)",
     "shortName": "Balance Sheet Information - Allowance for Credit Losses (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "63",
     "firstAnchor": {
      "contextRef": "c-5",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "unique": true
     }
    },
    "R64": {
     "role": "http://fastly.com/role/BalanceSheetInformationPropertyandequipmentDetails",
     "longName": "9954509 - Disclosure - Balance Sheet Information - Property and equipment (Details)",
     "shortName": "Balance Sheet Information - Property and equipment (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "64",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R65": {
     "role": "http://fastly.com/role/BalanceSheetInformationNarrativeDetails",
     "longName": "9954510 - Disclosure - Balance Sheet Information - Narrative (Details)",
     "shortName": "Balance Sheet Information - Narrative (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "65",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "fsly:AssetImpairmentChargesExcludingOperatingLeaseImpairment",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:Depreciation",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "unique": true
     }
    },
    "R66": {
     "role": "http://fastly.com/role/BalanceSheetInformationOtherAssetsDetails",
     "longName": "9954511 - Disclosure - Balance Sheet Information - Other Assets (Details)",
     "shortName": "Balance Sheet Information - Other Assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "66",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:CapitalizedContractCostNetNoncurrent",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:CapitalizedContractCostTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "fsly:AdvancesOnPropertyAndEquipment",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfOtherAssetsNoncurrentTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "unique": true
     }
    },
    "R67": {
     "role": "http://fastly.com/role/BalanceSheetInformationAccruedExpensesDetails",
     "longName": "9954512 - Disclosure - Balance Sheet Information - Accrued Expenses (Details)",
     "shortName": "Balance Sheet Information - Accrued Expenses (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "67",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R68": {
     "role": "http://fastly.com/role/BalanceSheetInformationOtherCurrentLiabilitiesDetails",
     "longName": "9954513 - Disclosure - Balance Sheet Information - Other Current Liabilities (Details)",
     "shortName": "Balance Sheet Information - Other Current Liabilities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "68",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:ContractWithCustomerLiabilityCurrent",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:OtherCurrentLiabilitiesTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:ContractWithCustomerLiabilityCurrent",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:OtherCurrentLiabilitiesTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R69": {
     "role": "http://fastly.com/role/BalanceSheetInformationAccumulatedOtherComprehensiveIncomeLossDetails",
     "longName": "9954514 - Disclosure - Balance Sheet Information - Accumulated Other Comprehensive Income (Loss) (Details)",
     "shortName": "Balance Sheet Information - Accumulated Other Comprehensive Income (Loss) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "69",
     "firstAnchor": {
      "contextRef": "c-5",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-198",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "unique": true
     }
    },
    "R70": {
     "role": "http://fastly.com/role/LeasesNarrativeDetails",
     "longName": "9954515 - Disclosure - Leases - Narrative (Details)",
     "shortName": "Leases - Narrative (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "70",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:SubleaseIncome",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:SubleaseIncome",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R71": {
     "role": "http://fastly.com/role/LeasesScheduleofLeaseCostDetails",
     "longName": "9954516 - Disclosure - Leases - Schedule of Lease Cost (Details)",
     "shortName": "Leases - Schedule of Lease Cost (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "71",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:OperatingLeaseCost",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LeaseCostTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:OperatingLeaseCost",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LeaseCostTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R72": {
     "role": "http://fastly.com/role/LeasesScheduleofOtherInformationDetails",
     "longName": "9954517 - Disclosure - Leases - Schedule of Other Information (Details)",
     "shortName": "Leases - Schedule of Other Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "72",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R73": {
     "role": "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails",
     "longName": "9954518 - Disclosure - Leases - Schedule of Lease Liability Maturity (Details)",
     "shortName": "Leases - Schedule of Lease Liability Maturity (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "73",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R74": {
     "role": "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofChangesintheCarryingAmountofGoodwillDetails",
     "longName": "9954519 - Disclosure - Goodwill and Intangible Assets - Schedule of Changes in the Carrying Amount of Goodwill (Details)",
     "shortName": "Goodwill and Intangible Assets - Schedule of Changes in the Carrying Amount of Goodwill (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "74",
     "firstAnchor": {
      "contextRef": "c-5",
      "name": "us-gaap:Goodwill",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfGoodwillTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:GoodwillAcquiredDuringPeriod",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfGoodwillTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "unique": true
     }
    },
    "R75": {
     "role": "http://fastly.com/role/GoodwillandIntangibleAssetsNarrativeDetails",
     "longName": "9954520 - Disclosure - Goodwill and Intangible Assets - Narrative (Details)",
     "shortName": "Goodwill and Intangible Assets - Narrative (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "75",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:GoodwillImpairmentLoss",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "us-gaap:GoodwillImpairmentLoss",
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:GoodwillImpairmentLoss",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "us-gaap:GoodwillImpairmentLoss",
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R76": {
     "role": "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofIntangibleAssetsNetDetails",
     "longName": "9954521 - Disclosure - Goodwill and Intangible Assets - Schedule of Intangible Assets, Net (Details)",
     "shortName": "Goodwill and Intangible Assets - Schedule of Intangible Assets, Net (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "76",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R77": {
     "role": "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofExpectedAmortizationExpenseofIntangibleAssetsDetails",
     "longName": "9954522 - Disclosure - Goodwill and Intangible Assets - Schedule of Expected Amortization Expense of Intangible Assets (Details)",
     "shortName": "Goodwill and Intangible Assets - Schedule of Expected Amortization Expense of Intangible Assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "77",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R78": {
     "role": "http://fastly.com/role/DebtInstrumentsSeniorSecuredCreditFacilitiesAgreementDetails",
     "longName": "9954523 - Disclosure - Debt Instruments - Senior Secured Credit Facilities Agreement (Details)",
     "shortName": "Debt Instruments - Senior Secured Credit Facilities Agreement (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "78",
     "firstAnchor": {
      "contextRef": "c-222",
      "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-222",
      "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R79": {
     "role": "http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails",
     "longName": "9954524 - Disclosure - Debt Instruments - Convertible Senior Notes (Details)",
     "shortName": "Debt Instruments - Convertible Senior Notes (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "79",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ProceedsFromConvertibleDebt",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-237",
      "name": "us-gaap:ProceedsFromConvertibleDebt",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "unique": true
     }
    },
    "R80": {
     "role": "http://fastly.com/role/DebtInstrumentsScheduleofOutstandingDebtDetails",
     "longName": "9954525 - Disclosure - Debt Instruments - Schedule of Outstanding Debt (Details)",
     "shortName": "Debt Instruments - Schedule of Outstanding Debt (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "80",
     "firstAnchor": {
      "contextRef": "c-247",
      "name": "us-gaap:DebtInstrumentInterestRateDuringPeriod",
      "unitRef": "number",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "4",
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-247",
      "name": "us-gaap:DebtInstrumentInterestRateDuringPeriod",
      "unitRef": "number",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "4",
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R81": {
     "role": "http://fastly.com/role/DebtInstrumentsNarrativeDetails",
     "longName": "9954526 - Disclosure - Debt Instruments - Narrative (Details)",
     "shortName": "Debt Instruments - Narrative (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "81",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:InterestExpenseDebt",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:InterestExpenseDebt",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R82": {
     "role": "http://fastly.com/role/CommitmentsandContingenciesScheduleofPurchaseCommitmentsDetails",
     "longName": "9954527 - Disclosure - Commitments and Contingencies - Schedule of Purchase Commitments (Details)",
     "shortName": "Commitments and Contingencies - Schedule of Purchase Commitments (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "82",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:PurchaseObligationDueInNextTwelveMonths",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LongTermPurchaseCommitmentTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:PurchaseObligationDueInNextTwelveMonths",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LongTermPurchaseCommitmentTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R83": {
     "role": "http://fastly.com/role/CommitmentsandContingenciesNarrativeDetails",
     "longName": "9954528 - Disclosure - Commitments and Contingencies - Narrative (Details)",
     "shortName": "Commitments and Contingencies - Narrative (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "83",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "fsly:SalesAndExciseTaxPayableCurrentExcludingNormalActivity",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "fsly:SalesAndExciseTaxPayableCurrentExcludingNormalActivity",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R84": {
     "role": "http://fastly.com/role/StockholdersEquityCommonStockandPreferredStockDetails",
     "longName": "9954529 - Disclosure - Stockholders' Equity - Common Stock and Preferred Stock (Details)",
     "shortName": "Stockholders' Equity - Common Stock and Preferred Stock (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "84",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:CommonStockSharesAuthorized",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "us-gaap:CommonStockSharesAuthorized",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-252",
      "name": "us-gaap:CommonStockSharesAuthorized",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "unique": true
     }
    },
    "R85": {
     "role": "http://fastly.com/role/StockholdersEquityEquityIncentivePlansDetails",
     "longName": "9954530 - Disclosure - Stockholders' Equity - Equity Incentive Plans (Details)",
     "shortName": "Stockholders' Equity - Equity Incentive Plans (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "85",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "fsly:NumberOfEquityIncentivePlans",
      "unitRef": "plan",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "fsly:NumberOfEquityIncentivePlans",
      "unitRef": "plan",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R86": {
     "role": "http://fastly.com/role/StockholdersEquityStockOptionsNarrativeDetails",
     "longName": "9954531 - Disclosure - Stockholders' Equity - Stock Options Narrative (Details)",
     "shortName": "Stockholders' Equity - Stock Options Narrative (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "86",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R87": {
     "role": "http://fastly.com/role/StockholdersEquityStockOptionActivityDetails",
     "longName": "9954532 - Disclosure - Stockholders' Equity - Stock Option Activity (Details)",
     "shortName": "Stockholders' Equity - Stock Option Activity (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "87",
     "firstAnchor": {
      "contextRef": "c-5",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "unique": true
     }
    },
    "R88": {
     "role": "http://fastly.com/role/StockholdersEquityFairValueAssumptionsStockOptionsDetails",
     "longName": "9954533 - Disclosure - Stockholders' Equity - Fair Value Assumptions - Stock Options (Details)",
     "shortName": "Stockholders' Equity - Fair Value Assumptions - Stock Options (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "88",
     "firstAnchor": {
      "contextRef": "c-265",
      "name": "us-gaap:SharePrice",
      "unitRef": "usdPerShare",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "2",
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-265",
      "name": "us-gaap:SharePrice",
      "unitRef": "usdPerShare",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "2",
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R89": {
     "role": "http://fastly.com/role/StockholdersEquityEarlyExerciseofStockOptionsDetails",
     "longName": "9954534 - Disclosure - Stockholders' Equity - Early Exercise of Stock Options (Details)",
     "shortName": "Stockholders' Equity - Early Exercise of Stock Options (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "89",
     "firstAnchor": {
      "contextRef": "c-269",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R90": {
     "role": "http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails",
     "longName": "9954535 - Disclosure - Stockholders' Equity - Restricted Stock Units (Revest shares), Narrative (Details)",
     "shortName": "Stockholders' Equity - Restricted Stock Units (Revest shares), Narrative (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "90",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-282",
      "name": "fsly:StockIssuedDuringPeriodSharesAcquisitionSharesHeldBackForRestrictedStockAwards",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "unique": true
     }
    },
    "R91": {
     "role": "http://fastly.com/role/StockholdersEquityScheduleofRSURSAPSUandMPSUActivityDetails",
     "longName": "9954536 - Disclosure - Stockholders' Equity - Schedule of RSU, RSA , PSU and MPSU Activity (Details)",
     "shortName": "Stockholders' Equity - Schedule of RSU, RSA , PSU and MPSU Activity (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "91",
     "firstAnchor": {
      "contextRef": "c-277",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardRestrictedStockUnitsVestedAndExpectedToVestTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-278",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardRestrictedStockUnitsVestedAndExpectedToVestTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "unique": true
     }
    },
    "R92": {
     "role": "http://fastly.com/role/StockholdersEquityPerformanceBasedRestrictedStockUnitsPSUsDetails",
     "longName": "9954537 - Disclosure - Stockholders' Equity - Performance Based Restricted Stock Units (PSUs) (Details)",
     "shortName": "Stockholders' Equity - Performance Based Restricted Stock Units (PSUs) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "92",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-294",
      "name": "fsly:StockIssuedDuringPeriodSharesRestrictedStockAwardBonusProgram",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "unique": true
     }
    },
    "R93": {
     "role": "http://fastly.com/role/StockholdersEquityMPSUDetails",
     "longName": "9954538 - Disclosure - Stockholders' Equity - MPSU (Details)",
     "shortName": "Stockholders' Equity - MPSU (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "93",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-301",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum",
      "unitRef": "number",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "4",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "unique": true
     }
    },
    "R94": {
     "role": "http://fastly.com/role/StockholdersEquityESPPDetails",
     "longName": "9954539 - Disclosure - Stockholders' Equity - ESPP (Details)",
     "shortName": "Stockholders' Equity - ESPP (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "94",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-304",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate",
      "unitRef": "number",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "2",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "unique": true
     }
    },
    "R95": {
     "role": "http://fastly.com/role/StockholdersEquityFairValueAssumptionsESPPDetails",
     "longName": "9954540 - Disclosure - Stockholders' Equity - Fair Value Assumptions - ESPP (Details)",
     "shortName": "Stockholders' Equity - Fair Value Assumptions - ESPP (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "95",
     "firstAnchor": {
      "contextRef": "c-314",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-314",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R96": {
     "role": "http://fastly.com/role/StockholdersEquityEquityAwardsModificationDetails",
     "longName": "9954541 - Disclosure - Stockholders' Equity - Equity Awards Modification (Details)",
     "shortName": "Stockholders' Equity - Equity Awards Modification (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "96",
     "firstAnchor": {
      "contextRef": "c-318",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-318",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R97": {
     "role": "http://fastly.com/role/StockholdersEquityStockbasedCompensationExpenseDetails",
     "longName": "9954542 - Disclosure - Stockholders' Equity - Stock-based Compensation Expense (Details)",
     "shortName": "Stockholders' Equity - Stock-based Compensation Expense (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "97",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-320",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "unique": true
     }
    },
    "R98": {
     "role": "http://fastly.com/role/StockholdersEquityCommonStockWarrantLiabilitiesDetails",
     "longName": "9954543 - Disclosure - Stockholders' Equity - Common Stock Warrant Liabilities (Details)",
     "shortName": "Stockholders' Equity - Common Stock Warrant Liabilities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "98",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R99": {
     "role": "http://fastly.com/role/StockholdersEquityEarlyExerciseofStockDetails",
     "longName": "9954544 - Disclosure - Stockholders' Equity - Early Exercise of Stock (Details)",
     "shortName": "Stockholders' Equity - Early Exercise of Stock (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "99",
     "firstAnchor": {
      "contextRef": "c-269",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R100": {
     "role": "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofComputationofBasicandDilutedNetLossPerShareofCommonStockDetails",
     "longName": "9954545 - Disclosure - Net Loss Per Share Attributable to Common Stockholders - Schedule of Computation of Basic and Diluted Net Loss Per Share of Common Stock (Details)",
     "shortName": "Net Loss Per Share Attributable to Common Stockholders - Schedule of Computation of Basic and Diluted Net Loss Per Share of Common Stock (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "100",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:WeightedAverageNumberOfSharesOutstandingBasic",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-335",
      "name": "us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "unique": true
     }
    },
    "R101": {
     "role": "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails",
     "longName": "9954546 - Disclosure - Net Loss Per Share Attributable to Common Stockholders - Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share (Details)",
     "shortName": "Net Loss Per Share Attributable to Common Stockholders - Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "101",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R102": {
     "role": "http://fastly.com/role/IncomeTaxesLossBeforeIncomeTaxesDetails",
     "longName": "9954547 - Disclosure - Income Taxes - Loss Before Income Taxes (Details)",
     "shortName": "Income Taxes - Loss Before Income Taxes (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "102",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R103": {
     "role": "http://fastly.com/role/IncomeTaxesIncomeTaxExpenseDetails",
     "longName": "9954548 - Disclosure - Income Taxes - Income Tax Expense (Details)",
     "shortName": "Income Taxes - Income Tax Expense (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "103",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R104": {
     "role": "http://fastly.com/role/IncomeTaxesEffectiveTaxRateReconciliationDetails",
     "longName": "9954549 - Disclosure - Income Taxes - Effective Tax Rate Reconciliation (Details)",
     "shortName": "Income Taxes - Effective Tax Rate Reconciliation (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "104",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "unitRef": "number",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "unitRef": "number",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R105": {
     "role": "http://fastly.com/role/IncomeTaxesNarrativeDetails",
     "longName": "9954550 - Disclosure - Income Taxes - Narrative (Details)",
     "shortName": "Income Taxes - Narrative (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "105",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:IncomeTaxExpenseBenefit",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "unique": true
     }
    },
    "R106": {
     "role": "http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails",
     "longName": "9954551 - Disclosure - Income Taxes - Deferred Tax Assets and Liabilities (Details)",
     "shortName": "Income Taxes - Deferred Tax Assets and Liabilities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "106",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:DeferredTaxAssetsOperatingLossCarryforwards",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:DeferredTaxAssetsOperatingLossCarryforwards",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R107": {
     "role": "http://fastly.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails",
     "longName": "9954552 - Disclosure - Income Taxes - Unrecognized Tax Benefits (Details)",
     "shortName": "Income Taxes - Unrecognized Tax Benefits (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "107",
     "firstAnchor": {
      "contextRef": "c-5",
      "name": "us-gaap:UnrecognizedTaxBenefits",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-26",
      "name": "us-gaap:UnrecognizedTaxBenefits",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "unique": true
     }
    },
    "R108": {
     "role": "http://fastly.com/role/InformationAboutRevenueandGeographicAreasDetails",
     "longName": "9954553 - Disclosure - Information About Revenue and Geographic Areas (Details)",
     "shortName": "Information About Revenue and Geographic Areas (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "108",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "fsly:PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "fsly:PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "fsly-20231231.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "fsly_A20112019EquityIncentivePlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "A20112019EquityIncentivePlanMember",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityStockOptionsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2011 Equity Incentive Plan",
        "label": "2011 &amp; 2019 Equity Incentive Plan [Member]",
        "documentation": "2011 &amp; 2019 Equity Incentive Plan"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_A2019EquityIncentivePlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "A2019EquityIncentivePlanMember",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityEquityIncentivePlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2019 Equity Incentive Plan",
        "label": "2019 Equity Incentive Plan [Member]",
        "documentation": "2019 Equity Incentive Plan [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_A2022BonusProgramMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "A2022BonusProgramMember",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityPerformanceBasedRestrictedStockUnitsPSUsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2022 Bonus Program",
        "label": "2022 Bonus Program [Member]",
        "documentation": "2022 Bonus Program"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_A2023And2022BonusProgramMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "A2023And2022BonusProgramMember",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityPerformanceBasedRestrictedStockUnitsPSUsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2023 and 2022 Bonus Program",
        "label": "2023 And 2022 Bonus Program [Member]",
        "documentation": "2023 And 2022 Bonus Program"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_A2026ConvertibleNotesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "A2026ConvertibleNotesMember",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails",
      "http://fastly.com/role/DebtInstrumentsScheduleofOutstandingDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2026 Convertible Notes",
        "label": "2026 Convertible Notes [Member]",
        "documentation": "2026 Convertible Notes"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AOCIAttributableToParentNetOfTaxRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AOCIAttributableToParentNetOfTaxRollForward",
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationAccumulatedOtherComprehensiveIncomeLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "AOCI Attributable to Parent, Net of Tax [Roll Forward]",
        "label": "AOCI Attributable to Parent, Net of Tax [Roll Forward]",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountingPoliciesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounting Policies [Abstract]",
        "label": "Accounting Policies [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts payable",
        "label": "Accounts Payable, Current",
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r29",
      "r817"
     ]
    },
    "us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableAllowanceForCreditLossTableTextBlock",
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Allowance for Doubtful Accounts",
        "label": "Accounts Receivable, Allowance for Credit Loss [Table Text Block]",
        "documentation": "Tabular disclosure of allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r973"
     ]
    },
    "us-gaap_AccountsReceivableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableMember",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesConcentrationsofCreditRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts Receivable",
        "label": "Accounts Receivable [Member]",
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold."
       }
      }
     },
     "auth_ref": [
      "r767"
     ]
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts receivable, net of allowance for credit losses of $7,054 and $5,029 as of December 31, 2023 and December\u00a031, 2022, respectively",
        "label": "Accounts Receivable, after Allowance for Credit Loss, Current",
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current."
       }
      }
     },
     "auth_ref": [
      "r320",
      "r321"
     ]
    },
    "us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccretionAmortizationOfDiscountsAndPremiumsInvestments",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 17.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Amortization and accretion of discounts and premiums on investments",
        "label": "Accretion (Amortization) of Discounts and Premiums, Investments",
        "documentation": "The sum of the periodic adjustments of the differences between securities' face values and purchase prices that are charged against earnings. This is called accretion if the security was purchased at a discount and amortization if it was purchased at premium. As a noncash item, this element is an adjustment to net income when calculating cash provided by or used in operations using the indirect method."
       }
      }
     },
     "auth_ref": [
      "r146"
     ]
    },
    "us-gaap_AccruedBonusesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedBonusesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/BalanceSheetInformationAccruedExpensesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued bonus",
        "label": "Accrued Bonuses, Current",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for incentive compensation awarded to employees and directors or earned by them based on the terms of one or more relevant arrangements. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r34"
     ]
    },
    "fsly_AccruedColocationAndBandwidthCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "AccruedColocationAndBandwidthCosts",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/BalanceSheetInformationAccruedExpensesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued colocation and bandwidth costs",
        "label": "Accrued Colocation And Bandwidth Costs",
        "documentation": "Accrued Colocation And Bandwidth Costs"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_AccruedComputerAndNetworkingEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "AccruedComputerAndNetworkingEquipment",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/BalanceSheetInformationOtherCurrentLiabilitiesDetails": {
       "parentTag": "us-gaap_OtherLiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationOtherCurrentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued computer and networking equipment",
        "label": "Accrued Computer And Networking Equipment",
        "documentation": "Accrued Computer And Networking Equipment"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      },
      "http://fastly.com/role/BalanceSheetInformationAccruedExpensesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationAccruedExpensesDetails",
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued expenses",
        "totalLabel": "Total accrued expenses",
        "label": "Accrued Liabilities, Current",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r34"
     ]
    },
    "us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedNetUnrealizedInvestmentGainLossMember",
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationAccumulatedOtherComprehensiveIncomeLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unrealized gain/(loss) for available-for-sale investments",
        "label": "AOCI, Accumulated Gain (Loss), Debt Securities, Available-for-Sale, Parent [Member]",
        "documentation": "Accumulated unrealized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), attributable to parent."
       }
      }
     },
     "auth_ref": [
      "r221",
      "r222",
      "r223",
      "r224",
      "r232",
      "r233",
      "r936"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeLossLineItems",
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationAccumulatedOtherComprehensiveIncomeLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated Other Comprehensive Income (Loss) [Line Items]",
        "label": "Accumulated Other Comprehensive Income (Loss) [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r231",
      "r232",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated other comprehensive loss",
        "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax",
        "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source."
       }
      }
     },
     "auth_ref": [
      "r43",
      "r44",
      "r130",
      "r218",
      "r650",
      "r671",
      "r672"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeLossTable",
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationAccumulatedOtherComprehensiveIncomeLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated Other Comprehensive Income (Loss) [Table]",
        "label": "Accumulated Other Comprehensive Income (Loss) [Table]",
        "documentation": "Disclosure of information about components of accumulated other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r231",
      "r232",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationAccumulatedOtherComprehensiveIncomeLossDetails",
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated Other Comprehensive Income (Loss)",
        "label": "AOCI Attributable to Parent [Member]",
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r19",
      "r44",
      "r560",
      "r563",
      "r602",
      "r667",
      "r668",
      "r936",
      "r937",
      "r938",
      "r946",
      "r947",
      "r948"
     ]
    },
    "us-gaap_AccumulatedTranslationAdjustmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedTranslationAdjustmentMember",
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationAccumulatedOtherComprehensiveIncomeLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign Currency Translation",
        "label": "Accumulated Foreign Currency Adjustment Attributable to Parent [Member]",
        "documentation": "Accumulated other comprehensive income (loss) resulting from foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r19",
      "r44",
      "r232",
      "r233",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r936"
     ]
    },
    "us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife",
     "presentation": [
      "http://fastly.com/role/BusinessCombinationsNarrativeDetails",
      "http://fastly.com/role/BusinessCombinationsScheduleofIdentifiableFiniteLivedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Estimated useful life (in years)",
        "verboseLabel": "Estimated useful life (in years)",
        "label": "Acquired Finite-Lived Intangible Assets, Weighted Average Useful Life",
        "documentation": "Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r150"
     ]
    },
    "ecd_Additional402vDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Additional402vDisclosureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Additional 402(v) Disclosure",
        "label": "Additional 402(v) Disclosure [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r870"
     ]
    },
    "us-gaap_AdditionalPaidInCapital": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapital",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Additional paid-in capital",
        "label": "Additional Paid in Capital",
        "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock."
       }
      }
     },
     "auth_ref": [
      "r125",
      "r817",
      "r1062"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Additional Paid-in Capital",
        "label": "Additional Paid-in Capital [Member]",
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders."
       }
      }
     },
     "auth_ref": [
      "r511",
      "r512",
      "r513",
      "r682",
      "r946",
      "r947",
      "r948",
      "r1035",
      "r1064"
     ]
    },
    "ecd_AdjToCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Adjustment to Compensation, Amount",
        "label": "Adjustment to Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r876"
     ]
    },
    "ecd_AdjToCompAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToCompAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Adjustment to Compensation:",
        "label": "Adjustment to Compensation [Axis]"
       }
      }
     },
     "auth_ref": [
      "r876"
     ]
    },
    "ecd_AdjToNonPeoNeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToNonPeoNeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote",
        "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r876"
     ]
    },
    "ecd_AdjToPeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToPeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Adjustment To PEO Compensation, Footnote",
        "label": "Adjustment To PEO Compensation, Footnote [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r876"
     ]
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-based compensation",
        "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition",
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r88",
      "r89",
      "r476"
     ]
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Adjustments to reconcile net loss to net cash used in operating activities:",
        "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_AdvancesForPaymentsOfPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "AdvancesForPaymentsOfPropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Advance payment for purchase of property and equipment",
        "label": "Advances For Payments Of Property, Plant, And Equipment",
        "documentation": "Advances For Payments Of Property, Plant, And Equipment"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_AdvancesOnPropertyAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "AdvancesOnPropertyAndEquipment",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/BalanceSheetInformationOtherAssetsDetails": {
       "parentTag": "us-gaap_OtherAssetsNoncurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationOtherAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Advance payment for purchase of property and equipment",
        "label": "Advances On Property And Equipment",
        "documentation": "Advances On Property And Equipment"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdvertisingCostsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdvertisingCostsPolicyTextBlock",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Advertising Expense",
        "label": "Advertising Cost [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for advertising cost."
       }
      }
     },
     "auth_ref": [
      "r189"
     ]
    },
    "us-gaap_AdvertisingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdvertisingExpense",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesAdvertisingExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Advertising expense",
        "label": "Advertising Expense",
        "documentation": "Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line."
       }
      }
     },
     "auth_ref": [
      "r519"
     ]
    },
    "fsly_AgencyBondsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "AgencyBondsMember",
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails",
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAvailableForSaleInvestmentsDetails",
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Agency bonds",
        "label": "Agency Bonds [Member]",
        "documentation": "Agency Bonds"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Aggregate Erroneous Compensation Amount",
        "label": "Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r840",
      "r852",
      "r862",
      "r888"
     ]
    },
    "ecd_AggtErrCompNotYetDeterminedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AggtErrCompNotYetDeterminedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined",
        "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r843",
      "r855",
      "r865",
      "r891"
     ]
    },
    "ecd_AllAdjToCompMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllAdjToCompMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "All Adjustments to Compensation",
        "label": "All Adjustments to Compensation [Member]"
       }
      }
     },
     "auth_ref": [
      "r876"
     ]
    },
    "ecd_AllExecutiveCategoriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllExecutiveCategoriesMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "All Executive Categories",
        "label": "All Executive Categories [Member]"
       }
      }
     },
     "auth_ref": [
      "r883"
     ]
    },
    "ecd_AllIndividualsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllIndividualsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "All Individuals",
        "label": "All Individuals [Member]"
       }
      }
     },
     "auth_ref": [
      "r847",
      "r856",
      "r866",
      "r883",
      "r892",
      "r896",
      "r904"
     ]
    },
    "ecd_AllTradingArrangementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllTradingArrangementsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "All Trading Arrangements",
        "label": "All Trading Arrangements [Member]"
       }
      }
     },
     "auth_ref": [
      "r902"
     ]
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllocatedShareBasedCompensationExpense",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityCommonStockWarrantLiabilitiesDetails",
      "http://fastly.com/role/StockholdersEquityESPPDetails",
      "http://fastly.com/role/StockholdersEquityMPSUDetails",
      "http://fastly.com/role/StockholdersEquityPerformanceBasedRestrictedStockUnitsPSUsDetails",
      "http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails",
      "http://fastly.com/role/StockholdersEquityStockOptionsNarrativeDetails",
      "http://fastly.com/role/StockholdersEquityStockbasedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-based compensation expense",
        "label": "Share-Based Payment Arrangement, Expense",
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized."
       }
      }
     },
     "auth_ref": [
      "r507",
      "r518"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationAllowanceforCreditLossesDetails",
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETSParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Allowance for doubtful accounts",
        "periodStartLabel": "Beginning balance",
        "periodEndLabel": "Ending balance",
        "label": "Accounts Receivable, Allowance for Credit Loss, Current",
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r219",
      "r324",
      "r359"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForDoubtfulAccountsReceivableRollforward",
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationAllowanceforCreditLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts Receivable, Allowance for Credit Loss [Roll Forward]",
        "label": "Accounts Receivable, Allowance for Credit Loss [Roll Forward]",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForDoubtfulAccountsReceivableWriteOffs",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationAllowanceforCreditLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Write-offs and adjustments",
        "label": "Accounts Receivable, Allowance for Credit Loss, Writeoff",
        "documentation": "Amount of direct write-downs of accounts receivable charged against the allowance."
       }
      }
     },
     "auth_ref": [
      "r363"
     ]
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://fastly.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amendment Flag",
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AmortizationOfFinancingCostsAndDiscounts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AmortizationOfFinancingCostsAndDiscounts",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amortization of debt discount and issuance costs",
        "label": "Amortization of Debt Issuance Costs and Discounts",
        "documentation": "Amount of amortization expense attributable to debt discount (premium) and debt issuance costs."
       }
      }
     },
     "auth_ref": [
      "r425",
      "r584",
      "r797",
      "r798",
      "r939"
     ]
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AmortizationOfIntangibleAssets",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 20.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS",
      "http://fastly.com/role/GoodwillandIntangibleAssetsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amortization of intangible assets",
        "label": "Amortization of Intangible Assets",
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r68",
      "r72"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "presentation": [
      "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Antidilutive securities (in shares)",
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount",
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented."
       }
      }
     },
     "auth_ref": [
      "r280"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis",
     "presentation": [
      "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Antidilutive Securities [Axis]",
        "label": "Antidilutive Securities [Axis]",
        "documentation": "Information by type of antidilutive security."
       }
      }
     },
     "auth_ref": [
      "r55"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems",
     "presentation": [
      "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]",
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AntidilutiveSecuritiesNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesNameDomain",
     "presentation": [
      "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Antidilutive Securities, Name [Domain]",
        "label": "Antidilutive Securities, Name [Domain]",
        "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented."
       }
      }
     },
     "auth_ref": [
      "r55"
     ]
    },
    "srt_AsiaPacificMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "AsiaPacificMember",
     "presentation": [
      "http://fastly.com/role/RevenueRevenuebyGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Asia Pacific",
        "label": "Asia Pacific [Member]"
       }
      }
     },
     "auth_ref": [
      "r1066",
      "r1067",
      "r1068",
      "r1069"
     ]
    },
    "us-gaap_AssetBackedSecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetBackedSecuritiesMember",
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails",
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAvailableForSaleInvestmentsDetails",
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Asset-backed securities",
        "label": "Asset-Backed Securities [Member]",
        "documentation": "Securities that are primarily serviced by the cash flows of a discrete pool of receivables or other financial assets for example, but not limited to, credit card receivables, car loans, recreational vehicle loans, and mobile home loans."
       }
      }
     },
     "auth_ref": [
      "r807",
      "r961",
      "r966",
      "r967"
     ]
    },
    "fsly_AssetImpairmentChargesExcludingOperatingLeaseImpairment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "AssetImpairmentChargesExcludingOperatingLeaseImpairment",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 4.0
      },
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 21.0
      }
     },
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationNarrativeDetails",
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS",
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Impairment expense",
        "verboseLabel": "Impairment expense",
        "label": "Asset Impairment Charges, Excluding Operating Lease Impairment",
        "documentation": "Asset Impairment Charges, Excluding Operating Lease Impairment"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Assets",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total assets",
        "label": "Assets",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r176",
      "r212",
      "r248",
      "r291",
      "r306",
      "r311",
      "r356",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r555",
      "r557",
      "r573",
      "r647",
      "r719",
      "r817",
      "r829",
      "r994",
      "r995",
      "r1044"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "ASSETS",
        "label": "Assets [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total current assets",
        "label": "Assets, Current",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r206",
      "r220",
      "r248",
      "r356",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r555",
      "r557",
      "r573",
      "r817",
      "r994",
      "r995",
      "r1044"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current assets:",
        "label": "Assets, Current [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsFairValueDisclosure": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsFairValueDisclosure",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total financial assets",
        "label": "Assets, Fair Value Disclosure",
        "documentation": "Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r105"
     ]
    },
    "fsly_AuditInformationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "AuditInformationAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Audit Information [Abstract]",
        "documentation": "Audit Information [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_AuditorFirmId": {
     "xbrltype": "nonemptySequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorFirmId",
     "presentation": [
      "http://fastly.com/role/AuditInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Auditor Firm ID",
        "label": "Auditor Firm ID",
        "documentation": "PCAOB issued Audit Firm Identifier"
       }
      }
     },
     "auth_ref": [
      "r834",
      "r835",
      "r848"
     ]
    },
    "dei_AuditorLocation": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorLocation",
     "presentation": [
      "http://fastly.com/role/AuditInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Auditor Location",
        "label": "Auditor Location"
       }
      }
     },
     "auth_ref": [
      "r834",
      "r835",
      "r848"
     ]
    },
    "dei_AuditorName": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorName",
     "presentation": [
      "http://fastly.com/role/AuditInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Auditor Name",
        "label": "Auditor Name"
       }
      }
     },
     "auth_ref": [
      "r834",
      "r835",
      "r848"
     ]
    },
    "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAvailableForSaleInvestmentsDetails": {
       "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAvailableForSaleInvestmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Gross Unrealized Gain",
        "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, before Tax",
        "documentation": "Amount, before tax, of unrealized gain in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r330"
     ]
    },
    "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAvailableForSaleInvestmentsDetails": {
       "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAvailableForSaleInvestmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Gross Unrealized Loss",
        "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax",
        "documentation": "Amount, before tax, of unrealized loss in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r331"
     ]
    },
    "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AvailableForSaleDebtSecuritiesAmortizedCostBasis",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAvailableForSaleInvestmentsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAvailableForSaleInvestmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Amortized Cost",
        "label": "Debt Securities, Available-for-Sale, Amortized Cost",
        "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r327",
      "r367",
      "r646"
     ]
    },
    "us-gaap_AvailableForSaleSecuritiesDebtSecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AvailableForSaleSecuritiesDebtSecurities",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAvailableForSaleInvestmentsDetails": {
       "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAvailableForSaleInvestmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value",
        "label": "Debt Securities, Available-for-Sale",
        "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r328",
      "r367",
      "r641",
      "r953"
     ]
    },
    "ecd_AwardExrcPrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardExrcPrice",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Exercise Price",
        "label": "Award Exercise Price"
       }
      }
     },
     "auth_ref": [
      "r899"
     ]
    },
    "ecd_AwardGrantDateFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardGrantDateFairValue",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value as of Grant Date",
        "label": "Award Grant Date Fair Value"
       }
      }
     },
     "auth_ref": [
      "r900"
     ]
    },
    "ecd_AwardTmgDiscLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgDiscLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Disclosures [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r895"
     ]
    },
    "ecd_AwardTmgHowMnpiCnsdrdTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgHowMnpiCnsdrdTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Award Timing, How MNPI Considered",
        "label": "Award Timing, How MNPI Considered [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r895"
     ]
    },
    "ecd_AwardTmgMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Award Timing Method",
        "label": "Award Timing Method [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r895"
     ]
    },
    "ecd_AwardTmgMnpiCnsdrdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgMnpiCnsdrdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Award Timing MNPI Considered",
        "label": "Award Timing MNPI Considered [Flag]"
       }
      }
     },
     "auth_ref": [
      "r895"
     ]
    },
    "ecd_AwardTmgMnpiDiscTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgMnpiDiscTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Award Timing MNPI Disclosure",
        "label": "Award Timing MNPI Disclosure [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r895"
     ]
    },
    "ecd_AwardTmgPredtrmndFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgPredtrmndFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Award Timing Predetermined",
        "label": "Award Timing Predetermined [Flag]"
       }
      }
     },
     "auth_ref": [
      "r895"
     ]
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY",
      "http://fastly.com/role/StockholdersEquityCommonStockWarrantLiabilitiesDetails",
      "http://fastly.com/role/StockholdersEquityESPPDetails",
      "http://fastly.com/role/StockholdersEquityEarlyExerciseofStockDetails",
      "http://fastly.com/role/StockholdersEquityEarlyExerciseofStockOptionsDetails",
      "http://fastly.com/role/StockholdersEquityEquityAwardsModificationDetails",
      "http://fastly.com/role/StockholdersEquityFairValueAssumptionsESPPDetails",
      "http://fastly.com/role/StockholdersEquityFairValueAssumptionsStockOptionsDetails",
      "http://fastly.com/role/StockholdersEquityMPSUDetails",
      "http://fastly.com/role/StockholdersEquityPerformanceBasedRestrictedStockUnitsPSUsDetails",
      "http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails",
      "http://fastly.com/role/StockholdersEquityScheduleofRSURSAPSUandMPSUActivityDetails",
      "http://fastly.com/role/StockholdersEquityStockOptionsNarrativeDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Award Type [Axis]",
        "label": "Award Type [Axis]",
        "documentation": "Information by type of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r478",
      "r479",
      "r480",
      "r482",
      "r483",
      "r484",
      "r485",
      "r486",
      "r487",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r502",
      "r503",
      "r504",
      "r505",
      "r506"
     ]
    },
    "ecd_AwardUndrlygSecuritiesAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardUndrlygSecuritiesAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Underlying Securities",
        "label": "Award Underlying Securities Amount"
       }
      }
     },
     "auth_ref": [
      "r898"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardsCloseToMnpiDiscIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Name",
        "label": "Awards Close in Time to MNPI Disclosures, Individual Name"
       }
      }
     },
     "auth_ref": [
      "r897"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardsCloseToMnpiDiscTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Awards Close in Time to MNPI Disclosures",
        "label": "Awards Close in Time to MNPI Disclosures [Table]"
       }
      }
     },
     "auth_ref": [
      "r896"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardsCloseToMnpiDiscTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Awards Close in Time to MNPI Disclosures, Table",
        "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]"
       }
      }
     },
     "auth_ref": [
      "r896"
     ]
    },
    "us-gaap_BalanceSheetRelatedDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BalanceSheetRelatedDisclosuresAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Balance Sheet Related Disclosures [Abstract]",
        "label": "Balance Sheet Related Disclosures [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_BandwidthWithThirdPartyNetworkProvidersMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "BandwidthWithThirdPartyNetworkProvidersMember",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesCostofRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Bandwidth Contracts",
        "label": "Bandwidth With Third Party Network Providers [Member]",
        "documentation": "Bandwidth With Third Party Network Providers [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BaseRateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BaseRateMember",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsSeniorSecuredCreditFacilitiesAgreementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Base Rate",
        "label": "Base Rate [Member]",
        "documentation": "Minimum rate investor will accept."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BasisOfAccountingPolicyPolicyTextBlock",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Basis of Presentation and Consolidation",
        "label": "Basis of Accounting, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)."
       }
      }
     },
     "auth_ref": []
    },
    "fsly_BonusPSUsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "BonusPSUsMember",
     "presentation": [
      "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Bonus PSUs",
        "label": "Bonus PSUs [Member]",
        "documentation": "Bonus PSUs"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_BrettShirkMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "BrettShirkMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Brett Shirk [Member]",
        "documentation": "Brett Shirk"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessAcquisitionAcquireeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessAcquisitionAcquireeDomain",
     "presentation": [
      "http://fastly.com/role/BusinessCombinationsNarrativeDetails",
      "http://fastly.com/role/BusinessCombinationsScheduleofIdentifiableFiniteLivedIntangibleAssetsDetails",
      "http://fastly.com/role/GoodwillandIntangibleAssetsNarrativeDetails",
      "http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Business Acquisition, Acquiree [Domain]",
        "label": "Business Acquisition, Acquiree [Domain]",
        "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree."
       }
      }
     },
     "auth_ref": [
      "r553",
      "r810",
      "r811"
     ]
    },
    "us-gaap_BusinessAcquisitionAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessAcquisitionAxis",
     "presentation": [
      "http://fastly.com/role/BusinessCombinationsNarrativeDetails",
      "http://fastly.com/role/BusinessCombinationsScheduleofIdentifiableFiniteLivedIntangibleAssetsDetails",
      "http://fastly.com/role/GoodwillandIntangibleAssetsNarrativeDetails",
      "http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Business Acquisition [Axis]",
        "label": "Business Acquisition [Axis]",
        "documentation": "Information by business combination or series of individually immaterial business combinations."
       }
      }
     },
     "auth_ref": [
      "r96",
      "r98",
      "r553",
      "r810",
      "r811"
     ]
    },
    "us-gaap_BusinessAcquisitionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessAcquisitionLineItems",
     "presentation": [
      "http://fastly.com/role/BusinessCombinationsNarrativeDetails",
      "http://fastly.com/role/BusinessCombinationsScheduleofIdentifiableFiniteLivedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Business Acquisition [Line Items]",
        "label": "Business Acquisition [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r553"
     ]
    },
    "us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessAcquisitionPercentageOfVotingInterestsAcquired",
     "presentation": [
      "http://fastly.com/role/BusinessCombinationsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Business acquisition, percentage of voting interests acquired (as a percent)",
        "label": "Business Acquisition, Percentage of Voting Interests Acquired",
        "documentation": "Percentage of voting equity interests acquired at the acquisition date in the business combination."
       }
      }
     },
     "auth_ref": [
      "r97"
     ]
    },
    "us-gaap_BusinessCombinationAcquisitionRelatedCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationAcquisitionRelatedCosts",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/BusinessCombinationsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Acquisition related costs",
        "label": "Business Combination, Acquisition Related Costs",
        "documentation": "This element represents acquisition-related costs incurred to effect a business combination which costs have been expensed during the period. Such costs include finder's fees; advisory, legal, accounting, valuation, and other professional or consulting fees; general administrative costs, including the costs of maintaining an internal acquisitions department; and may include costs of registering and issuing debt and equity securities."
       }
      }
     },
     "auth_ref": [
      "r95"
     ]
    },
    "us-gaap_BusinessCombinationAndAssetAcquisitionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationAndAssetAcquisitionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination and Asset Acquisition [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationConsiderationTransferred1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationConsiderationTransferred1",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/BusinessCombinationsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Aggregate consideration transferred",
        "label": "Business Combination, Consideration Transferred",
        "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r4",
      "r16"
     ]
    },
    "fsly_BusinessCombinationConsiderationTransferredHoldback": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "BusinessCombinationConsiderationTransferredHoldback",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/BusinessCombinationsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Consideration transferred, holdback",
        "label": "Business Combination, Consideration Transferred, Holdback",
        "documentation": "Business Combination, Consideration Transferred, Holdback"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_BusinessCombinationConsiderationTransferredHoldbackCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "BusinessCombinationConsiderationTransferredHoldbackCurrent",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/BalanceSheetInformationOtherCurrentLiabilitiesDetails": {
       "parentTag": "us-gaap_OtherLiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationOtherCurrentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Holdback payable",
        "label": "Business Combination, Consideration Transferred, Holdback, Current",
        "documentation": "Business Combination, Consideration Transferred, Holdback, Current"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_BusinessCombinationConsiderationTransferredHoldbackDistributions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "BusinessCombinationConsiderationTransferredHoldbackDistributions",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/BusinessCombinationsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Holdback distributions",
        "label": "Business Combination, Consideration Transferred, Holdback Distributions",
        "documentation": "Business Combination, Consideration Transferred, Holdback Distributions"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_BusinessCombinationConsiderationTransferredHoldbackPeriodForDistribution": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "BusinessCombinationConsiderationTransferredHoldbackPeriodForDistribution",
     "presentation": [
      "http://fastly.com/role/BusinessCombinationsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Consideration transferred, holdback, period for distribution",
        "label": "Business Combination, Consideration Transferred, Holdback, Period For Distribution",
        "documentation": "Business Combination, Consideration Transferred, Holdback, Period For Distribution"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationDisclosureTextBlock",
     "presentation": [
      "http://fastly.com/role/BusinessCombinations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Business Combinations",
        "label": "Business Combination Disclosure [Text Block]",
        "documentation": "The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable)."
       }
      }
     },
     "auth_ref": [
      "r171",
      "r554"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/BusinessCombinationsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Cash",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents",
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions, acquired at the acquisition date. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r100"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/BusinessCombinationsNarrativeDetails",
      "http://fastly.com/role/BusinessCombinationsScheduleofIdentifiableFiniteLivedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "netLabel": "Intangible assets",
        "terseLabel": "Total",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles",
        "documentation": "The amount of identifiable intangible assets recognized as of the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r99",
      "r100"
     ]
    },
    "fsly_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherAssetsNet",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/BusinessCombinationsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other assets, net",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Other Assets, Net",
        "documentation": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Other Assets, Net"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_BusinessCombinationUnvestedStockOptionAssumedShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "BusinessCombinationUnvestedStockOptionAssumedShares",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityEquityIncentivePlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unvested stock options assumed (in shares)",
        "label": "Business Combination, Unvested Stock Option Assumed, Shares",
        "documentation": "Business Combination, Unvested Stock Option Assumed, Shares"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationsPolicy",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Business Combinations",
        "label": "Business Combinations Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for completed business combinations (purchase method, acquisition method or combination of entities under common control). This accounting policy may include a general discussion of the purchase method or acquisition method of accounting (including for example, the treatment accorded contingent consideration, the identification of assets and liabilities, the purchase price allocation process, how the fair values of acquired assets and liabilities are determined) and the entity's specific application thereof. An entity that acquires another entity in a leveraged buyout transaction generally discloses the accounting policy followed by the acquiring entity in determining the basis used to value its interest in the acquired entity, and the rationale for that accounting policy."
       }
      }
     },
     "auth_ref": [
      "r94"
     ]
    },
    "us-gaap_CapitalExpendituresIncurredButNotYetPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CapitalExpendituresIncurredButNotYetPaid",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property\u00a0and\u00a0equipment\u00a0additions\u00a0not\u00a0yet\u00a0paid\u00a0in\u00a0cash or financed",
        "label": "Capital Expenditures Incurred but Not yet Paid",
        "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred."
       }
      }
     },
     "auth_ref": [
      "r52",
      "r53",
      "r54"
     ]
    },
    "us-gaap_CapitalizedContractCostAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CapitalizedContractCostAmortization",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS",
      "http://fastly.com/role/RevenueNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amortization of deferred contract costs",
        "label": "Capitalized Contract Cost, Amortization",
        "documentation": "Amount of amortization expense for asset recognized from cost incurred to obtain or fulfill contract with customer."
       }
      }
     },
     "auth_ref": [
      "r372"
     ]
    },
    "us-gaap_CapitalizedContractCostAmortizationPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CapitalizedContractCostAmortizationPeriod",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesIncrementalCoststoObtainaContractWithCustomerDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Capitalized contract cost, useful life (in years)",
        "label": "Capitalized Contract Cost, Amortization Period",
        "documentation": "Amortization period of cost capitalized in obtaining or fulfilling contract with customer, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r917"
     ]
    },
    "us-gaap_CapitalizedContractCostAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CapitalizedContractCostAxis",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesIncrementalCoststoObtainaContractWithCustomerDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Capitalized Contract Cost [Axis]",
        "label": "Capitalized Contract Cost [Axis]",
        "documentation": "Information by cost capitalized in obtaining or fulfilling contract with customer."
       }
      }
     },
     "auth_ref": [
      "r371"
     ]
    },
    "us-gaap_CapitalizedContractCostDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CapitalizedContractCostDomain",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesIncrementalCoststoObtainaContractWithCustomerDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Capitalized Contract Cost [Domain]",
        "label": "Capitalized Contract Cost [Domain]",
        "documentation": "Cost capitalized in obtaining and fulfilling contract with customer."
       }
      }
     },
     "auth_ref": [
      "r371"
     ]
    },
    "us-gaap_CapitalizedContractCostLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CapitalizedContractCostLineItems",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesIncrementalCoststoObtainaContractWithCustomerDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Capitalized Contract Cost [Line Items]",
        "label": "Capitalized Contract Cost [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r371"
     ]
    },
    "us-gaap_CapitalizedContractCostNetNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CapitalizedContractCostNetNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/BalanceSheetInformationOtherAssetsDetails": {
       "parentTag": "us-gaap_OtherAssetsNoncurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationOtherAssetsDetails",
      "http://fastly.com/role/RevenueCoststoObtainContractsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred contract costs, net",
        "label": "Capitalized Contract Cost, Net, Noncurrent",
        "documentation": "Amount, after accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer; classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r371"
     ]
    },
    "us-gaap_CapitalizedContractCostTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CapitalizedContractCostTable",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesIncrementalCoststoObtainaContractWithCustomerDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Capitalized Contract Cost [Table]",
        "label": "Capitalized Contract Cost [Table]",
        "documentation": "Disclosure of information about cost capitalized in obtaining or fulfilling contract with customer."
       }
      }
     },
     "auth_ref": [
      "r371"
     ]
    },
    "us-gaap_CapitalizedContractCostTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CapitalizedContractCostTableTextBlock",
     "presentation": [
      "http://fastly.com/role/RevenueTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Costs to Obtain Contracts",
        "label": "Capitalized Contract Cost [Table Text Block]",
        "documentation": "Tabular disclosure of cost capitalized in obtaining or fulfilling contract with customer."
       }
      }
     },
     "auth_ref": [
      "r975"
     ]
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 1.0
      },
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
       "weight": 1.0,
       "order": 1.0
      },
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails": {
       "parentTag": "fsly_CashCashEquivalentsAndMarketableSecurities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS",
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS",
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash and cash equivalents",
        "netLabel": "Total cash and cash equivalents",
        "label": "Cash and Cash Equivalents, at Carrying Value",
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r49",
      "r208",
      "r783"
     ]
    },
    "us-gaap_CashAndCashEquivalentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsAxis",
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails",
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAvailableForSaleInvestmentsDetails",
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash and Cash Equivalents [Axis]",
        "label": "Cash and Cash Equivalents [Axis]",
        "documentation": "Information by type of cash and cash equivalent balance."
       }
      }
     },
     "auth_ref": [
      "r208"
     ]
    },
    "us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted Cash",
        "label": "Cash and Cash Equivalents, Restricted Cash and Cash Equivalents, Policy [Policy Text Block]",
        "documentation": "Entity's cash and cash equivalents accounting policy with respect to restricted balances. Restrictions may include legally restricted deposits held as compensating balances against short-term borrowing arrangements, contracts entered into with others, or company statements of intention with regard to particular deposits; however, time deposits and short-term certificates of deposit are not generally included in legally restricted deposits."
       }
      }
     },
     "auth_ref": [
      "r50",
      "r175"
     ]
    },
    "us-gaap_CashAndCashEquivalentsUnrestrictedCashAndCashEquivalentsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsUnrestrictedCashAndCashEquivalentsPolicy",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash, Cash Equivalents",
        "label": "Cash and Cash Equivalents, Unrestricted Cash and Cash Equivalents, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for cash and cash equivalents with respect to unrestricted balances."
       }
      }
     },
     "auth_ref": [
      "r50"
     ]
    },
    "fsly_CashCashEquivalentsAndMarketableSecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "CashCashEquivalentsAndMarketableSecurities",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total cash, cash equivalents and marketable securities",
        "label": "Cash, Cash Equivalents And Marketable Securities",
        "documentation": "Cash, Cash Equivalents And Marketable Securities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Cash, cash equivalents, and restricted cash at beginning of period",
        "periodEndLabel": "Cash, cash equivalents, and restricted cash at end of period",
        "totalLabel": "Total cash, cash equivalents, and restricted cash",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents",
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r49",
      "r144",
      "r245"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Reconciliation of cash, cash equivalents, and restricted cash as shown in the statements of cash flows",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net increase (decrease) in cash, cash equivalents, and restricted cash",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect",
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r144"
     ]
    },
    "us-gaap_CashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails": {
       "parentTag": "us-gaap_AssetsFairValueDisclosure",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash equivalents:",
        "label": "Cash Equivalents, at Carrying Value",
        "documentation": "Amount of short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r931",
      "r1056"
     ]
    },
    "us-gaap_CashMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashMember",
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash",
        "label": "Cash [Member]",
        "documentation": "Currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits."
       }
      }
     },
     "auth_ref": [
      "r208"
     ]
    },
    "us-gaap_ChangeInAccountingEstimateByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ChangeInAccountingEstimateByTypeAxis",
     "presentation": [
      "http://fastly.com/role/RevenueRevenuebyCustomerTypeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Change in Accounting Estimate by Type [Axis]",
        "label": "Change in Accounting Estimate by Type [Axis]",
        "documentation": "Information by type of change in accounting estimate."
       }
      }
     },
     "auth_ref": [
      "r57",
      "r260"
     ]
    },
    "us-gaap_ChangeInAccountingEstimateTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ChangeInAccountingEstimateTypeDomain",
     "presentation": [
      "http://fastly.com/role/RevenueRevenuebyCustomerTypeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Change in Accounting Estimate, Type [Domain]",
        "label": "Change in Accounting Estimate, Type [Domain]",
        "documentation": "Identification of the accounting estimate that was changed that had the effect of adjusting the carrying amount of an existing asset or liability, or that will alter the subsequent accounting for existing or future assets or liabilities."
       }
      }
     },
     "auth_ref": [
      "r57",
      "r260"
     ]
    },
    "ecd_ChangedPeerGroupFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ChangedPeerGroupFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Changed Peer Group, Footnote",
        "label": "Changed Peer Group, Footnote [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r874"
     ]
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CityAreaCode",
     "presentation": [
      "http://fastly.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "City Area Code",
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ClassOfStockDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ClassOfStockDomain",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY",
      "http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails",
      "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofComputationofBasicandDilutedNetLossPerShareofCommonStockDetails",
      "http://fastly.com/role/StockholdersEquityCommonStockandPreferredStockDetails",
      "http://fastly.com/role/StockholdersEquityESPPDetails",
      "http://fastly.com/role/StockholdersEquityEarlyExerciseofStockDetails",
      "http://fastly.com/role/StockholdersEquityEarlyExerciseofStockOptionsDetails",
      "http://fastly.com/role/StockholdersEquityEquityIncentivePlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Class of Stock [Domain]",
        "label": "Class of Stock [Domain]",
        "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock."
       }
      }
     },
     "auth_ref": [
      "r203",
      "r215",
      "r216",
      "r217",
      "r248",
      "r269",
      "r270",
      "r277",
      "r279",
      "r285",
      "r286",
      "r356",
      "r394",
      "r396",
      "r397",
      "r398",
      "r401",
      "r402",
      "r434",
      "r435",
      "r437",
      "r438",
      "r440",
      "r573",
      "r676",
      "r677",
      "r678",
      "r679",
      "r682",
      "r683",
      "r684",
      "r685",
      "r686",
      "r687",
      "r688",
      "r689",
      "r690",
      "r691",
      "r692",
      "r693",
      "r707",
      "r728",
      "r747",
      "r759",
      "r760",
      "r761",
      "r762",
      "r763",
      "r911",
      "r942",
      "r949"
     ]
    },
    "us-gaap_ClassOfStockLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ClassOfStockLineItems",
     "presentation": [
      "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofComputationofBasicandDilutedNetLossPerShareofCommonStockDetails",
      "http://fastly.com/role/StockholdersEquityCommonStockWarrantLiabilitiesDetails",
      "http://fastly.com/role/StockholdersEquityCommonStockandPreferredStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Class of Stock [Line Items]",
        "label": "Class of Stock [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r215",
      "r216",
      "r217",
      "r285",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r676",
      "r677",
      "r678",
      "r679",
      "r799",
      "r911",
      "r942"
     ]
    },
    "ecd_CoSelectedMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CoSelectedMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Company Selected Measure Amount",
        "label": "Company Selected Measure Amount"
       }
      }
     },
     "auth_ref": [
      "r875"
     ]
    },
    "ecd_CoSelectedMeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CoSelectedMeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Company Selected Measure Name",
        "label": "Company Selected Measure Name"
       }
      }
     },
     "auth_ref": [
      "r875"
     ]
    },
    "fsly_ColocationServicesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "ColocationServicesMember",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesCostofRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Colocation Services",
        "label": "Colocation Services [Member]",
        "documentation": "Colocation Services [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommercialPaperMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommercialPaperMember",
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails",
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAvailableForSaleInvestmentsDetails",
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Commercial paper",
        "verboseLabel": "Commercial paper",
        "label": "Commercial Paper [Member]",
        "documentation": "Unsecured promissory note (generally negotiable) that provides institutions with short-term funds."
       }
      }
     },
     "auth_ref": [
      "r156",
      "r824",
      "r825",
      "r826",
      "r827"
     ]
    },
    "us-gaap_CommitmentsAndContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingencies",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Commitments and contingencies (Note\u00a010)",
        "label": "Commitments and Contingencies",
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur."
       }
      }
     },
     "auth_ref": [
      "r40",
      "r113",
      "r648",
      "r706"
     ]
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Commitments and Contingencies Disclosure [Abstract]",
        "label": "Commitments and Contingencies Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "presentation": [
      "http://fastly.com/role/CommitmentsandContingencies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Commitments and Contingencies",
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "documentation": "The entire disclosure for commitments and contingencies."
       }
      }
     },
     "auth_ref": [
      "r154",
      "r385",
      "r387",
      "r768",
      "r991"
     ]
    },
    "us-gaap_CommonClassAMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonClassAMember",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY",
      "http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails",
      "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofComputationofBasicandDilutedNetLossPerShareofCommonStockDetails",
      "http://fastly.com/role/StockholdersEquityCommonStockandPreferredStockDetails",
      "http://fastly.com/role/StockholdersEquityESPPDetails",
      "http://fastly.com/role/StockholdersEquityEquityIncentivePlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common Class A",
        "label": "Common Class A [Member]",
        "documentation": "Classification of common stock representing ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r1064"
     ]
    },
    "us-gaap_CommonClassBMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonClassBMember",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY",
      "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofComputationofBasicandDilutedNetLossPerShareofCommonStockDetails",
      "http://fastly.com/role/StockholdersEquityCommonStockandPreferredStockDetails",
      "http://fastly.com/role/StockholdersEquityEarlyExerciseofStockDetails",
      "http://fastly.com/role/StockholdersEquityEarlyExerciseofStockOptionsDetails",
      "http://fastly.com/role/StockholdersEquityEquityIncentivePlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common Class B",
        "label": "Common Class B [Member]",
        "documentation": "Classification of common stock that has different rights than Common Class A, representing ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r1064"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockMember",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY",
      "http://fastly.com/role/StockholdersEquityESPPDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common Stock",
        "label": "Common Stock [Member]",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r820",
      "r821",
      "r822",
      "r824",
      "r825",
      "r826",
      "r827",
      "r946",
      "r947",
      "r1035",
      "r1060",
      "r1064"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETSParenthetical",
      "http://fastly.com/role/StockholdersEquityCommonStockandPreferredStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, par value (in dollars per share)",
        "label": "Common Stock, Par or Stated Value Per Share",
        "documentation": "Face amount or stated value per share of common stock."
       }
      }
     },
     "auth_ref": [
      "r124"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETSParenthetical",
      "http://fastly.com/role/StockholdersEquityCommonStockandPreferredStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, shares authorized (in shares)",
        "label": "Common Stock, Shares Authorized",
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r124",
      "r707"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETSParenthetical",
      "http://fastly.com/role/StockholdersEquityEquityIncentivePlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, shares issued (in shares)",
        "label": "Common Stock, Shares, Issued",
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury."
       }
      }
     },
     "auth_ref": [
      "r124"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETSParenthetical",
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY",
      "http://fastly.com/role/StockholdersEquityEquityIncentivePlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, shares outstanding (in shares)",
        "periodStartLabel": "Beginning balance (in shares)",
        "periodEndLabel": "Ending balance (in shares)",
        "label": "Common Stock, Shares, Outstanding",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r124",
      "r707",
      "r725",
      "r1064",
      "r1065"
     ]
    },
    "fsly_CommonStockSharesRetired": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "CommonStockSharesRetired",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityCommonStockandPreferredStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock retired (in shares)",
        "label": "Common Stock, Shares, Retired",
        "documentation": "Common Stock, Shares, Retired"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Class A Common stock, $0.00002 par value; 1,000,000,000 shares authorized as of both December\u00a031, 2023 and 2022; 132,992,126 and 124,336,171 shares issued and outstanding at December\u00a031, 2023 and 2022, respectively",
        "label": "Common Stock, Value, Issued",
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r124",
      "r649",
      "r817"
     ]
    },
    "fsly_CommonStockVotingRightsNumberofVotesAllowedToEachShare": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "CommonStockVotingRightsNumberofVotesAllowedToEachShare",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityCommonStockandPreferredStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, voting rights (votes per share)",
        "label": "Common Stock, Voting Rights, Number of Votes Allowed To Each Share",
        "documentation": "Common Stock, Voting Rights, Number of Votes Allowed To Each Share"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Compensation Actually Paid vs. Company Selected Measure",
        "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r880"
     ]
    },
    "ecd_CompActuallyPaidVsNetIncomeTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsNetIncomeTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Compensation Actually Paid vs. Net Income",
        "label": "Compensation Actually Paid vs. Net Income [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r879"
     ]
    },
    "ecd_CompActuallyPaidVsOtherMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsOtherMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Compensation Actually Paid vs. Other Measure",
        "label": "Compensation Actually Paid vs. Other Measure [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r881"
     ]
    },
    "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return",
        "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r878"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomeNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVELOSS": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVELOSS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Comprehensive loss",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent",
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r45",
      "r227",
      "r229",
      "r235",
      "r642",
      "r657"
     ]
    },
    "us-gaap_ComputerEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComputerEquipmentMember",
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationNarrativeDetails",
      "http://fastly.com/role/BalanceSheetInformationPropertyandequipmentDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofPropertyandEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Computer and networking equipment",
        "label": "Computer Equipment [Member]",
        "documentation": "Long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskBenchmarkDomain",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesConcentrationsofCreditRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Concentration Risk Benchmark [Domain]",
        "label": "Concentration Risk Benchmark [Domain]",
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage."
       }
      }
     },
     "auth_ref": [
      "r59",
      "r61",
      "r106",
      "r107",
      "r319",
      "r767"
     ]
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesConcentrationsofCreditRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Concentration Risk Benchmark [Axis]",
        "label": "Concentration Risk Benchmark [Axis]",
        "documentation": "Information by benchmark of concentration risk."
       }
      }
     },
     "auth_ref": [
      "r59",
      "r61",
      "r106",
      "r107",
      "r319",
      "r673",
      "r767"
     ]
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskByTypeAxis",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesConcentrationsofCreditRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Concentration Risk Type [Axis]",
        "label": "Concentration Risk Type [Axis]",
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender."
       }
      }
     },
     "auth_ref": [
      "r59",
      "r61",
      "r106",
      "r107",
      "r319",
      "r767",
      "r916"
     ]
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskCreditRisk",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Concentrations of Credit Risk",
        "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for credit risk."
       }
      }
     },
     "auth_ref": [
      "r117",
      "r192"
     ]
    },
    "us-gaap_ConcentrationRiskLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskLineItems",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesConcentrationsofCreditRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Concentration Risk [Line Items]",
        "label": "Concentration Risk [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r767"
     ]
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskPercentage1",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesConcentrationsofCreditRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Concentration risk, percentage",
        "label": "Concentration Risk, Percentage",
        "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division."
       }
      }
     },
     "auth_ref": [
      "r59",
      "r61",
      "r106",
      "r107",
      "r319"
     ]
    },
    "us-gaap_ConcentrationRiskTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskTable",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesConcentrationsofCreditRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Concentration Risk [Table]",
        "label": "Concentration Risk [Table]",
        "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark."
       }
      }
     },
     "auth_ref": [
      "r58",
      "r59",
      "r61",
      "r62",
      "r106",
      "r174",
      "r767"
     ]
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskTypeDomain",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesConcentrationsofCreditRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Concentration Risk Type [Domain]",
        "label": "Concentration Risk Type [Domain]",
        "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration."
       }
      }
     },
     "auth_ref": [
      "r59",
      "r61",
      "r106",
      "r107",
      "r319",
      "r767"
     ]
    },
    "us-gaap_ConsolidationPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConsolidationPolicyTextBlock",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Principles of Consolidation",
        "label": "Consolidation, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary."
       }
      }
     },
     "auth_ref": [
      "r104",
      "r785"
     ]
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock",
     "presentation": [
      "http://fastly.com/role/RevenueTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Contract Assets and Liabilities",
        "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]",
        "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability."
       }
      }
     },
     "auth_ref": [
      "r998"
     ]
    },
    "us-gaap_ContractWithCustomerAssetNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerAssetNet",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/RevenueContractAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contract assets",
        "label": "Contract with Customer, Asset, after Allowance for Credit Loss",
        "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time."
       }
      }
     },
     "auth_ref": [
      "r442",
      "r444",
      "r463"
     ]
    },
    "us-gaap_ContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiability",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/RevenueContractAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contract liabilities",
        "label": "Contract with Customer, Liability",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r442",
      "r443",
      "r463"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiabilityAbstract",
     "presentation": [
      "http://fastly.com/role/RevenueContractAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contract with Customer, Liability",
        "label": "Contract with Customer, Liability [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/BalanceSheetInformationOtherCurrentLiabilitiesDetails": {
       "parentTag": "us-gaap_OtherLiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationOtherCurrentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred revenue",
        "label": "Contract with Customer, Liability, Current",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r442",
      "r443",
      "r463"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiabilityRevenueRecognized",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/RevenueContractAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue recognized in the period from amounts included in contract liability at the beginning of the period",
        "label": "Contract with Customer, Liability, Revenue Recognized",
        "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due."
       }
      }
     },
     "auth_ref": [
      "r464"
     ]
    },
    "us-gaap_ConvertibleDebtMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConvertibleDebtMember",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails",
      "http://fastly.com/role/DebtInstrumentsScheduleofOutstandingDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Convertible Debt",
        "label": "Convertible Debt [Member]",
        "documentation": "Borrowing which can be exchanged for a specified number of another security at the option of the issuer or the holder, for example, but not limited to, the entity's common stock."
       }
      }
     },
     "auth_ref": [
      "r157",
      "r404",
      "r405",
      "r415",
      "r416",
      "r417",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r794",
      "r795",
      "r796",
      "r797",
      "r798"
     ]
    },
    "us-gaap_ConvertibleDebtSecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConvertibleDebtSecuritiesMember",
     "presentation": [
      "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Convertible senior notes (if-converted)",
        "label": "Convertible Debt Securities [Member]",
        "documentation": "Debt securities that can be exchanged for equity of the debt issuer at the option of the issuer or the holder."
       }
      }
     },
     "auth_ref": [
      "r1000"
     ]
    },
    "us-gaap_CorporateDebtSecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CorporateDebtSecuritiesMember",
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails",
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAvailableForSaleInvestmentsDetails",
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Corporate notes and bonds",
        "label": "Corporate Debt Securities [Member]",
        "documentation": "Debt securities issued by domestic or foreign corporate business, banks and other entities with a promise of repayment."
       }
      }
     },
     "auth_ref": [
      "r807",
      "r809",
      "r1059"
     ]
    },
    "us-gaap_CostOfRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostOfRevenue",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cost of revenue",
        "label": "Cost of Revenue",
        "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r136",
      "r248",
      "r356",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r573",
      "r994"
     ]
    },
    "fsly_CostOfRevenueCommitmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "CostOfRevenueCommitmentMember",
     "presentation": [
      "http://fastly.com/role/CommitmentsandContingenciesScheduleofPurchaseCommitmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cost of Revenue Commitments",
        "label": "Cost Of Revenue Commitment [Member]",
        "documentation": "Cost Of Revenue Commitment [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CostOfSalesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostOfSalesMember",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityStockbasedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cost of revenue",
        "label": "Cost of Sales [Member]",
        "documentation": "Primary financial statement caption encompassing cost of sales."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CostOfSalesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostOfSalesPolicyTextBlock",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cost of Revenue",
        "label": "Cost of Goods and Service [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for cost of product sold and service rendered."
       }
      }
     },
     "auth_ref": [
      "r921"
     ]
    },
    "fsly_CountriesNotSeparatelyRecognizedMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "CountriesNotSeparatelyRecognizedMember",
     "presentation": [
      "http://fastly.com/role/RevenueRevenuebyGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "All other",
        "label": "Countries Not Separately Recognized [Member]",
        "documentation": "Countries Not Separately Recognized"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cover [Abstract]",
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentFederalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentFederalTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/IncomeTaxesIncomeTaxExpenseDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://fastly.com/role/IncomeTaxesIncomeTaxExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Federal",
        "label": "Current Federal Tax Expense (Benefit)",
        "documentation": "Amount of current federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r920",
      "r945",
      "r1033"
     ]
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://fastly.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current Fiscal Year End Date",
        "label": "Current Fiscal Year End Date",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentForeignTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentForeignTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/IncomeTaxesIncomeTaxExpenseDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://fastly.com/role/IncomeTaxesIncomeTaxExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign",
        "label": "Current Foreign Tax Expense (Benefit)",
        "documentation": "Amount of current foreign income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r920",
      "r945"
     ]
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "presentation": [
      "http://fastly.com/role/IncomeTaxesIncomeTaxExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current tax provision (benefit):",
        "label": "Current Income Tax Expense (Benefit), Continuing Operations [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentStateAndLocalTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/IncomeTaxesIncomeTaxExpenseDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://fastly.com/role/IncomeTaxesIncomeTaxExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "State",
        "label": "Current State and Local Tax Expense (Benefit)",
        "documentation": "Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r920",
      "r945",
      "r1033"
     ]
    },
    "fsly_CustomerArrangementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "CustomerArrangementMember",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesIncrementalCoststoObtainaContractWithCustomerDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Customer Arrangement",
        "label": "Customer Arrangement [Member]",
        "documentation": "Customer Arrangement [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CustomerConcentrationRiskMember",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesConcentrationsofCreditRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Customer Concentration Risk",
        "label": "Customer Concentration Risk [Member]",
        "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer."
       }
      }
     },
     "auth_ref": [
      "r60",
      "r319"
     ]
    },
    "fsly_CustomerOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "CustomerOneMember",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesConcentrationsofCreditRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Customer One",
        "label": "Customer One [Member]",
        "documentation": "Customer One"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CustomerRelationshipsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CustomerRelationshipsMember",
     "presentation": [
      "http://fastly.com/role/BusinessCombinationsScheduleofIdentifiableFiniteLivedIntangibleAssetsDetails",
      "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofIntangibleAssetsNetDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Customer relationships",
        "label": "Customer Relationships [Member]",
        "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships."
       }
      }
     },
     "auth_ref": [
      "r103"
     ]
    },
    "us-gaap_DebtConversionByUniqueDescriptionAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtConversionByUniqueDescriptionAxis",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt Conversion Description [Axis]",
        "label": "Debt Conversion Description [Axis]",
        "documentation": "Information by description of debt issuances converted in a noncash or part noncash transaction."
       }
      }
     },
     "auth_ref": [
      "r52",
      "r54"
     ]
    },
    "us-gaap_DebtConversionNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtConversionNameDomain",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt Conversion, Name [Domain]",
        "label": "Debt Conversion, Name [Domain]",
        "documentation": "The name of the original debt issue that has been converted in a noncash (or part noncash) transaction during the accounting period. \"Part noncash\" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period."
       }
      }
     },
     "auth_ref": [
      "r52",
      "r54"
     ]
    },
    "fsly_DebtConversionScenarioFourMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "DebtConversionScenarioFourMember",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fundamental Change",
        "label": "Debt Conversion, Scenario Four [Member]",
        "documentation": "Debt Conversion, Scenario Four"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_DebtConversionScenarioOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "DebtConversionScenarioOneMember",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fastly Conversion Option",
        "label": "Debt Conversion, Scenario One [Member]",
        "documentation": "Debt Conversion, Scenario One"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_DebtConversionScenarioThreeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "DebtConversionScenarioThreeMember",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Holder Conversion Option Two",
        "label": "Debt Conversion, Scenario Three [Member]",
        "documentation": "Debt Conversion, Scenario Three"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_DebtConversionScenarioTwoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "DebtConversionScenarioTwoMember",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Holder Conversion Option One",
        "label": "Debt Conversion, Scenario Two [Member]",
        "documentation": "Debt Conversion, Scenario Two"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_DebtCovenantAdjustedQuickRatioMinimumRequirement": {
     "xbrltype": "pureItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "DebtCovenantAdjustedQuickRatioMinimumRequirement",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsSeniorSecuredCreditFacilitiesAgreementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt covenant, adjusted quick ratio, minimum requirement",
        "label": "Debt Covenant, Adjusted Quick Ratio, Minimum Requirement",
        "documentation": "Debt Covenant, Adjusted Quick Ratio, Minimum Requirement"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_DebtCovenantAdjustedQuickRatioMinimumThresholdToTriggerRevenueGrowthCovenantRequirement": {
     "xbrltype": "pureItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "DebtCovenantAdjustedQuickRatioMinimumThresholdToTriggerRevenueGrowthCovenantRequirement",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsSeniorSecuredCreditFacilitiesAgreementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt covenant, adjusted quick ratio, minimum threshold to trigger revenue growth covenant requirement",
        "label": "Debt Covenant, Adjusted Quick Ratio, Minimum Threshold To Trigger Revenue Growth Covenant Requirement",
        "documentation": "Debt Covenant, Adjusted Quick Ratio, Minimum Threshold To Trigger Revenue Growth Covenant Requirement"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt Disclosure [Abstract]",
        "label": "Debt Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtDisclosureTextBlock",
     "presentation": [
      "http://fastly.com/role/DebtInstruments"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt Instruments",
        "label": "Debt Disclosure [Text Block]",
        "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants."
       }
      }
     },
     "auth_ref": [
      "r155",
      "r247",
      "r403",
      "r409",
      "r410",
      "r411",
      "r412",
      "r413",
      "r414",
      "r419",
      "r426",
      "r427",
      "r429"
     ]
    },
    "us-gaap_DebtInstrumentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentAxis",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails",
      "http://fastly.com/role/DebtInstrumentsScheduleofOutstandingDebtDetails",
      "http://fastly.com/role/DebtInstrumentsSeniorSecuredCreditFacilitiesAgreementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt Instrument [Axis]",
        "label": "Debt Instrument [Axis]",
        "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities."
       }
      }
     },
     "auth_ref": [
      "r28",
      "r119",
      "r120",
      "r177",
      "r179",
      "r251",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r410",
      "r415",
      "r416",
      "r417",
      "r418",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r585",
      "r794",
      "r795",
      "r796",
      "r797",
      "r798",
      "r943"
     ]
    },
    "fsly_DebtInstrumentBasisSpreadAdjustment": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "DebtInstrumentBasisSpreadAdjustment",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsSeniorSecuredCreditFacilitiesAgreementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Basis spread adjustment",
        "label": "Debt Instrument, Basis Spread Adjustment",
        "documentation": "Debt Instrument, Basis Spread Adjustment"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentBasisSpreadOnVariableRate1",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsSeniorSecuredCreditFacilitiesAgreementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Basis spread on variable rate",
        "label": "Debt Instrument, Basis Spread on Variable Rate",
        "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentCarryingAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentCarryingAmount",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsScheduleofOutstandingDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Principal amount",
        "label": "Long-Term Debt, Gross",
        "documentation": "Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt."
       }
      }
     },
     "auth_ref": [
      "r28",
      "r179",
      "r430"
     ]
    },
    "us-gaap_DebtInstrumentConvertibleConversionPrice1": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentConvertibleConversionPrice1",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt instrument, convertible, conversion price (in dollars per share)",
        "label": "Debt Instrument, Convertible, Conversion Price",
        "documentation": "The price per share of the conversion feature embedded in the debt instrument."
       }
      }
     },
     "auth_ref": [
      "r158",
      "r406"
     ]
    },
    "us-gaap_DebtInstrumentConvertibleConversionRatio1": {
     "xbrltype": "pureItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentConvertibleConversionRatio1",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt instrument, convertible, conversion ratio",
        "label": "Debt Instrument, Convertible, Conversion Ratio",
        "documentation": "Ratio applied to the conversion of debt instrument into equity with equity shares divided by debt principal amount."
       }
      }
     },
     "auth_ref": [
      "r37",
      "r81",
      "r161",
      "r162",
      "r406"
     ]
    },
    "us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentConvertibleThresholdConsecutiveTradingDays1",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt instrument, convertible, threshold consecutive trading days",
        "label": "Debt Instrument, Convertible, Threshold Consecutive Trading Days",
        "documentation": "Threshold period of specified consecutive trading days within which common stock price to conversion price of convertible debt instrument must exceed threshold percentage for specified number of trading days to trigger conversion feature."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt instrument, convertible, threshold percentage of stock price trigger (as a percent)",
        "label": "Debt Instrument, Convertible, Threshold Percentage of Stock Price Trigger",
        "documentation": "Minimum percentage of common stock price to conversion price of convertible debt instruments to determine eligibility of conversion."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentConvertibleThresholdTradingDays": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentConvertibleThresholdTradingDays",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt instrument, convertible, threshold trading days",
        "label": "Debt Instrument, Convertible, Threshold Trading Days",
        "documentation": "Threshold number of specified trading days that common stock price to conversion price of convertible debt instruments must exceed threshold percentage within a specified consecutive trading period to trigger conversion feature."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentFaceAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentFaceAmount",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt instrument, face amount",
        "label": "Debt Instrument, Face Amount",
        "documentation": "Face (par) amount of debt instrument at time of issuance."
       }
      }
     },
     "auth_ref": [
      "r109",
      "r111",
      "r404",
      "r585",
      "r795",
      "r796"
     ]
    },
    "fsly_DebtInstrumentFaceAmountAdditionalPrincipalIssuable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "DebtInstrumentFaceAmountAdditionalPrincipalIssuable",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt instrument, face amount, additional principal issuable",
        "label": "Debt Instrument, Face Amount, Additional Principal Issuable",
        "documentation": "Debt Instrument, Face Amount, Additional Principal Issuable"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentInterestRateDuringPeriod": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentInterestRateDuringPeriod",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsScheduleofOutstandingDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Effective interest rate",
        "label": "Debt Instrument, Interest Rate During Period",
        "documentation": "The average effective interest rate during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r36",
      "r109",
      "r422"
     ]
    },
    "us-gaap_DebtInstrumentInterestRateStatedPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentInterestRateStatedPercentage",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Interest rate, stated percentage",
        "label": "Debt Instrument, Interest Rate, Stated Percentage",
        "documentation": "Contractual interest rate for funds borrowed, under the debt agreement."
       }
      }
     },
     "auth_ref": [
      "r36",
      "r405"
     ]
    },
    "us-gaap_DebtInstrumentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentLineItems",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails",
      "http://fastly.com/role/DebtInstrumentsScheduleofOutstandingDebtDetails",
      "http://fastly.com/role/DebtInstrumentsSeniorSecuredCreditFacilitiesAgreementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt Instrument [Line Items]",
        "label": "Debt Instrument [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r251",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r410",
      "r415",
      "r416",
      "r417",
      "r418",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r428",
      "r585",
      "r794",
      "r795",
      "r796",
      "r797",
      "r798",
      "r943"
     ]
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentNameDomain",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails",
      "http://fastly.com/role/DebtInstrumentsScheduleofOutstandingDebtDetails",
      "http://fastly.com/role/DebtInstrumentsSeniorSecuredCreditFacilitiesAgreementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt Instrument, Name [Domain]",
        "label": "Debt Instrument, Name [Domain]",
        "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities."
       }
      }
     },
     "auth_ref": [
      "r38",
      "r251",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r410",
      "r415",
      "r416",
      "r417",
      "r418",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r585",
      "r794",
      "r795",
      "r796",
      "r797",
      "r798",
      "r943"
     ]
    },
    "us-gaap_DebtInstrumentRedemptionPricePercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentRedemptionPricePercentage",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt instrument, redemption price, percentage",
        "label": "Debt Instrument, Redemption Price, Percentage",
        "documentation": "Percentage price of original principal amount of debt at which debt can be redeemed by the issuer."
       }
      }
     },
     "auth_ref": [
      "r24"
     ]
    },
    "us-gaap_DebtInstrumentRepurchaseAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentRepurchaseAmount",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Repurchase amount",
        "label": "Debt Instrument, Repurchase Amount",
        "documentation": "Fair value amount of debt instrument that was repurchased."
       }
      }
     },
     "auth_ref": []
    },
    "fsly_DebtInstrumentRepurchaseTransactionCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "DebtInstrumentRepurchaseTransactionCosts",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt repurchase transaction costs",
        "label": "Debt Instrument, Repurchase, Transaction Costs",
        "documentation": "Debt Instrument, Repurchase, Transaction Costs"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentRepurchasedFaceAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentRepurchasedFaceAmount",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Repurchased face amount",
        "label": "Debt Instrument, Repurchased Face Amount",
        "documentation": "Face (par) amount of the original debt instrument that was repurchased."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentTable",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails",
      "http://fastly.com/role/DebtInstrumentsScheduleofOutstandingDebtDetails",
      "http://fastly.com/role/DebtInstrumentsSeniorSecuredCreditFacilitiesAgreementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Long-term Debt Instruments [Table]",
        "label": "Schedule of Long-Term Debt Instruments [Table]",
        "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer."
       }
      }
     },
     "auth_ref": [
      "r38",
      "r81",
      "r84",
      "r108",
      "r109",
      "r111",
      "r116",
      "r160",
      "r162",
      "r251",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r410",
      "r415",
      "r416",
      "r417",
      "r418",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r428",
      "r585",
      "r794",
      "r795",
      "r796",
      "r797",
      "r798",
      "r943"
     ]
    },
    "us-gaap_DebtInstrumentUnamortizedDiscount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentUnamortizedDiscount",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsScheduleofOutstandingDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Less: unamortized debt issuance costs",
        "label": "Debt Instrument, Unamortized Discount",
        "documentation": "Amount, after accumulated amortization, of debt discount."
       }
      }
     },
     "auth_ref": [
      "r108",
      "r111",
      "r997"
     ]
    },
    "us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Discount and transaction costs",
        "label": "Debt Instrument, Unamortized Discount (Premium) and Debt Issuance Costs, Net",
        "documentation": "Amount of unamortized debt discount (premium) and debt issuance costs."
       }
      }
     },
     "auth_ref": [
      "r110",
      "r415",
      "r431",
      "r795",
      "r796"
     ]
    },
    "us-gaap_DebtPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtPolicyTextBlock",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Convertible Debt",
        "label": "Debt, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy related to debt. Includes, but is not limited to, debt issuance costs, the effects of refinancings, method of amortizing debt issuance costs and original issue discount, and classifications of debt."
       }
      }
     },
     "auth_ref": [
      "r14"
     ]
    },
    "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerNumberOfPositions": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerNumberOfPositions",
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Securities in a continuous loss position (in securities)",
        "label": "Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, 12 Months or Longer, Number of Positions",
        "documentation": "Number of investments in debt securities measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for 12 months or longer, without an allowance for credit loss. Includes beneficial interest in securitized financial asset."
       }
      }
     },
     "auth_ref": [
      "r974"
     ]
    },
    "us-gaap_DebtSecuritiesAvailableForSaleTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtSecuritiesAvailableForSaleTable",
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAvailableForSaleInvestmentsDetails",
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt Securities, Available-for-sale [Table]",
        "label": "Debt Securities, Available-for-Sale [Table]",
        "documentation": "Disclosure of information about investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337"
     ]
    },
    "us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtSecuritiesAvailableForSaleTableTextBlock",
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Available-For-Sale Investments",
        "label": "Debt Securities, Available-for-Sale [Table Text Block]",
        "documentation": "Tabular disclosure of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r955",
      "r956",
      "r957",
      "r958",
      "r959",
      "r960",
      "r961",
      "r962",
      "r963",
      "r964",
      "r965",
      "r968"
     ]
    },
    "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredFederalIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/IncomeTaxesIncomeTaxExpenseDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/IncomeTaxesIncomeTaxExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Federal",
        "label": "Deferred Federal Income Tax Expense (Benefit)",
        "documentation": "Amount of deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r945",
      "r1032",
      "r1033"
     ]
    },
    "us-gaap_DeferredFinanceCostsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredFinanceCostsGross",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsSeniorSecuredCreditFacilitiesAgreementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Transaction costs",
        "label": "Debt Issuance Costs, Gross",
        "documentation": "Amount, before accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs."
       }
      }
     },
     "auth_ref": [
      "r110"
     ]
    },
    "us-gaap_DeferredForeignIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredForeignIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/IncomeTaxesIncomeTaxExpenseDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://fastly.com/role/IncomeTaxesIncomeTaxExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign",
        "label": "Deferred Foreign Income Tax Expense (Benefit)",
        "documentation": "Amount of deferred foreign income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r170",
      "r945",
      "r1032"
     ]
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 22.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred income taxes",
        "label": "Deferred Income Tax Expense (Benefit)",
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r170",
      "r199",
      "r546",
      "r547",
      "r945"
     ]
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "presentation": [
      "http://fastly.com/role/IncomeTaxesIncomeTaxExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred tax benefit:",
        "label": "Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredIncomeTaxLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTotalLabel": "Deferred tax liabilities",
        "label": "Deferred Tax Liabilities, Gross",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences."
       }
      }
     },
     "auth_ref": [
      "r121",
      "r122",
      "r178",
      "r536"
     ]
    },
    "fsly_DeferredPaymentForBusinessCombinations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "DeferredPaymentForBusinessCombinations",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Payment of deferred consideration for business acquisitions",
        "label": "Deferred Payment For Business Combinations",
        "documentation": "Deferred Payment For Business Combinations"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/IncomeTaxesIncomeTaxExpenseDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://fastly.com/role/IncomeTaxesIncomeTaxExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "State",
        "label": "Deferred State and Local Income Tax Expense (Benefit)",
        "documentation": "Amount of deferred state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r945",
      "r1032",
      "r1033"
     ]
    },
    "fsly_DeferredTaxAssetLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "DeferredTaxAssetLeaseLiability",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Lease liability",
        "label": "Deferred Tax Asset, Lease Liability",
        "documentation": "Deferred Tax Asset, Lease Liability"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Capitalized research and development",
        "label": "Deferred Tax Assets, Capitalized Research And Development Costs",
        "documentation": "Deferred Tax Assets, Capitalized Research And Development Costs"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsDeferredIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsDeferredIncome",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred revenue",
        "label": "Deferred Tax Assets, Deferred Income",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from deferred income."
       }
      }
     },
     "auth_ref": [
      "r93",
      "r1031"
     ]
    },
    "us-gaap_DeferredTaxAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsGross",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Deferred tax assets",
        "label": "Deferred Tax Assets, Gross",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r537"
     ]
    },
    "us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsInProcessResearchAndDevelopment",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Research and development credits",
        "label": "Deferred Tax Assets, in Process Research and Development",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from in-process research and development costs expensed in connection with a business combination."
       }
      }
     },
     "auth_ref": [
      "r93",
      "r1031"
     ]
    },
    "us-gaap_DeferredTaxAssetsLiabilitiesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsLiabilitiesNet",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net deferred tax (liabilities) assets",
        "label": "Deferred Tax Assets, Net",
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r1030"
     ]
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsOperatingLossCarryforwards",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net operating losses",
        "label": "Deferred Tax Assets, Operating Loss Carryforwards",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards."
       }
      }
     },
     "auth_ref": [
      "r93",
      "r1031"
     ]
    },
    "us-gaap_DeferredTaxAssetsOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsOther",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other",
        "label": "Deferred Tax Assets, Other",
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other."
       }
      }
     },
     "auth_ref": [
      "r93",
      "r1031"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-based compensation",
        "label": "Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-Based Compensation Cost",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation."
       }
      }
     },
     "auth_ref": [
      "r93",
      "r1031"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Reserves and accruals",
        "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from reserves and accruals."
       }
      }
     },
     "auth_ref": [
      "r93",
      "r1031"
     ]
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsValuationAllowance",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Valuation allowance",
        "label": "Deferred Tax Assets, Valuation Allowance",
        "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized."
       }
      }
     },
     "auth_ref": [
      "r538"
     ]
    },
    "us-gaap_DeferredTaxLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTotalLabel": "Net deferred tax (liabilities) assets",
        "label": "Deferred Tax Liabilities, Net",
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r90",
      "r1030"
     ]
    },
    "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesGoodwillAndIntangibleAssets",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Intangible asset amortization",
        "label": "Deferred Tax Liabilities, Goodwill and Intangible Assets",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from intangible assets including goodwill."
       }
      }
     },
     "auth_ref": [
      "r93",
      "r1031"
     ]
    },
    "us-gaap_DeferredTaxLiabilitiesLeasingArrangements": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesLeasingArrangements",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Right-of-use asset",
        "label": "Deferred Tax Liabilities, Leasing Arrangements",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from leasing arrangements."
       }
      }
     },
     "auth_ref": [
      "r93",
      "r1031"
     ]
    },
    "us-gaap_DeferredTaxLiabilitiesPrepaidExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesPrepaidExpenses",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Prepaid commissions",
        "label": "Deferred Tax Liabilities, Prepaid Expenses",
        "documentation": "Amount of deferred tax consequences attributable to taxable temporary differences derived from prepaid expenses."
       }
      }
     },
     "auth_ref": []
    },
    "fsly_DeferredTaxLiabilitiesStateTaxes": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "DeferredTaxLiabilitiesStateTaxes",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "State taxes",
        "label": "Deferred Tax Liabilities, State Taxes",
        "documentation": "Deferred Tax Liabilities, State Taxes"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_DeploymentsOfPrepaidCapitalEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "DeploymentsOfPrepaidCapitalEquipment",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deployments of prepaid capital equipment",
        "label": "Deployments Of Prepaid Capital Equipment",
        "documentation": "Deployments Of Prepaid Capital Equipment"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Depreciation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Depreciation",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Depreciation and amortization",
        "label": "Depreciation",
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r73"
     ]
    },
    "us-gaap_DepreciationNonproduction": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DepreciationNonproduction",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Depreciation expense",
        "label": "Depreciation, Nonproduction",
        "documentation": "The expense recognized in the current period that allocates the cost of nonproduction tangible assets over their useful lives."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r73"
     ]
    },
    "us-gaap_DevelopedTechnologyRightsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DevelopedTechnologyRightsMember",
     "presentation": [
      "http://fastly.com/role/BusinessCombinationsScheduleofIdentifiableFiniteLivedIntangibleAssetsDetails",
      "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofIntangibleAssetsNetDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Developed technology",
        "label": "Developed Technology Rights [Member]",
        "documentation": "Rights to developed technology, which can include the right to develop, use, market, sell, or offer for sale products, compounds, or intellectual property."
       }
      }
     },
     "auth_ref": [
      "r172"
     ]
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueLineItems",
     "presentation": [
      "http://fastly.com/role/RevenueRevenuebyCustomerTypeDetails",
      "http://fastly.com/role/RevenueRevenuebyGeographicAreaDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesAccountingforStockBasedCompensationDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesCostofRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Disaggregation of Revenue [Line Items]",
        "label": "Disaggregation of Revenue [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r462",
      "r800",
      "r801",
      "r802",
      "r803",
      "r804",
      "r805",
      "r806"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueTable",
     "presentation": [
      "http://fastly.com/role/RevenueRevenuebyCustomerTypeDetails",
      "http://fastly.com/role/RevenueRevenuebyGeographicAreaDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesAccountingforStockBasedCompensationDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesCostofRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Disaggregation of Revenue [Table]",
        "label": "Disaggregation of Revenue [Table]",
        "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor."
       }
      }
     },
     "auth_ref": [
      "r462",
      "r800",
      "r801",
      "r802",
      "r803",
      "r804",
      "r805",
      "r806"
     ]
    },
    "dei_DocumentAnnualReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentAnnualReport",
     "presentation": [
      "http://fastly.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Annual Report",
        "label": "Document Annual Report",
        "documentation": "Boolean flag that is true only for a form used as an annual report."
       }
      }
     },
     "auth_ref": [
      "r834",
      "r835",
      "r848"
     ]
    },
    "dei_DocumentFinStmtErrorCorrectionFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFinStmtErrorCorrectionFlag",
     "presentation": [
      "http://fastly.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Financial Statement Error Correction Flag",
        "label": "Document Financial Statement Error Correction [Flag]",
        "documentation": "Indicates whether any of the financial statement period in the filing include a restatement due to error correction."
       }
      }
     },
     "auth_ref": [
      "r834",
      "r835",
      "r848",
      "r884"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://fastly.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Fiscal Period Focus",
        "label": "Document Fiscal Period Focus",
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFiscalYearFocus": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://fastly.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Fiscal Year Focus",
        "label": "Document Fiscal Year Focus",
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://fastly.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Period End Date",
        "label": "Document Period End Date",
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://fastly.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Transition Report",
        "label": "Document Transition Report",
        "documentation": "Boolean flag that is true only for a form used as a transition report."
       }
      }
     },
     "auth_ref": [
      "r869"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentType",
     "presentation": [
      "http://fastly.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Type",
        "label": "Document Type",
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentsIncorporatedByReferenceTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentsIncorporatedByReferenceTextBlock",
     "presentation": [
      "http://fastly.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Documents Incorporated by Reference",
        "label": "Documents Incorporated by Reference [Text Block]",
        "documentation": "Documents incorporated by reference."
       }
      }
     },
     "auth_ref": [
      "r832"
     ]
    },
    "us-gaap_DomesticCountryMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DomesticCountryMember",
     "presentation": [
      "http://fastly.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Federal",
        "label": "Domestic Tax Authority [Member]",
        "documentation": "Designated tax department of the government that is entitled to levy and collect income taxes from the entity in its country of domicile."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Earnings Per Share [Abstract]",
        "label": "Earnings Per Share [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS",
      "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofComputationofBasicandDilutedNetLossPerShareofCommonStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Net loss per share attributable to common stockholders, basic (in dollars per share)",
        "label": "Earnings Per Share, Basic",
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r236",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r266",
      "r269",
      "r277",
      "r278",
      "r279",
      "r283",
      "r567",
      "r568",
      "r643",
      "r658",
      "r787"
     ]
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS",
      "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofComputationofBasicandDilutedNetLossPerShareofCommonStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net loss per share attributable to common stockholders, diluted (in dollars per share)",
        "label": "Earnings Per Share, Diluted",
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r236",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r269",
      "r277",
      "r278",
      "r279",
      "r283",
      "r567",
      "r568",
      "r643",
      "r658",
      "r787"
     ]
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerSharePolicyTextBlock",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net Loss Per Share Attributable to Common Stockholders",
        "label": "Earnings Per Share, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements."
       }
      }
     },
     "auth_ref": [
      "r55",
      "r56"
     ]
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareTextBlock",
     "presentation": [
      "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholders"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net Loss Per Share Attributable to Common Stockholders",
        "label": "Earnings Per Share [Text Block]",
        "documentation": "The entire disclosure for earnings per share."
       }
      }
     },
     "auth_ref": [
      "r265",
      "r280",
      "r281",
      "r282"
     ]
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Effects of exchange rate changes on cash, cash equivalents, and restricted cash",
        "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations",
        "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r575"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "calculation": {
      "http://fastly.com/role/IncomeTaxesEffectiveTaxRateReconciliationDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://fastly.com/role/IncomeTaxesEffectiveTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Effective tax rate",
        "label": "Effective Income Tax Rate Reconciliation, Percent",
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r527"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "calculation": {
      "http://fastly.com/role/IncomeTaxesEffectiveTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/IncomeTaxesEffectiveTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Provision at federal statutory tax rate",
        "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent",
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss)."
       }
      }
     },
     "auth_ref": [
      "r250",
      "r527",
      "r549"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "calculation": {
      "http://fastly.com/role/IncomeTaxesEffectiveTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://fastly.com/role/IncomeTaxesEffectiveTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Change in valuation allowance",
        "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r1028",
      "r1034"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential",
     "calculation": {
      "http://fastly.com/role/IncomeTaxesEffectiveTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://fastly.com/role/IncomeTaxesEffectiveTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign tax rate differential",
        "label": "Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to statutory income tax expense (benefit) outside of the country of domicile."
       }
      }
     },
     "auth_ref": [
      "r1028",
      "r1034"
     ]
    },
    "fsly_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDisallowedExecutiveCompensationPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDisallowedExecutiveCompensationPercent",
     "calculation": {
      "http://fastly.com/role/IncomeTaxesEffectiveTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://fastly.com/role/IncomeTaxesEffectiveTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Disallowed executive compensation",
        "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Disallowed Executive Compensation, Percent",
        "documentation": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Disallowed Executive Compensation, Percent"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment",
     "calculation": {
      "http://fastly.com/role/IncomeTaxesEffectiveTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://fastly.com/role/IncomeTaxesEffectiveTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Research and development credits",
        "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Research and Development, Percent",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research and development expense."
       }
      }
     },
     "auth_ref": [
      "r1028",
      "r1034"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseRestructuringCharges": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseRestructuringCharges",
     "calculation": {
      "http://fastly.com/role/IncomeTaxesEffectiveTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://fastly.com/role/IncomeTaxesEffectiveTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restructuring",
        "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Restructuring Charges, Percent",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to restructuring charges."
       }
      }
     },
     "auth_ref": [
      "r1028",
      "r1034"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost",
     "calculation": {
      "http://fastly.com/role/IncomeTaxesEffectiveTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://fastly.com/role/IncomeTaxesEffectiveTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-based compensation",
        "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-Based Payment Arrangement, Percent",
        "documentation": "Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1028",
      "r1034"
     ]
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeRelatedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/BalanceSheetInformationAccruedExpensesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued compensation and related benefits",
        "label": "Employee-related Liabilities, Current",
        "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r34"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityCommonStockWarrantLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-based compensation capitalized to internal-use software",
        "label": "Share-Based Payment Arrangement, Amount Capitalized",
        "documentation": "Amount of cost capitalized for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r508"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityESPPDetails",
      "http://fastly.com/role/StockholdersEquityMPSUDetails",
      "http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unrecognized stock-based compensation cost",
        "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount",
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r510"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityESPPDetails",
      "http://fastly.com/role/StockholdersEquityMPSUDetails",
      "http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails",
      "http://fastly.com/role/StockholdersEquityStockOptionsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted-average period of recognition",
        "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition",
        "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r510"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityStockOptionsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unrecognized stock-based compensation cost",
        "label": "Share-Based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount",
        "documentation": "Amount of cost to be recognized for option under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1027"
     ]
    },
    "us-gaap_EmployeeStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeStockMember",
     "presentation": [
      "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails",
      "http://fastly.com/role/StockholdersEquityESPPDetails",
      "http://fastly.com/role/StockholdersEquityFairValueAssumptionsESPPDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shares issuable pursuant to the ESPP",
        "label": "Employee Stock [Member]",
        "documentation": "An Employee Stock Purchase Plan is a tax-efficient means by which employees of a corporation can purchase the corporation's stock."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeStockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeStockOptionMember",
     "presentation": [
      "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails",
      "http://fastly.com/role/StockholdersEquityEarlyExerciseofStockDetails",
      "http://fastly.com/role/StockholdersEquityEarlyExerciseofStockOptionsDetails",
      "http://fastly.com/role/StockholdersEquityFairValueAssumptionsStockOptionsDetails",
      "http://fastly.com/role/StockholdersEquityStockOptionsNarrativeDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock options",
        "label": "Employee Stock Option [Member]",
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time."
       }
      }
     },
     "auth_ref": []
    },
    "fsly_EnterpriseCustomerThreshold": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "EnterpriseCustomerThreshold",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/RevenueNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Enterprise customer threshold",
        "label": "Enterprise Customer Threshold",
        "documentation": "Enterprise Customer Threshold"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_EnterpriseCustomersMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "EnterpriseCustomersMember",
     "presentation": [
      "http://fastly.com/role/RevenueRevenuebyCustomerTypeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Enterprise customers",
        "label": "Enterprise Customers [Member]",
        "documentation": "Enterprise Customers [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://fastly.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Address, Address Line One",
        "label": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://fastly.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Address, City or Town",
        "label": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://fastly.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Address, Postal Zip Code",
        "label": "Entity Address, Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressStateOrProvince": {
     "xbrltype": "stateOrProvinceItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://fastly.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Address, State or Province",
        "label": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://fastly.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Central Index Key",
        "label": "Entity Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r831"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://fastly.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Common Stock, Shares Outstanding",
        "label": "Entity Common Stock, Shares Outstanding",
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCurrentReportingStatus": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://fastly.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Current Reporting Status",
        "label": "Entity Current Reporting Status",
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://fastly.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Emerging Growth Company",
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r831"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://fastly.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity File Number",
        "label": "Entity File Number",
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityFilerCategory": {
     "xbrltype": "filerCategoryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://fastly.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Filer Category",
        "label": "Entity Filer Category",
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": [
      "r831"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://fastly.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Incorporation, State or Country Code",
        "label": "Entity Incorporation, State or Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityInteractiveDataCurrent": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://fastly.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Interactive Data Current",
        "label": "Entity Interactive Data Current",
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)."
       }
      }
     },
     "auth_ref": [
      "r909"
     ]
    },
    "dei_EntityPublicFloat": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityPublicFloat",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Public Float",
        "label": "Entity Public Float",
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://fastly.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Registrant Name",
        "label": "Entity Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r831"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://fastly.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Shell Company",
        "label": "Entity Shell Company",
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r831"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://fastly.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Small Business",
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r831"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://fastly.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Tax Identification Number",
        "label": "Entity Tax Identification Number",
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS."
       }
      }
     },
     "auth_ref": [
      "r831"
     ]
    },
    "dei_EntityVoluntaryFilers": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityVoluntaryFilers",
     "presentation": [
      "http://fastly.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Voluntary Filers",
        "label": "Entity Voluntary Filers",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityWellKnownSeasonedIssuer",
     "presentation": [
      "http://fastly.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Well-known Seasoned Issuer",
        "label": "Entity Well-known Seasoned Issuer",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A."
       }
      }
     },
     "auth_ref": [
      "r910"
     ]
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationAccumulatedOtherComprehensiveIncomeLossDetails",
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY",
      "http://fastly.com/role/StockholdersEquityESPPDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Equity Component [Domain]",
        "label": "Equity Component [Domain]",
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r204",
      "r231",
      "r232",
      "r233",
      "r252",
      "r253",
      "r254",
      "r256",
      "r262",
      "r264",
      "r284",
      "r357",
      "r358",
      "r441",
      "r511",
      "r512",
      "r513",
      "r542",
      "r543",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r566",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r602",
      "r667",
      "r668",
      "r669",
      "r682",
      "r747"
     ]
    },
    "ecd_EquityValuationAssumptionDifferenceFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "EquityValuationAssumptionDifferenceFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Equity Valuation Assumption Difference, Footnote",
        "label": "Equity Valuation Assumption Difference, Footnote [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r877"
     ]
    },
    "ecd_ErrCompAnalysisTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ErrCompAnalysisTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Erroneous Compensation Analysis",
        "label": "Erroneous Compensation Analysis [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r840",
      "r852",
      "r862",
      "r888"
     ]
    },
    "ecd_ErrCompRecoveryTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ErrCompRecoveryTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Erroneously Awarded Compensation Recovery",
        "label": "Erroneously Awarded Compensation Recovery [Table]"
       }
      }
     },
     "auth_ref": [
      "r837",
      "r849",
      "r859",
      "r885"
     ]
    },
    "srt_EuropeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "EuropeMember",
     "presentation": [
      "http://fastly.com/role/RevenueRevenuebyGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Europe",
        "label": "Europe [Member]"
       }
      }
     },
     "auth_ref": [
      "r1066",
      "r1067",
      "r1068",
      "r1069"
     ]
    },
    "ecd_ExecutiveCategoryAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ExecutiveCategoryAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Executive Category:",
        "label": "Executive Category [Axis]"
       }
      }
     },
     "auth_ref": [
      "r883"
     ]
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems",
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]",
        "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r570",
      "r571",
      "r572"
     ]
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable",
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value, Recurring and Nonrecurring [Table]",
        "label": "Fair Value, Recurring and Nonrecurring [Table]",
        "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis."
       }
      }
     },
     "auth_ref": [
      "r570",
      "r571",
      "r572"
     ]
    },
    "us-gaap_FairValueByFairValueHierarchyLevelAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueByFairValueHierarchyLevelAxis",
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value Hierarchy and NAV [Axis]",
        "label": "Fair Value Hierarchy and NAV [Axis]",
        "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient."
       }
      }
     },
     "auth_ref": [
      "r417",
      "r467",
      "r468",
      "r469",
      "r470",
      "r471",
      "r472",
      "r571",
      "r609",
      "r610",
      "r611",
      "r795",
      "r796",
      "r807",
      "r808",
      "r809"
     ]
    },
    "us-gaap_FairValueDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueDisclosuresAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value Disclosures [Abstract]",
        "label": "Fair Value Disclosures [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueDisclosuresTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueDisclosuresTextBlock",
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Investments and Fair Value Measurements",
        "label": "Fair Value Disclosures [Text Block]",
        "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information."
       }
      }
     },
     "auth_ref": [
      "r569"
     ]
    },
    "us-gaap_FairValueInputsLevel1Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueInputsLevel1Member",
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Level\u00a01",
        "label": "Fair Value, Inputs, Level 1 [Member]",
        "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date."
       }
      }
     },
     "auth_ref": [
      "r417",
      "r467",
      "r472",
      "r571",
      "r609",
      "r807",
      "r808",
      "r809"
     ]
    },
    "us-gaap_FairValueInputsLevel2Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueInputsLevel2Member",
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Level\u00a02",
        "label": "Fair Value, Inputs, Level 2 [Member]",
        "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets."
       }
      }
     },
     "auth_ref": [
      "r417",
      "r467",
      "r472",
      "r571",
      "r610",
      "r795",
      "r796",
      "r807",
      "r808",
      "r809"
     ]
    },
    "us-gaap_FairValueInputsLevel3Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueInputsLevel3Member",
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Level\u00a03",
        "label": "Fair Value, Inputs, Level 3 [Member]",
        "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing."
       }
      }
     },
     "auth_ref": [
      "r417",
      "r467",
      "r468",
      "r469",
      "r470",
      "r471",
      "r472",
      "r571",
      "r611",
      "r795",
      "r796",
      "r807",
      "r808",
      "r809"
     ]
    },
    "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueMeasurementsFairValueHierarchyDomain",
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value Hierarchy and NAV [Domain]",
        "label": "Fair Value Hierarchy and NAV [Domain]",
        "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value."
       }
      }
     },
     "auth_ref": [
      "r417",
      "r467",
      "r468",
      "r469",
      "r470",
      "r471",
      "r472",
      "r609",
      "r610",
      "r611",
      "r795",
      "r796",
      "r807",
      "r808",
      "r809"
     ]
    },
    "us-gaap_FairValueOfFinancialInstrumentsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueOfFinancialInstrumentsPolicy",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value of Financial Instruments",
        "label": "Fair Value of Financial Instruments, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for determining the fair value of financial instruments."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r27"
     ]
    },
    "fsly_FinanceLeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "FinanceLeaseCost",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/LeasesScheduleofLeaseCostDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://fastly.com/role/LeasesScheduleofLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total finance lease cost",
        "label": "Finance Lease Cost",
        "documentation": "Finance Lease Cost"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FinanceLeaseInterestExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseInterestExpense",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/LeasesScheduleofLeaseCostDetails": {
       "parentTag": "fsly_FinanceLeaseCost",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/LeasesScheduleofLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Interest",
        "label": "Finance Lease, Interest Expense",
        "documentation": "Amount of interest expense on finance lease liability."
       }
      }
     },
     "auth_ref": [
      "r589",
      "r593",
      "r816"
     ]
    },
    "us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilitiesPaymentsDueAbstract",
     "presentation": [
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Finance Leases",
        "label": "Finance Lease, Liability, to be Paid, Fiscal Year Maturity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FinanceLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiability",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total liability",
        "label": "Finance Lease, Liability",
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease."
       }
      }
     },
     "auth_ref": [
      "r588",
      "r601"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Finance lease liabilities, current",
        "label": "Finance Lease, Liability, Current",
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r588"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityMaturityTableTextBlock",
     "presentation": [
      "http://fastly.com/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Finance Lease Maturity",
        "label": "Finance Lease, Liability, to be Paid, Maturity [Table Text Block]",
        "documentation": "Tabular disclosure of undiscounted cash flows of finance lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to finance lease liability recognized in statement of financial position."
       }
      }
     },
     "auth_ref": [
      "r1043"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Finance lease liabilities, non-current",
        "label": "Finance Lease, Liability, Noncurrent",
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r588"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityPaymentsDue",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails_1": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total future minimum lease payments",
        "label": "Finance Lease, Liability, to be Paid",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease."
       }
      }
     },
     "auth_ref": [
      "r601"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityPaymentsDueAfterYearFive",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails_1": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Thereafter",
        "label": "Finance Lease, Liability, to be Paid, after Year Five",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r601"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityPaymentsDueNextTwelveMonths",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails_1": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2024",
        "label": "Finance Lease, Liability, to be Paid, Year One",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r601"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityPaymentsDueYearFive",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails_1": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2028",
        "label": "Finance Lease, Liability, to be Paid, Year Five",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r601"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityPaymentsDueYearFour",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails_1": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2027",
        "label": "Finance Lease, Liability, to be Paid, Year Four",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r601"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityPaymentsDueYearThree",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails_1": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2026",
        "label": "Finance Lease, Liability, to be Paid, Year Three",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r601"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityPaymentsDueYearTwo",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails_1": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2025",
        "label": "Finance Lease, Liability, to be Paid, Year Two",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r601"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityUndiscountedExcessAmount",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Less: imputed interest",
        "label": "Finance Lease, Liability, Undiscounted Excess Amount",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for finance lease."
       }
      }
     },
     "auth_ref": [
      "r601"
     ]
    },
    "us-gaap_FinanceLeasePrincipalPayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeasePrincipalPayments",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Repayments of finance lease liabilities",
        "label": "Finance Lease, Principal Payments",
        "documentation": "Amount of cash outflow for principal payment on finance lease."
       }
      }
     },
     "auth_ref": [
      "r590",
      "r597"
     ]
    },
    "us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseRightOfUseAssetAccumulatedAmortization",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Finance lease, right-of-use asset, accumulated amortization",
        "label": "Finance Lease, Right-of-Use Asset, Accumulated Amortization",
        "documentation": "Amount of accumulated amortization of right-of-use asset from finance lease."
       }
      }
     },
     "auth_ref": [
      "r913",
      "r918"
     ]
    },
    "us-gaap_FinanceLeaseRightOfUseAssetAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseRightOfUseAssetAmortization",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/LeasesScheduleofLeaseCostDetails": {
       "parentTag": "fsly_FinanceLeaseCost",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://fastly.com/role/LeasesScheduleofLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amortization of assets under finance lease",
        "label": "Finance Lease, Right-of-Use Asset, Amortization",
        "documentation": "Amount of amortization expense attributable to right-of-use asset from finance lease."
       }
      }
     },
     "auth_ref": [
      "r589",
      "r593",
      "r816"
     ]
    },
    "us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Finance lease, right-of-use asset, before accumulated amortization",
        "label": "Finance Lease, Right-of-Use Asset, before Accumulated Amortization",
        "documentation": "Amount, before accumulated amortization, of right-of-use asset from finance lease."
       }
      }
     },
     "auth_ref": [
      "r912"
     ]
    },
    "us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseWeightedAverageDiscountRatePercent",
     "presentation": [
      "http://fastly.com/role/LeasesScheduleofOtherInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Finance leases",
        "label": "Finance Lease, Weighted Average Discount Rate, Percent",
        "documentation": "Weighted average discount rate for finance lease calculated at point in time."
       }
      }
     },
     "auth_ref": [
      "r600",
      "r816"
     ]
    },
    "us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseWeightedAverageRemainingLeaseTerm1",
     "presentation": [
      "http://fastly.com/role/LeasesScheduleofOtherInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Finance leases",
        "label": "Finance Lease, Weighted Average Remaining Lease Term",
        "documentation": "Weighted average remaining lease term for finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r599",
      "r816"
     ]
    },
    "us-gaap_FinancialInstrumentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinancialInstrumentAxis",
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails",
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAvailableForSaleInvestmentsDetails",
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Financial Instrument [Axis]",
        "label": "Financial Instrument [Axis]",
        "documentation": "Information by type of financial instrument."
       }
      }
     },
     "auth_ref": [
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r360",
      "r361",
      "r364",
      "r365",
      "r366",
      "r368",
      "r369",
      "r370",
      "r428",
      "r439",
      "r565",
      "r606",
      "r607",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r632",
      "r633",
      "r634",
      "r635",
      "r656",
      "r792",
      "r922",
      "r923",
      "r924",
      "r925",
      "r926",
      "r927",
      "r928",
      "r968",
      "r969",
      "r970",
      "r971"
     ]
    },
    "us-gaap_FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock",
     "presentation": [
      "http://fastly.com/role/BusinessCombinationsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Identifiable Finite-Lived Intangible Assets",
        "label": "Finite-Lived and Indefinite-Lived Intangible Assets Acquired as Part of Business Combination [Table Text Block]",
        "documentation": "Tabular disclosure of finite-lived and indefinite-lived intangible assets acquired as part of a business combination."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetUsefulLife",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Useful life (in years)",
        "label": "Finite-Lived Intangible Asset, Useful Life",
        "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofIntangibleAssetsNetDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofIntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Accumulated amortization",
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r210",
      "r381"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofExpectedAmortizationExpenseofIntangibleAssetsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofExpectedAmortizationExpenseofIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Thereafter",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, after Year Five",
        "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofExpectedAmortizationExpenseofIntangibleAssetsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofExpectedAmortizationExpenseofIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2024",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r152"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofExpectedAmortizationExpenseofIntangibleAssetsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofExpectedAmortizationExpenseofIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2028",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Five",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r152"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofExpectedAmortizationExpenseofIntangibleAssetsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofExpectedAmortizationExpenseofIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2027",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Four",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r152"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofExpectedAmortizationExpenseofIntangibleAssetsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofExpectedAmortizationExpenseofIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2026",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Three",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r152"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofExpectedAmortizationExpenseofIntangibleAssetsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofExpectedAmortizationExpenseofIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2025",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Two",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r152"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "presentation": [
      "http://fastly.com/role/BusinessCombinationsScheduleofIdentifiableFiniteLivedIntangibleAssetsDetails",
      "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofIntangibleAssetsNetDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]",
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]",
        "documentation": "Information by major type or class of finite-lived intangible assets."
       }
      }
     },
     "auth_ref": [
      "r379",
      "r380",
      "r381",
      "r382",
      "r638",
      "r639"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsGross",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofIntangibleAssetsNetDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofIntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Gross carrying value",
        "label": "Finite-Lived Intangible Assets, Gross",
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r151",
      "r639"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsLineItems",
     "presentation": [
      "http://fastly.com/role/GoodwillandIntangibleAssetsNarrativeDetails",
      "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofIntangibleAssetsNetDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Finite-Lived Intangible Assets [Line Items]",
        "label": "Finite-Lived Intangible Assets [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r638"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "presentation": [
      "http://fastly.com/role/BusinessCombinationsScheduleofIdentifiableFiniteLivedIntangibleAssetsDetails",
      "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofIntangibleAssetsNetDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]",
        "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]",
        "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company."
       }
      }
     },
     "auth_ref": [
      "r69",
      "r71"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofIntangibleAssetsNetDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofExpectedAmortizationExpenseofIntangibleAssetsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofExpectedAmortizationExpenseofIntangibleAssetsDetails",
      "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofIntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net carrying value",
        "label": "Finite-Lived Intangible Assets, Net",
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r151",
      "r638"
     ]
    },
    "us-gaap_ForeignCountryMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ForeignCountryMember",
     "presentation": [
      "http://fastly.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign Tax Authority",
        "label": "Foreign Tax Authority [Member]",
        "documentation": "Designated tax departments of governments entitled to levy and collect income taxes from the entity outside the entity's country of domicile."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign Currency",
        "label": "Foreign Currency Transactions and Translations Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy."
       }
      }
     },
     "auth_ref": [
      "r574"
     ]
    },
    "fsly_ForeignGovernmentAndSupranationalSecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "ForeignGovernmentAndSupranationalSecuritiesMember",
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails",
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAvailableForSaleInvestmentsDetails",
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign government and supranational securities",
        "label": "Foreign Government And Supranational Securities [Member]",
        "documentation": "Foreign Government And Supranational Securities"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount",
        "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount"
       }
      }
     },
     "auth_ref": [
      "r844",
      "r856",
      "r866",
      "r892"
     ]
    },
    "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount",
        "label": "Forgone Recovery due to Expense of Enforcement, Amount"
       }
      }
     },
     "auth_ref": [
      "r844",
      "r856",
      "r866",
      "r892"
     ]
    },
    "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount",
        "label": "Forgone Recovery due to Violation of Home Country Law, Amount"
       }
      }
     },
     "auth_ref": [
      "r844",
      "r856",
      "r866",
      "r892"
     ]
    },
    "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Forgone Recovery, Explanation of Impracticability",
        "label": "Forgone Recovery, Explanation of Impracticability [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r844",
      "r856",
      "r866",
      "r892"
     ]
    },
    "ecd_ForgoneRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Name",
        "label": "Forgone Recovery, Individual Name"
       }
      }
     },
     "auth_ref": [
      "r844",
      "r856",
      "r866",
      "r892"
     ]
    },
    "us-gaap_FurnitureAndFixturesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FurnitureAndFixturesMember",
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationPropertyandequipmentDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofPropertyandEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Furniture and fixtures",
        "label": "Furniture and Fixtures [Member]",
        "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases."
       }
      }
     },
     "auth_ref": []
    },
    "country_GB": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "GB",
     "presentation": [
      "http://fastly.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "UNITED KINGDOM",
        "label": "UNITED KINGDOM"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GainLossOnSaleOfPropertyPlantEquipment",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "(Gain) loss on disposals of property and equipment",
        "label": "Gain (Loss) on Disposition of Property Plant Equipment",
        "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "us-gaap_GainsLossesOnExtinguishmentOfDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GainsLossesOnExtinguishmentOfDebt",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      },
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 15.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS",
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS",
      "http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net gain on extinguishment of debt",
        "negatedTerseLabel": "Net gain on extinguishment of debt",
        "label": "Gain (Loss) on Extinguishment of Debt",
        "documentation": "Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r76",
      "r77"
     ]
    },
    "us-gaap_GeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GeneralAndAdministrativeExpense",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "General and administrative",
        "label": "General and Administrative Expense",
        "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line."
       }
      }
     },
     "auth_ref": [
      "r137",
      "r730"
     ]
    },
    "us-gaap_GeneralAndAdministrativeExpenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GeneralAndAdministrativeExpenseMember",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityStockbasedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "General and administrative",
        "label": "General and Administrative Expense [Member]",
        "documentation": "Primary financial statement caption encompassing general and administrative expense."
       }
      }
     },
     "auth_ref": [
      "r134"
     ]
    },
    "fsly_GlitchIncMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "GlitchIncMember",
     "presentation": [
      "http://fastly.com/role/BusinessCombinationsNarrativeDetails",
      "http://fastly.com/role/BusinessCombinationsScheduleofIdentifiableFiniteLivedIntangibleAssetsDetails",
      "http://fastly.com/role/GoodwillandIntangibleAssetsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Glitch Inc",
        "label": "Glitch Inc [Member]",
        "documentation": "Glitch Inc"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Goodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Goodwill",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://fastly.com/role/BusinessCombinationsNarrativeDetails",
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS",
      "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofChangesintheCarryingAmountofGoodwillDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Goodwill",
        "periodStartLabel": "Beginning balance",
        "periodEndLabel": "Ending balance",
        "label": "Goodwill",
        "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r209",
      "r373",
      "r640",
      "r793",
      "r817",
      "r977",
      "r984"
     ]
    },
    "us-gaap_GoodwillAcquiredDuringPeriod": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAcquiredDuringPeriod",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofChangesintheCarryingAmountofGoodwillDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Goodwill acquired from business combinations",
        "label": "Goodwill, Acquired During Period",
        "documentation": "Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination."
       }
      }
     },
     "auth_ref": [
      "r375",
      "r793"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Goodwill and Intangible Assets Disclosure [Abstract]",
        "label": "Goodwill and Intangible Assets Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock",
     "presentation": [
      "http://fastly.com/role/GoodwillandIntangibleAssets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Goodwill and Intangible Assets",
        "label": "Goodwill and Intangible Assets Disclosure [Text Block]",
        "documentation": "The entire disclosure for goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r149"
     ]
    },
    "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillForeignCurrencyTranslationGainLoss",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofChangesintheCarryingAmountofGoodwillDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign currency translation and other adjustments",
        "label": "Goodwill, Foreign Currency Translation Gain (Loss)",
        "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r377"
     ]
    },
    "us-gaap_GoodwillImpairmentLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillImpairmentLoss",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/GoodwillandIntangibleAssetsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Goodwill, impairment loss",
        "label": "Goodwill, Impairment Loss",
        "documentation": "Amount of loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r374",
      "r376",
      "r378",
      "r793"
     ]
    },
    "fsly_GoodwillIntangibleAssetsAndLongLivedAssetsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "GoodwillIntangibleAssetsAndLongLivedAssetsPolicyPolicyTextBlock",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Goodwill, Intangible Assets, and Other Long-Lived Assets",
        "label": "Goodwill, Intangible Assets, And Long Lived Assets Policy [Policy Text Block]",
        "documentation": "Goodwill, Intangible Assets, And Long Lived Assets Policy [Policy Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GoodwillRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillRollForward",
     "presentation": [
      "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofChangesintheCarryingAmountofGoodwillDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Goodwill [Roll Forward]",
        "label": "Goodwill [Roll Forward]",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GrossProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GrossProfit",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Gross profit",
        "label": "Gross Profit",
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity."
       }
      }
     },
     "auth_ref": [
      "r135",
      "r248",
      "r291",
      "r305",
      "r310",
      "r313",
      "r356",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r573",
      "r789",
      "r994"
     ]
    },
    "us-gaap_IPOMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IPOMember",
     "presentation": [
      "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofComputationofBasicandDilutedNetLossPerShareofCommonStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "IPO",
        "label": "IPO [Member]",
        "documentation": "First sale of stock by a private company to the public."
       }
      }
     },
     "auth_ref": []
    },
    "dei_IcfrAuditorAttestationFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "IcfrAuditorAttestationFlag",
     "presentation": [
      "http://fastly.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "ICFR Auditor Attestation Flag",
        "label": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "auth_ref": [
      "r834",
      "r835",
      "r848"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/IncomeTaxesLossBeforeIncomeTaxesDetails": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://fastly.com/role/IncomeTaxesLossBeforeIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "United States",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Domestic",
        "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations."
       }
      }
     },
     "auth_ref": [
      "r249",
      "r548"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      },
      "http://fastly.com/role/IncomeTaxesLossBeforeIncomeTaxesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS",
      "http://fastly.com/role/IncomeTaxesLossBeforeIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Loss before income taxes",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r0",
      "r132",
      "r181",
      "r291",
      "r305",
      "r310",
      "r313",
      "r644",
      "r654",
      "r789"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/IncomeTaxesLossBeforeIncomeTaxesDetails": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/IncomeTaxesLossBeforeIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Foreign",
        "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to foreign operations, which is defined as Income or Loss generated from operations located outside the entity's country of domicile."
       }
      }
     },
     "auth_ref": [
      "r249",
      "r548"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Condensed Consolidated Statements of Operations",
        "label": "Income Statement [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementLocationAxis",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityStockbasedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Statement Location [Axis]",
        "label": "Income Statement Location [Axis]",
        "documentation": "Information by location in the income statement."
       }
      }
     },
     "auth_ref": [
      "r383",
      "r384",
      "r731"
     ]
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementLocationDomain",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityStockbasedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Statement Location [Domain]",
        "label": "Income Statement Location [Domain]",
        "documentation": "Location in the income statement."
       }
      }
     },
     "auth_ref": [
      "r384",
      "r731"
     ]
    },
    "us-gaap_IncomeTaxAuthorityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxAuthorityAxis",
     "presentation": [
      "http://fastly.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Tax Authority [Axis]",
        "label": "Income Tax Authority [Axis]",
        "documentation": "Information by tax jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r17"
     ]
    },
    "us-gaap_IncomeTaxAuthorityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxAuthorityDomain",
     "presentation": [
      "http://fastly.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Tax Authority [Domain]",
        "label": "Income Tax Authority [Domain]",
        "documentation": "Agency, division or body classification that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Tax Disclosure [Abstract]",
        "label": "Income Tax Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxDisclosureTextBlock",
     "presentation": [
      "http://fastly.com/role/IncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Taxes",
        "label": "Income Tax Disclosure [Text Block]",
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information."
       }
      }
     },
     "auth_ref": [
      "r250",
      "r522",
      "r528",
      "r533",
      "r540",
      "r544",
      "r550",
      "r551",
      "r552",
      "r681"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      },
      "http://fastly.com/role/IncomeTaxesIncomeTaxExpenseDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS",
      "http://fastly.com/role/IncomeTaxesIncomeTaxExpenseDetails",
      "http://fastly.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income tax expense (benefit)",
        "totalLabel": "Income tax expense (benefit)",
        "label": "Income Tax Expense (Benefit)",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r187",
      "r200",
      "r263",
      "r264",
      "r296",
      "r526",
      "r545",
      "r659"
     ]
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxPolicyTextBlock",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Taxes",
        "label": "Income Tax, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements."
       }
      }
     },
     "auth_ref": [
      "r230",
      "r524",
      "r525",
      "r533",
      "r534",
      "r539",
      "r541",
      "r675"
     ]
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxesPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash paid for income taxes, net of refunds received",
        "label": "Income Taxes Paid, Net",
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes."
       }
      }
     },
     "auth_ref": [
      "r51"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsPayable",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts payable",
        "label": "Increase (Decrease) in Accounts Payable",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Accounts receivable",
        "label": "Increase (Decrease) in Accounts Receivable",
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccruedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 16.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued expenses",
        "label": "Increase (Decrease) in Accrued Liabilities",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Changes in operating assets and liabilities:",
        "label": "Increase (Decrease) in Operating Capital [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_IncreaseDecreaseInOperatingLeaseLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "IncreaseDecreaseInOperatingLeaseLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating lease liabilities",
        "label": "Increase (Decrease) In Operating Lease Liabilities",
        "documentation": "Increase (Decrease) In Operating Lease Liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOtherOperatingAssets",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Other assets",
        "label": "Increase (Decrease) in Other Operating Assets",
        "documentation": "Amount of increase (decrease) in operating assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOtherOperatingLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other liabilities",
        "label": "Increase (Decrease) in Other Operating Liabilities",
        "documentation": "Amount of increase (decrease) in operating liabilities classified as other."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Prepaid expenses and other current assets",
        "label": "Increase (Decrease) in Prepaid Expense and Other Assets",
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInStockholdersEquityRollForward",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Increase (Decrease) in Stockholders' Equity [Roll Forward]",
        "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_IndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "IndividualAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Individual:",
        "label": "Individual [Axis]"
       }
      }
     },
     "auth_ref": [
      "r847",
      "r856",
      "r866",
      "r883",
      "r892",
      "r896",
      "r904"
     ]
    },
    "ecd_InsiderTradingArrLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTradingArrLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Arrangements [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r902"
     ]
    },
    "ecd_InsiderTradingPoliciesProcLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTradingPoliciesProcLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r836",
      "r908"
     ]
    },
    "ecd_InsiderTrdPoliciesProcAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTrdPoliciesProcAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Insider Trading Policies and Procedures Adopted",
        "label": "Insider Trading Policies and Procedures Adopted [Flag]"
       }
      }
     },
     "auth_ref": [
      "r836",
      "r908"
     ]
    },
    "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Insider Trading Policies and Procedures Not Adopted",
        "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r836",
      "r908"
     ]
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Intangible assets, net",
        "label": "Intangible Assets, Net (Excluding Goodwill)",
        "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r70"
     ]
    },
    "us-gaap_InterestExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestExpense",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Interest expense",
        "label": "Interest Expense",
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense."
       }
      }
     },
     "auth_ref": [
      "r110",
      "r183",
      "r234",
      "r295",
      "r583",
      "r732",
      "r828",
      "r1063"
     ]
    },
    "us-gaap_InterestExpenseDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestExpenseDebt",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Interest expense",
        "label": "Interest Expense, Debt",
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense for debt."
       }
      }
     },
     "auth_ref": [
      "r139",
      "r423",
      "r433",
      "r797",
      "r798"
     ]
    },
    "us-gaap_InterestPaidCapitalized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestPaidCapitalized",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Interest paid for finance leases",
        "label": "Interest Paid, Capitalized, Investing Activities",
        "documentation": "Amount of cash paid for interest capitalized, classified as investing activity."
       }
      }
     },
     "auth_ref": [
      "r784",
      "r940"
     ]
    },
    "us-gaap_InterestPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash paid for interest",
        "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities",
        "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount."
       }
      }
     },
     "auth_ref": [
      "r241",
      "r243",
      "r244"
     ]
    },
    "us-gaap_InternalUseSoftwarePolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InternalUseSoftwarePolicy",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Internal-Use Software Development Costs",
        "label": "Internal Use Software, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for costs incurred when both (1) the software is acquired, internally developed, or modified solely to meet the entity's internal needs, and (2) during the software's development or modification, no substantive plan exists or is being developed to market the software externally."
       }
      }
     },
     "auth_ref": [
      "r1",
      "r2"
     ]
    },
    "fsly_InternetProtocolAddressesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "InternetProtocolAddressesMember",
     "presentation": [
      "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofIntangibleAssetsNetDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Internet protocol addresses",
        "label": "Internet Protocol Addresses [Member]",
        "documentation": "Internet Protocol Addresses [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InvestmentIncomeInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InvestmentIncomeInterest",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Interest income",
        "label": "Investment Income, Interest",
        "documentation": "Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities."
       }
      }
     },
     "auth_ref": [
      "r138",
      "r294"
     ]
    },
    "us-gaap_LeaseCostTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseCostTableTextBlock",
     "presentation": [
      "http://fastly.com/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Lease Costs &amp; Other Information",
        "label": "Lease, Cost [Table Text Block]",
        "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income."
       }
      }
     },
     "auth_ref": [
      "r1042"
     ]
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseholdImprovementsMember",
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationPropertyandequipmentDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofPropertyandEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Leasehold improvements",
        "label": "Leasehold Improvements [Member]",
        "documentation": "Additions or improvements to assets held under a lease arrangement."
       }
      }
     },
     "auth_ref": [
      "r153"
     ]
    },
    "us-gaap_LeasesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeasesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Leases [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_LeasesWeightedAverageDiscountRateAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "LeasesWeightedAverageDiscountRateAbstract",
     "presentation": [
      "http://fastly.com/role/LeasesScheduleofOtherInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted Average Discount Rate:",
        "label": "Leases, Weighted Average Discount Rate [Abstract]",
        "documentation": "Leases, Weighted Average Discount Rate"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeFinanceLeaseRemainingLeaseTerm": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeFinanceLeaseRemainingLeaseTerm",
     "presentation": [
      "http://fastly.com/role/LeasesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Remaining lease terms, finance (in years)",
        "label": "Lessee, Finance Lease, Remaining Lease Term",
        "documentation": "Remaining lease term of finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r1040"
     ]
    },
    "us-gaap_LesseeFinanceLeasesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeFinanceLeasesTextBlock",
     "presentation": [
      "http://fastly.com/role/Leases"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Leases",
        "label": "Lessee, Finance Leases [Text Block]",
        "documentation": "The entire disclosure for finance leases of lessee. Includes, but is not limited to, description of lessee's finance lease and maturity analysis of finance lease liability."
       }
      }
     },
     "auth_ref": [
      "r586"
     ]
    },
    "us-gaap_LesseeLeaseDescriptionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeLeaseDescriptionLineItems",
     "presentation": [
      "http://fastly.com/role/LeasesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Lessee, Lease, Description [Line Items]",
        "label": "Lessee, Lease, Description [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r592"
     ]
    },
    "us-gaap_LesseeLeaseDescriptionTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeLeaseDescriptionTable",
     "presentation": [
      "http://fastly.com/role/LeasesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Lessee, Lease, Description [Table]",
        "label": "Lessee, Lease, Description [Table]",
        "documentation": "Disclosure of information about lessee's leases."
       }
      }
     },
     "auth_ref": [
      "r592"
     ]
    },
    "us-gaap_LesseeLeasesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeLeasesPolicyTextBlock",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Leases",
        "label": "Lessee, Leases [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee."
       }
      }
     },
     "auth_ref": [
      "r591"
     ]
    },
    "fsly_LesseeOperatingLeaseLeaseNotYetCommencedCommitmentAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "LesseeOperatingLeaseLeaseNotYetCommencedCommitmentAmount",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/LeasesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Lease not yet commenced, commitment amount",
        "label": "Lessee, Operating Lease, Lease Not Yet Commenced, Commitment Amount",
        "documentation": "Lessee, Operating Lease, Lease Not Yet Commenced, Commitment Amount"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1",
     "presentation": [
      "http://fastly.com/role/LeasesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Lease not yet commenced, term of contract",
        "label": "Lessee, Operating Lease, Lease Not yet Commenced, Term of Contract",
        "documentation": "Term of lessee's operating lease not yet commenced, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r1041"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "presentation": [
      "http://fastly.com/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Operating Lease Maturities",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]",
        "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position."
       }
      }
     },
     "auth_ref": [
      "r1043"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails_1": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total future minimum lease payments",
        "label": "Lessee, Operating Lease, Liability, to be Paid",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease."
       }
      }
     },
     "auth_ref": [
      "r601"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Thereafter",
        "label": "Lessee, Operating Lease, Liability, to be Paid, after Year Five",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r601"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2024",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year One",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r601"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2028",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Five",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r601"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2027",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r601"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2026",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r601"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2025",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r601"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails_1": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Less: imputed interest",
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease."
       }
      }
     },
     "auth_ref": [
      "r601"
     ]
    },
    "us-gaap_LesseeOperatingLeaseRemainingLeaseTerm": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseRemainingLeaseTerm",
     "presentation": [
      "http://fastly.com/role/LeasesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Remaining lease terms, operating (in years)",
        "label": "Lessee, Operating Lease, Remaining Lease Term",
        "documentation": "Remaining lease term of operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r1040"
     ]
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeasesTextBlock",
     "presentation": [
      "http://fastly.com/role/Leases"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Leases",
        "label": "Lessee, Operating Leases [Text Block]",
        "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r586"
     ]
    },
    "us-gaap_Liabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Liabilities",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total liabilities",
        "label": "Liabilities",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future."
       }
      }
     },
     "auth_ref": [
      "r33",
      "r248",
      "r356",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r556",
      "r557",
      "r558",
      "r573",
      "r705",
      "r788",
      "r829",
      "r994",
      "r1044",
      "r1045"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total liabilities and stockholders\u2019 equity",
        "label": "Liabilities and Equity",
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any."
       }
      }
     },
     "auth_ref": [
      "r129",
      "r180",
      "r652",
      "r817",
      "r944",
      "r972",
      "r1036"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "LIABILITIES AND STOCKHOLDERS\u2019 EQUITY",
        "label": "Liabilities and Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total current liabilities",
        "label": "Liabilities, Current",
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r207",
      "r248",
      "r356",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r556",
      "r557",
      "r558",
      "r573",
      "r817",
      "r994",
      "r1044",
      "r1045"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current liabilities:",
        "label": "Liabilities, Current [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_LiabilityClassifiedAwardsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "LiabilityClassifiedAwardsMember",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityCommonStockWarrantLiabilitiesDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Liability Classified Awards",
        "label": "Liability Classified Awards [Member]",
        "documentation": "Liability Classified Awards"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCredit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCredit",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsSeniorSecuredCreditFacilitiesAgreementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amount of debt outstanding",
        "label": "Long-Term Line of Credit",
        "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement."
       }
      }
     },
     "auth_ref": [
      "r28",
      "r179",
      "r1055"
     ]
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsSeniorSecuredCreditFacilitiesAgreementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt facility, maximum borrowing amount",
        "label": "Line of Credit Facility, Maximum Borrowing Capacity",
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility."
       }
      }
     },
     "auth_ref": [
      "r30"
     ]
    },
    "us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsSeniorSecuredCreditFacilitiesAgreementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Line of credit, unused capacity, commitment fee percentage",
        "label": "Line of Credit Facility, Unused Capacity, Commitment Fee Percentage",
        "documentation": "The fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility."
       }
      }
     },
     "auth_ref": []
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://fastly.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Local Phone Number",
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "fsly_LondonInterbankOfferedRateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "LondonInterbankOfferedRateMember",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsSeniorSecuredCreditFacilitiesAgreementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "London Interbank Offered Rate",
        "label": "London Interbank Offered Rate [Member]",
        "documentation": "London Interbank Offered Rate"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongLivedAssetsByGeographicAreasTableTextBlock",
     "presentation": [
      "http://fastly.com/role/InformationAboutRevenueandGeographicAreasTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Long-Lived Assets by Geographic Region",
        "label": "Long-Lived Assets by Geographic Areas [Table Text Block]",
        "documentation": "Tabular disclosure of long-lived assets, excluding financial instruments, long-term customer relationships of a financial institution, mortgage rights, deferred policy acquisition costs, and deferred tax assets, by geographic areas located in the entity's country of domicile and foreign countries in which the entity holds assets."
       }
      }
     },
     "auth_ref": [
      "r26"
     ]
    },
    "us-gaap_LongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermDebt",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsScheduleofOutstandingDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Long-term debt, less current portion",
        "label": "Long-Term Debt",
        "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation."
       }
      }
     },
     "auth_ref": [
      "r28",
      "r179",
      "r416",
      "r432",
      "r795",
      "r796",
      "r1055"
     ]
    },
    "us-gaap_LongTermDebtCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermDebtCurrent",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsScheduleofOutstandingDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Less: current portion of long-term debt",
        "label": "Long-Term Debt, Current Maturities",
        "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as current. Excludes lease obligation."
       }
      }
     },
     "auth_ref": [
      "r213"
     ]
    },
    "us-gaap_LongTermDebtNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermDebtNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Long-term debt",
        "label": "Long-Term Debt, Excluding Current Maturities",
        "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation."
       }
      }
     },
     "auth_ref": [
      "r214"
     ]
    },
    "us-gaap_LongTermPurchaseCommitmentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermPurchaseCommitmentLineItems",
     "presentation": [
      "http://fastly.com/role/CommitmentsandContingenciesScheduleofPurchaseCommitmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Long-term Purchase Commitment [Line Items]",
        "label": "Long-Term Purchase Commitment [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongTermPurchaseCommitmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermPurchaseCommitmentTable",
     "presentation": [
      "http://fastly.com/role/CommitmentsandContingenciesScheduleofPurchaseCommitmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Long-term Purchase Commitment [Table]",
        "label": "Long-Term Purchase Commitment [Table]",
        "documentation": "Schedule setting forth key provisions of an arrangement under which the entity has agreed to purchase goods or services over a period of time greater than one year or the normal operating cycle, if longer, including the item for which expenditures will be made, minimum quantities, milestones, time period and committed amount."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongTermPurchaseCommitmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermPurchaseCommitmentTextBlock",
     "presentation": [
      "http://fastly.com/role/CommitmentsandContingenciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Purchase Commitments",
        "label": "Long-Term Purchase Commitment [Table Text Block]",
        "documentation": "Tabular disclosure of key provisions of an arrangement under which the entity has agreed to purchase goods or services over a period of time greater than one year or the normal operating cycle, if longer, including the item for which expenditures will be made, minimum quantities, milestones, time period and committed amount."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongtermDebtTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongtermDebtTypeAxis",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails",
      "http://fastly.com/role/DebtInstrumentsScheduleofOutstandingDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Long-term Debt, Type [Axis]",
        "label": "Long-Term Debt, Type [Axis]",
        "documentation": "Information by type of long-term debt."
       }
      }
     },
     "auth_ref": [
      "r38"
     ]
    },
    "us-gaap_LongtermDebtTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongtermDebtTypeDomain",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails",
      "http://fastly.com/role/DebtInstrumentsScheduleofOutstandingDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Long-term Debt, Type [Domain]",
        "label": "Long-Term Debt, Type [Domain]",
        "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer."
       }
      }
     },
     "auth_ref": [
      "r38",
      "r75"
     ]
    },
    "srt_MajorCustomersAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MajorCustomersAxis",
     "presentation": [
      "http://fastly.com/role/RevenueRevenuebyCustomerTypeDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesConcentrationsofCreditRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Customer [Axis]",
        "label": "Customer [Axis]"
       }
      }
     },
     "auth_ref": [
      "r319",
      "r802",
      "r999",
      "r1057",
      "r1058"
     ]
    },
    "fsly_MarketBasedPerformanceStockAwardsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "MarketBasedPerformanceStockAwardsMember",
     "presentation": [
      "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails",
      "http://fastly.com/role/StockholdersEquityMPSUDetails",
      "http://fastly.com/role/StockholdersEquityScheduleofRSURSAPSUandMPSUActivityDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "MPSUs",
        "label": "Market-Based Performance Stock Awards [Member]",
        "documentation": "Market-Based Performance Stock Awards"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MarketableSecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MarketableSecurities",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails": {
       "parentTag": "fsly_CashCashEquivalentsAndMarketableSecurities",
       "weight": 1.0,
       "order": 2.0
      },
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails": {
       "parentTag": "us-gaap_AssetsFairValueDisclosure",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails",
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total marketable securities",
        "terseLabel": "Marketable securities",
        "label": "Marketable Securities",
        "documentation": "Amount of investment in marketable security."
       }
      }
     },
     "auth_ref": [
      "r114",
      "r934"
     ]
    },
    "us-gaap_MarketableSecuritiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MarketableSecuritiesCurrent",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails": {
       "parentTag": "us-gaap_MarketableSecurities",
       "weight": 1.0,
       "order": 1.0
      },
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS",
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Marketable securities, current",
        "verboseLabel": "Total marketable securities, current",
        "label": "Marketable Securities, Current",
        "documentation": "Amount of investment in marketable security, classified as current."
       }
      }
     },
     "auth_ref": [
      "r934"
     ]
    },
    "us-gaap_MarketableSecuritiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MarketableSecuritiesNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails": {
       "parentTag": "us-gaap_MarketableSecurities",
       "weight": 1.0,
       "order": 2.0
      },
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS",
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Marketable securities, non-current",
        "verboseLabel": "Total marketable securities, non-current",
        "label": "Marketable Securities, Noncurrent",
        "documentation": "Amount of investment in marketable security, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r934"
     ]
    },
    "us-gaap_MarketableSecuritiesPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MarketableSecuritiesPolicy",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Marketable Securities",
        "label": "Marketable Securities, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for investment classified as marketable security."
       }
      }
     },
     "auth_ref": [
      "r115"
     ]
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MaximumMember",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsSeniorSecuredCreditFacilitiesAgreementDetails",
      "http://fastly.com/role/LeasesNarrativeDetails",
      "http://fastly.com/role/StockholdersEquityFairValueAssumptionsESPPDetails",
      "http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesAccountingforStockBasedCompensationDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesCostofRevenueDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesInternalUseSoftwareDevelopmentCostsDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofIntangibleAssetsDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofPropertyandEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Maximum",
        "label": "Maximum [Member]"
       }
      }
     },
     "auth_ref": [
      "r390",
      "r391",
      "r392",
      "r393",
      "r473",
      "r636",
      "r666",
      "r697",
      "r698",
      "r750",
      "r752",
      "r754",
      "r755",
      "r757",
      "r778",
      "r779",
      "r791",
      "r799",
      "r812",
      "r819",
      "r996",
      "r1046",
      "r1047",
      "r1048",
      "r1049",
      "r1050",
      "r1051"
     ]
    },
    "ecd_MeasureAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MeasureAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Measure:",
        "label": "Measure [Axis]"
       }
      }
     },
     "auth_ref": [
      "r875"
     ]
    },
    "ecd_MeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Name",
        "label": "Measure Name"
       }
      }
     },
     "auth_ref": [
      "r875"
     ]
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MinimumMember",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsSeniorSecuredCreditFacilitiesAgreementDetails",
      "http://fastly.com/role/LeasesNarrativeDetails",
      "http://fastly.com/role/StockholdersEquityFairValueAssumptionsESPPDetails",
      "http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesAccountingforStockBasedCompensationDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesCostofRevenueDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesInternalUseSoftwareDevelopmentCostsDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofIntangibleAssetsDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofPropertyandEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Minimum",
        "label": "Minimum [Member]"
       }
      }
     },
     "auth_ref": [
      "r390",
      "r391",
      "r392",
      "r393",
      "r473",
      "r636",
      "r666",
      "r697",
      "r698",
      "r750",
      "r752",
      "r754",
      "r755",
      "r757",
      "r778",
      "r779",
      "r791",
      "r799",
      "r812",
      "r819",
      "r996",
      "r1046",
      "r1047",
      "r1048",
      "r1049",
      "r1050",
      "r1051"
     ]
    },
    "ecd_MnpiDiscTimedForCompValFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MnpiDiscTimedForCompValFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "MNPI Disclosure Timed for Compensation Value",
        "label": "MNPI Disclosure Timed for Compensation Value [Flag]"
       }
      }
     },
     "auth_ref": [
      "r895"
     ]
    },
    "us-gaap_MoneyMarketFundsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MoneyMarketFundsMember",
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails",
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Money market funds",
        "label": "Money Market Funds [Member]",
        "documentation": "Fund that invests in short-term money-market instruments, for example, but not limited to, commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and other highly liquid securities."
       }
      }
     },
     "auth_ref": [
      "r1000"
     ]
    },
    "ecd_MtrlTermsOfTrdArrTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MtrlTermsOfTrdArrTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Material Terms of Trading Arrangement",
        "label": "Material Terms of Trading Arrangement [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r903"
     ]
    },
    "us-gaap_MunicipalNotesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MunicipalNotesMember",
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails",
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAvailableForSaleInvestmentsDetails",
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Municipal securities",
        "label": "Municipal Notes [Member]",
        "documentation": "Short-term debt securities issued by state, city or local governments or the agencies operated by state, city or local governments."
       }
      }
     },
     "auth_ref": []
    },
    "srt_NameOfMajorCustomerDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "NameOfMajorCustomerDomain",
     "presentation": [
      "http://fastly.com/role/RevenueRevenuebyCustomerTypeDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesConcentrationsofCreditRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Customer [Domain]",
        "label": "Customer [Domain]"
       }
      }
     },
     "auth_ref": [
      "r319",
      "r802",
      "r999",
      "r1057",
      "r1058"
     ]
    },
    "ecd_NamedExecutiveOfficersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NamedExecutiveOfficersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Named Executive Officers, Footnote",
        "label": "Named Executive Officers, Footnote [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r876"
     ]
    },
    "us-gaap_NatureOfOperations": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NatureOfOperations",
     "presentation": [
      "http://fastly.com/role/NatureofBusiness"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Nature of Business",
        "label": "Nature of Operations [Text Block]",
        "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward."
       }
      }
     },
     "auth_ref": [
      "r188",
      "r201"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash (used in) provided by financing activities",
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit."
       }
      }
     },
     "auth_ref": [
      "r242"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash flows from financing activities:",
        "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash (used in) provided by investing activities",
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets."
       }
      }
     },
     "auth_ref": [
      "r242"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash flows from investing activities:",
        "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash (used in) provided by operating activities",
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities."
       }
      }
     },
     "auth_ref": [
      "r144",
      "r145",
      "r146"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash flows from operating activities:",
        "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVELOSS": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 1.0
      },
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 3.0
      },
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS",
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVELOSS",
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS",
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net loss",
        "terseLabel": "Net loss",
        "label": "Net Income (Loss)",
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r133",
      "r146",
      "r182",
      "r205",
      "r225",
      "r228",
      "r233",
      "r248",
      "r255",
      "r257",
      "r258",
      "r259",
      "r260",
      "r263",
      "r264",
      "r275",
      "r291",
      "r305",
      "r310",
      "r313",
      "r356",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r568",
      "r573",
      "r655",
      "r727",
      "r745",
      "r746",
      "r789",
      "r828",
      "r994"
     ]
    },
    "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetIncomeLossAvailableToCommonStockholdersBasic",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofComputationofBasicandDilutedNetLossPerShareofCommonStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net loss attributable to common stockholders, basic",
        "label": "Net Income (Loss) Available to Common Stockholders, Basic",
        "documentation": "Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders."
       }
      }
     },
     "auth_ref": [
      "r238",
      "r257",
      "r258",
      "r259",
      "r260",
      "r266",
      "r267",
      "r276",
      "r279",
      "r291",
      "r305",
      "r310",
      "r313",
      "r789"
     ]
    },
    "us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetIncomeLossAvailableToCommonStockholdersDiluted",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofComputationofBasicandDilutedNetLossPerShareofCommonStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net loss attributable to common stockholders, diluted",
        "label": "Net Income (Loss) Available to Common Stockholders, Diluted",
        "documentation": "Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities, and addition from assumption of issuance of common shares for dilutive potential common shares; of income (loss) available to common shareholders."
       }
      }
     },
     "auth_ref": [
      "r238",
      "r268",
      "r271",
      "r272",
      "r273",
      "r274",
      "r276",
      "r279"
     ]
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Recently Issued and Adopted Accounting Pronouncements",
        "label": "New Accounting Pronouncements, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact."
       }
      }
     },
     "auth_ref": []
    },
    "fsly_NewRevenueMethodologyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "NewRevenueMethodologyMember",
     "presentation": [
      "http://fastly.com/role/RevenueRevenuebyCustomerTypeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "New Revenue Methodology",
        "label": "New Revenue Methodology [Member]",
        "documentation": "New Revenue Methodology"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_NonGaapMeasureDescriptionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonGaapMeasureDescriptionTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-GAAP Measure Description",
        "label": "Non-GAAP Measure Description [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r875"
     ]
    },
    "ecd_NonNeosMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonNeosMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-NEOs",
        "label": "Non-NEOs [Member]"
       }
      }
     },
     "auth_ref": [
      "r844",
      "r856",
      "r866",
      "r883",
      "r892"
     ]
    },
    "ecd_NonPeoNeoAvgCompActuallyPaidAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonPeoNeoAvgCompActuallyPaidAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount",
        "label": "Non-PEO NEO Average Compensation Actually Paid Amount"
       }
      }
     },
     "auth_ref": [
      "r873"
     ]
    },
    "ecd_NonPeoNeoAvgTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonPeoNeoAvgTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-PEO NEO Average Total Compensation Amount",
        "label": "Non-PEO NEO Average Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r872"
     ]
    },
    "ecd_NonPeoNeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonPeoNeoMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-PEO NEO",
        "label": "Non-PEO NEO [Member]"
       }
      }
     },
     "auth_ref": [
      "r883"
     ]
    },
    "ecd_NonRule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonRule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted",
        "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]"
       }
      }
     },
     "auth_ref": [
      "r903"
     ]
    },
    "ecd_NonRule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonRule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated",
        "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]"
       }
      }
     },
     "auth_ref": [
      "r903"
     ]
    },
    "us-gaap_NonUsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NonUsMember",
     "presentation": [
      "http://fastly.com/role/InformationAboutRevenueandGeographicAreasDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "All other countries",
        "label": "Non-US [Member]",
        "documentation": "Countries excluding the United States of America (US)."
       }
      }
     },
     "auth_ref": [
      "r1066",
      "r1067",
      "r1068",
      "r1069"
     ]
    },
    "fsly_NoncashChangeInOperatingLeaseAssetsAndLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "NoncashChangeInOperatingLeaseAssetsAndLiabilities",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net non-cash change in operating lease assets and liabilities associated with modifications and terminations",
        "label": "Noncash Change In Operating Lease Assets And Liabilities",
        "documentation": "Noncash Change In Operating Lease Assets And Liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NoncashInvestingAndFinancingItemsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NoncashInvestingAndFinancingItemsAbstract",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Noncash investing and financing activities:",
        "label": "Noncash Investing and Financing Items [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_NonenterpriseCustomersMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "NonenterpriseCustomersMember",
     "presentation": [
      "http://fastly.com/role/RevenueRevenuebyCustomerTypeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-enterprise customers",
        "label": "Non-enterprise Customers [Member]",
        "documentation": "Non-enterprise Customers [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NotesPayableFairValueDisclosure": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NotesPayableFairValueDisclosure",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total estimated fair value of the notes",
        "label": "Notes Payable, Fair Value Disclosure",
        "documentation": "Fair value portion of notes payable."
       }
      }
     },
     "auth_ref": [
      "r32"
     ]
    },
    "fsly_NumberOfCofoundersWithSharesSubjectToRevesting": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "NumberOfCofoundersWithSharesSubjectToRevesting",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of cofounders with shares subject to revesting",
        "label": "Number Of Cofounders With Shares Subject To Revesting",
        "documentation": "Number Of Cofounders With Shares Subject To Revesting"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_NumberOfEquityIncentivePlans": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "NumberOfEquityIncentivePlans",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityEquityIncentivePlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of equity incentive plans",
        "label": "Number Of Equity Incentive Plans",
        "documentation": "Number Of Equity Incentive Plans"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NumberOfOperatingSegments": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NumberOfOperatingSegments",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesGoodwillNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of operating segments",
        "label": "Number of Operating Segments",
        "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues."
       }
      }
     },
     "auth_ref": [
      "r952"
     ]
    },
    "us-gaap_NumberOfReportableSegments": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NumberOfReportableSegments",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesGoodwillNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of reportable segments",
        "label": "Number of Reportable Segments",
        "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements."
       }
      }
     },
     "auth_ref": [
      "r952"
     ]
    },
    "us-gaap_OfficeEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OfficeEquipmentMember",
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationPropertyandequipmentDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofPropertyandEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Office equipment",
        "label": "Office Equipment [Member]",
        "documentation": "Tangible personal property used in an office setting. Examples include, but are not limited to, computers, copiers and fax machine."
       }
      }
     },
     "auth_ref": []
    },
    "fsly_OperatingExpenseCommitmentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "OperatingExpenseCommitmentsMember",
     "presentation": [
      "http://fastly.com/role/CommitmentsandContingenciesScheduleofPurchaseCommitmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating Expense Commitments",
        "label": "Operating Expense Commitments [Member]",
        "documentation": "Operating Expense Commitments"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingExpenses",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total operating expenses",
        "label": "Operating Expenses",
        "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingExpensesAbstract",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating expenses:",
        "label": "Operating Expenses [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Loss from operations",
        "label": "Operating Income (Loss)",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r291",
      "r305",
      "r310",
      "r313",
      "r789"
     ]
    },
    "us-gaap_OperatingLeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseCost",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/LeasesScheduleofLeaseCostDetails": {
       "parentTag": "fsly_OperatingVariableAndShortTermLeaseCosts",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/LeasesScheduleofLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating lease cost",
        "label": "Operating Lease, Cost",
        "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability."
       }
      }
     },
     "auth_ref": [
      "r594",
      "r816"
     ]
    },
    "us-gaap_OperatingLeaseImpairmentLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseImpairmentLoss",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 18.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS",
      "http://fastly.com/role/LeasesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Impairment of operating lease right-of-use assets",
        "label": "Operating Lease, Impairment Loss",
        "documentation": "Amount of loss from impairment of right-of-use asset from operating lease."
       }
      }
     },
     "auth_ref": [
      "r1039"
     ]
    },
    "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract",
     "presentation": [
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating Leases",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Fiscal Year Maturity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiability",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails_1": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/LeasesScheduleofLeaseLiabilityMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total liability",
        "label": "Operating Lease, Liability",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease."
       }
      }
     },
     "auth_ref": [
      "r588"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating lease liabilities, current",
        "label": "Operating Lease, Liability, Current",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r588"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating lease liabilities, non-current",
        "label": "Operating Lease, Liability, Noncurrent",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r588"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating lease right-of-use assets, net",
        "label": "Operating Lease, Right-of-Use Asset",
        "documentation": "Amount of lessee's right to use underlying asset under operating lease."
       }
      }
     },
     "auth_ref": [
      "r587"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseRightOfUseAssetAmortizationExpense",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 19.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-cash lease expense",
        "label": "Operating Lease, Right-of-Use Asset, Periodic Reduction",
        "documentation": "Amount of periodic reduction over lease term of carrying amount of right-of-use asset from operating lease."
       }
      }
     },
     "auth_ref": [
      "r939"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "presentation": [
      "http://fastly.com/role/LeasesScheduleofOtherInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating leases",
        "label": "Operating Lease, Weighted Average Discount Rate, Percent",
        "documentation": "Weighted average discount rate for operating lease calculated at point in time."
       }
      }
     },
     "auth_ref": [
      "r600",
      "r816"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "presentation": [
      "http://fastly.com/role/LeasesScheduleofOtherInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating leases",
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r599",
      "r816"
     ]
    },
    "us-gaap_OperatingLossCarryforwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLossCarryforwards",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Operating loss carryforwards",
        "label": "Operating Loss Carryforwards",
        "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws."
       }
      }
     },
     "auth_ref": [
      "r92"
     ]
    },
    "us-gaap_OperatingLossCarryforwardsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLossCarryforwardsLineItems",
     "presentation": [
      "http://fastly.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating Loss Carryforwards [Line Items]",
        "label": "Operating Loss Carryforwards [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLossCarryforwardsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLossCarryforwardsTable",
     "presentation": [
      "http://fastly.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating Loss Carryforwards [Table]",
        "label": "Operating Loss Carryforwards [Table]",
        "documentation": "Schedule reflecting pertinent information, such as tax authority, amounts, and expiration dates, of net operating loss carryforwards, including an assessment of the likelihood of utilization."
       }
      }
     },
     "auth_ref": [
      "r91"
     ]
    },
    "fsly_OperatingMarkets": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "OperatingMarkets",
     "presentation": [
      "http://fastly.com/role/NatureofBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating markets",
        "label": "Operating Markets",
        "documentation": "Operating Markets"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_OperatingVariableAndShortTermLeaseCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "OperatingVariableAndShortTermLeaseCosts",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/LeasesScheduleofLeaseCostDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://fastly.com/role/LeasesScheduleofLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total operating lease cost",
        "label": "Operating, Variable, And Short-Term Lease Costs",
        "documentation": "Operating, Variable, And Short-Term Lease Costs"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OrderOrProductionBacklogMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OrderOrProductionBacklogMember",
     "presentation": [
      "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofIntangibleAssetsNetDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Backlog",
        "label": "Order or Production Backlog [Member]",
        "documentation": "Orders, production or production backlog arising from contracts such as purchase or sales orders acquired in a business combination."
       }
      }
     },
     "auth_ref": [
      "r102"
     ]
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Organization, Consolidation and Presentation of Financial Statements [Abstract]",
        "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherAccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/BalanceSheetInformationAccruedExpensesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other accrued expenses",
        "label": "Other Accrued Liabilities, Current",
        "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r34"
     ]
    },
    "us-gaap_OtherAssetsMiscellaneousNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetsMiscellaneousNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/BalanceSheetInformationOtherAssetsDetails": {
       "parentTag": "us-gaap_OtherAssetsNoncurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationOtherAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other assets",
        "label": "Other Assets, Miscellaneous, Noncurrent",
        "documentation": "Amount of other miscellaneous assets expected to be realized or consumed after one year or normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetsNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 5.0
      },
      "http://fastly.com/role/BalanceSheetInformationOtherAssetsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationOtherAssetsDetails",
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other assets",
        "totalLabel": "Total other assets",
        "label": "Other Assets, Noncurrent",
        "documentation": "Amount of noncurrent assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r211"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVELOSS": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVELOSS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Gain (loss) on investments in available-for-sale-securities",
        "label": "Other Comprehensive Income (Loss), Available-for-Sale Securities Adjustment, Net of Tax, Portion Attributable to Parent",
        "documentation": "Amount, after tax and reclassification adjustment, of gain (loss) in value of unsold investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), attributable to parent."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r18",
      "r173"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVELOSS": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVELOSS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign currency translation adjustment",
        "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent",
        "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to parent entity."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r18",
      "r173"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVELOSS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other comprehensive loss:",
        "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVELOSS": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationAccumulatedOtherComprehensiveIncomeLossDetails",
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVELOSS",
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total other comprehensive gain (loss)",
        "terseLabel": "Other comprehensive income (loss)",
        "verboseLabel": "Other comprehensive income (loss)",
        "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent",
        "documentation": "Amount after tax of other comprehensive income (loss) attributable to parent entity."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r18",
      "r173",
      "r226",
      "r229"
     ]
    },
    "us-gaap_OtherCurrentLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherCurrentLiabilitiesTableTextBlock",
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Other Current Liabilities",
        "label": "Other Current Liabilities [Table Text Block]",
        "documentation": "Tabular disclosure of other current liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherLiabilities",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityEarlyExerciseofStockDetails",
      "http://fastly.com/role/StockholdersEquityEarlyExerciseofStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other long-term liabilities",
        "label": "Other Liabilities",
        "documentation": "Amount of liabilities classified as other."
       }
      }
     },
     "auth_ref": [
      "r112",
      "r645",
      "r701",
      "r702",
      "r829",
      "r1061"
     ]
    },
    "us-gaap_OtherLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      },
      "http://fastly.com/role/BalanceSheetInformationOtherCurrentLiabilitiesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationOtherCurrentLiabilitiesDetails",
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other current liabilities",
        "totalLabel": "Total other current liabilities",
        "label": "Other Liabilities, Current",
        "documentation": "Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r34",
      "r817"
     ]
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherLiabilitiesNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other long-term liabilities",
        "label": "Other Liabilities, Noncurrent",
        "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r39"
     ]
    },
    "us-gaap_OtherNoncashIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherNoncashIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Other adjustments",
        "label": "Other Noncash Income (Expense)",
        "documentation": "Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other."
       }
      }
     },
     "auth_ref": [
      "r146"
     ]
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherNonoperatingIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other income (expense), net",
        "label": "Other Nonoperating Income (Expense)",
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other."
       }
      }
     },
     "auth_ref": [
      "r140"
     ]
    },
    "ecd_OtherPerfMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OtherPerfMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other Performance Measure, Amount",
        "label": "Other Performance Measure, Amount"
       }
      }
     },
     "auth_ref": [
      "r875"
     ]
    },
    "us-gaap_OtherSundryLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherSundryLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/BalanceSheetInformationOtherCurrentLiabilitiesDetails": {
       "parentTag": "us-gaap_OtherLiabilitiesCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationOtherCurrentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other current liabilities",
        "label": "Other Sundry Liabilities, Current",
        "documentation": "Obligations not otherwise itemized or categorized in the footnotes to the financial statements that are due within one year or operating cycle, if longer, from the balance sheet date."
       }
      }
     },
     "auth_ref": [
      "r34",
      "r74"
     ]
    },
    "ecd_OutstandingAggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OutstandingAggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount",
        "label": "Outstanding Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r842",
      "r854",
      "r864",
      "r890"
     ]
    },
    "ecd_OutstandingRecoveryCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OutstandingRecoveryCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Compensation Amount",
        "label": "Outstanding Recovery Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r845",
      "r857",
      "r867",
      "r893"
     ]
    },
    "ecd_OutstandingRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OutstandingRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Name",
        "label": "Outstanding Recovery, Individual Name"
       }
      }
     },
     "auth_ref": [
      "r845",
      "r857",
      "r867",
      "r893"
     ]
    },
    "ecd_PayVsPerformanceDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PayVsPerformanceDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r871"
     ]
    },
    "fsly_PaymentForBusinessIncurredButNotYetPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "PaymentForBusinessIncurredButNotYetPaid",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Purchase consideration associated with business combination, accrued but not paid",
        "label": "Payment For Business Incurred, But Not Yet Paid",
        "documentation": "Payment For Business Incurred, But Not Yet Paid"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_PaymentsForEarlySaleOfRestrictedShares": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "PaymentsForEarlySaleOfRestrictedShares",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Cash paid for early sale of restricted shares",
        "label": "Payments For Early Sale Of Restricted Shares",
        "documentation": "Payments For Early Sale Of Restricted Shares"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PaymentsForSoftware": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsForSoftware",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Capitalized internal-use software",
        "label": "Payments for Software",
        "documentation": "The cash outflow associated with the development, modification or acquisition of software programs or applications for internal use (that is, not to be sold, leased or otherwise marketed to others) that qualify for capitalization."
       }
      }
     },
     "auth_ref": [
      "r143"
     ]
    },
    "us-gaap_PaymentsOfDebtExtinguishmentCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsOfDebtExtinguishmentCosts",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Cash paid for debt extinguishment",
        "label": "Payment for Debt Extinguishment or Debt Prepayment Cost",
        "documentation": "Amount of cash outflow for cost from early extinguishment and prepayment of debt. Includes, but is not limited to, third-party cost, premium paid, and other fee paid to lender directly for debt extinguishment or debt prepayment. Excludes accrued interest."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "us-gaap_PaymentsOfDebtIssuanceCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsOfDebtIssuanceCosts",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Payments of debt issuance costs",
        "label": "Payments of Debt Issuance Costs",
        "documentation": "The cash outflow paid to third parties in connection with debt origination, which will be amortized over the remaining maturity period of the associated long-term debt."
       }
      }
     },
     "auth_ref": [
      "r48"
     ]
    },
    "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Business acquisitions, net of cash acquired",
        "label": "Payments to Acquire Businesses, Net of Cash Acquired",
        "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase."
       }
      }
     },
     "auth_ref": [
      "r46"
     ]
    },
    "us-gaap_PaymentsToAcquireIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquireIntangibleAssets",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS",
      "http://fastly.com/role/GoodwillandIntangibleAssetsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Purchases of intangible assets",
        "terseLabel": "Purchase of intangible assets",
        "label": "Payments to Acquire Intangible Assets",
        "documentation": "The cash outflow to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill."
       }
      }
     },
     "auth_ref": [
      "r143"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Purchases of property and equipment",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets."
       }
      }
     },
     "auth_ref": [
      "r143"
     ]
    },
    "us-gaap_PaymentsToAcquireShortTermInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquireShortTermInvestments",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Purchases of marketable securities",
        "label": "Payments to Acquire Short-Term Investments",
        "documentation": "The cash outflow for securities or other assets acquired, which qualify for treatment as an investing activity and are to be liquidated, if necessary, within the current operating cycle. Includes cash flows from securities classified as trading securities that were acquired for reasons other than sale in the short-term."
       }
      }
     },
     "auth_ref": [
      "r142"
     ]
    },
    "fsly_PayoutOfPerformanceBasedRestrictedStockUnitsPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "PayoutOfPerformanceBasedRestrictedStockUnitsPercentage",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityPerformanceBasedRestrictedStockUnitsPSUsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Payout of performance-based restricted stock units, percentage",
        "label": "Payout of Performance-Based Restricted Stock Units, Percentage",
        "documentation": "Payout of Performance-Based Restricted Stock Units, Percentage"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_PeerGroupIssuersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeerGroupIssuersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Peer Group Issuers, Footnote",
        "label": "Peer Group Issuers, Footnote [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r874"
     ]
    },
    "ecd_PeerGroupTotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeerGroupTotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Peer Group Total Shareholder Return Amount",
        "label": "Peer Group Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r874"
     ]
    },
    "ecd_PeoActuallyPaidCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoActuallyPaidCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "PEO Actually Paid Compensation Amount",
        "label": "PEO Actually Paid Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r873"
     ]
    },
    "ecd_PeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "PEO",
        "label": "PEO [Member]"
       }
      }
     },
     "auth_ref": [
      "r883"
     ]
    },
    "ecd_PeoName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "PEO Name",
        "label": "PEO Name"
       }
      }
     },
     "auth_ref": [
      "r876"
     ]
    },
    "ecd_PeoTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "PEO Total Compensation Amount",
        "label": "PEO Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r872"
     ]
    },
    "us-gaap_PerformanceSharesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PerformanceSharesMember",
     "presentation": [
      "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails",
      "http://fastly.com/role/StockholdersEquityPerformanceBasedRestrictedStockUnitsPSUsDetails",
      "http://fastly.com/role/StockholdersEquityScheduleofRSURSAPSUandMPSUActivityDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "PSUs",
        "label": "Performance Shares [Member]",
        "documentation": "Share-based payment arrangement awarded for meeting performance target."
       }
      }
     },
     "auth_ref": []
    },
    "fsly_PerformanceTargetPayoutLevelOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "PerformanceTargetPayoutLevelOneMember",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityPerformanceBasedRestrictedStockUnitsPSUsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Performance Target Payout Level One",
        "label": "Performance Target Payout Level One [Member]",
        "documentation": "Performance Target Payout Level One"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_PerformanceTargetPayoutLevelThreeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "PerformanceTargetPayoutLevelThreeMember",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityPerformanceBasedRestrictedStockUnitsPSUsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Performance Target Payout Level Three",
        "label": "Performance Target Payout Level Three [Member]",
        "documentation": "Performance Target Payout Level Three"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_PerformanceTargetPayoutLevelTwoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "PerformanceTargetPayoutLevelTwoMember",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityPerformanceBasedRestrictedStockUnitsPSUsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Performance Target Payout Level Two",
        "label": "Performance Target Payout Level Two [Member]",
        "documentation": "Performance Target Payout Level Two"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PlanNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PlanNameAxis",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityEquityIncentivePlansDetails",
      "http://fastly.com/role/StockholdersEquityPerformanceBasedRestrictedStockUnitsPSUsDetails",
      "http://fastly.com/role/StockholdersEquityStockOptionsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Plan Name [Axis]",
        "label": "Plan Name [Axis]",
        "documentation": "Information by plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1001",
      "r1002",
      "r1003",
      "r1004",
      "r1005",
      "r1006",
      "r1007",
      "r1008",
      "r1009",
      "r1010",
      "r1011",
      "r1012",
      "r1013",
      "r1014",
      "r1015",
      "r1016",
      "r1017",
      "r1018",
      "r1019",
      "r1020",
      "r1021",
      "r1022",
      "r1023",
      "r1024",
      "r1025",
      "r1026"
     ]
    },
    "us-gaap_PlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PlanNameDomain",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityEquityIncentivePlansDetails",
      "http://fastly.com/role/StockholdersEquityPerformanceBasedRestrictedStockUnitsPSUsDetails",
      "http://fastly.com/role/StockholdersEquityStockOptionsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Plan Name [Domain]",
        "label": "Plan Name [Domain]",
        "documentation": "Plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1001",
      "r1002",
      "r1003",
      "r1004",
      "r1005",
      "r1006",
      "r1007",
      "r1008",
      "r1009",
      "r1010",
      "r1011",
      "r1012",
      "r1013",
      "r1014",
      "r1015",
      "r1016",
      "r1017",
      "r1018",
      "r1019",
      "r1020",
      "r1021",
      "r1022",
      "r1023",
      "r1024",
      "r1025",
      "r1026"
     ]
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Prepaid expenses and other current assets",
        "label": "Prepaid Expense and Other Assets, Current",
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r935"
     ]
    },
    "us-gaap_PriorPeriodReclassificationAdjustmentDescription": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PriorPeriodReclassificationAdjustmentDescription",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Reclassification",
        "label": "Reclassification, Comparability Adjustment [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for reclassification affecting comparability of financial statement. Excludes amendment to accounting standards, other change in accounting principle, and correction of error."
       }
      }
     },
     "auth_ref": [
      "r929"
     ]
    },
    "fsly_PriorRevenueMethodologyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "PriorRevenueMethodologyMember",
     "presentation": [
      "http://fastly.com/role/RevenueRevenuebyCustomerTypeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Prior Revenue Methodology",
        "label": "Prior Revenue Methodology [Member]",
        "documentation": "Prior Revenue Methodology"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromConvertibleDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromConvertibleDebt",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS",
      "http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Issuance of convertible note, net of issuance costs",
        "label": "Proceeds from Convertible Debt",
        "documentation": "The cash inflow from the issuance of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder."
       }
      }
     },
     "auth_ref": [
      "r47"
     ]
    },
    "fsly_ProceedsFromEarlySaleOfRestrictedShares": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "ProceedsFromEarlySaleOfRestrictedShares",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash received for restricted stock sold in advance of vesting conditions",
        "label": "Proceeds From Early Sale Of Restricted Shares",
        "documentation": "Proceeds From Early Sale Of Restricted Shares"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromLinesOfCredit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromLinesOfCredit",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsSeniorSecuredCreditFacilitiesAgreementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amounts drawn on line of credit during the period",
        "label": "Proceeds from Lines of Credit",
        "documentation": "Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements."
       }
      }
     },
     "auth_ref": [
      "r47",
      "r943"
     ]
    },
    "us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Sales of marketable securities",
        "label": "Proceeds from Sale and Maturity of Debt Securities, Available-for-Sale",
        "documentation": "Amount of cash inflow from sale, maturity, prepayment and call of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r239",
      "r240",
      "r954"
     ]
    },
    "us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromSaleAndMaturityOfMarketableSecurities",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Maturities of marketable securities",
        "label": "Proceeds from Sale and Maturity of Marketable Securities",
        "documentation": "The cash inflow associated with the aggregate amount received by the entity through sale or maturity of marketable securities (held-to-maturity or available-for-sale) during the period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Proceeds from sale of property and equipment",
        "label": "Proceeds from Sale of Property, Plant, and Equipment",
        "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r141"
     ]
    },
    "us-gaap_ProceedsFromStockOptionsExercised": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromStockOptionsExercised",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Proceeds from exercise of vested stock options",
        "label": "Proceeds from Stock Options Exercised",
        "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r23"
     ]
    },
    "us-gaap_ProceedsFromStockPlans": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromStockPlans",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Proceeds from employee stock purchase plan",
        "label": "Proceeds from Stock Plans",
        "documentation": "The cash inflow associated with the amount received from the stock plan during the period."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "srt_ProductOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductOrServiceAxis",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesCostofRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Product and Service [Axis]",
        "label": "Product and Service [Axis]"
       }
      }
     },
     "auth_ref": [
      "r315",
      "r637",
      "r660",
      "r661",
      "r662",
      "r663",
      "r664",
      "r665",
      "r781",
      "r800",
      "r818",
      "r919",
      "r992",
      "r993",
      "r999",
      "r1057"
     ]
    },
    "srt_ProductsAndServicesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductsAndServicesDomain",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesCostofRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Product and Service [Domain]",
        "label": "Product and Service [Domain]"
       }
      }
     },
     "auth_ref": [
      "r315",
      "r637",
      "r660",
      "r661",
      "r662",
      "r663",
      "r664",
      "r665",
      "r781",
      "r800",
      "r818",
      "r919",
      "r992",
      "r993",
      "r999",
      "r1057"
     ]
    },
    "fsly_PropertyPlantAndEquipmentAdvancePaymentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "PropertyPlantAndEquipmentAdvancePaymentsMember",
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property, Plant And Equipment, Advance Payments",
        "label": "Property, Plant And Equipment, Advance Payments [Member]",
        "documentation": "Property, Plant And Equipment, Advance Payments"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/BalanceSheetInformationPropertyandequipmentDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationPropertyandequipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Accumulated depreciation and amortization",
        "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, Accumulated Depreciation and Amortization",
        "documentation": "Amount of accumulated depreciation and amortization from plant, property, and equipment and right-of-use asset from finance lease."
       }
      }
     },
     "auth_ref": [
      "r913",
      "r918",
      "r989"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 2.0
      },
      "http://fastly.com/role/BalanceSheetInformationPropertyandequipmentDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationNarrativeDetails",
      "http://fastly.com/role/BalanceSheetInformationPropertyandequipmentDetails",
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property and equipment, net",
        "totalLabel": "Property and equipment, net",
        "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization",
        "documentation": "Amount, after accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset."
       }
      }
     },
     "auth_ref": [
      "r918",
      "r987"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/BalanceSheetInformationPropertyandequipmentDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationPropertyandequipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property and equipment, gross",
        "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization",
        "documentation": "Amount, before accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset."
       }
      }
     },
     "auth_ref": [
      "r912",
      "r933",
      "r988"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationNarrativeDetails",
      "http://fastly.com/role/BalanceSheetInformationPropertyandequipmentDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesInternalUseSoftwareDevelopmentCostsDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofPropertyandEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property, Plant and Equipment, Type [Axis]",
        "label": "Long-Lived Tangible Asset [Axis]",
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r13"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentLineItems",
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationNarrativeDetails",
      "http://fastly.com/role/BalanceSheetInformationPropertyandequipmentDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesInternalUseSoftwareDevelopmentCostsDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofPropertyandEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property, Plant and Equipment [Line Items]",
        "label": "Property, Plant and Equipment [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentMember",
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property, Plant and Equipment",
        "label": "Property, Plant and Equipment [Member]",
        "documentation": "Physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": []
    },
    "fsly_PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/InformationAboutRevenueandGeographicAreasDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total long-lived assets",
        "label": "Property Plant And Equipment, Net And Operating Lease Right Of Use Assets, Net",
        "documentation": "Property Plant And Equipment, Net And Operating Lease Right Of Use Assets, Net"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property and Equipment",
        "label": "Property, Plant and Equipment, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r193",
      "r198",
      "r653"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationTables",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Schedule of Property and Equipment, Useful Lives",
        "terseLabel": "Schedule of Property and Equipment, Net",
        "label": "Property, Plant and Equipment [Table Text Block]",
        "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r13"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationNarrativeDetails",
      "http://fastly.com/role/BalanceSheetInformationPropertyandequipmentDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesInternalUseSoftwareDevelopmentCostsDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofPropertyandEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property, Plant and Equipment, Type [Domain]",
        "label": "Long-Lived Tangible Asset [Domain]",
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software."
       }
      }
     },
     "auth_ref": [
      "r153"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesInternalUseSoftwareDevelopmentCostsDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofPropertyandEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property and equipment, useful life (in years)",
        "label": "Property, Plant and Equipment, Useful Life",
        "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProvisionForDoubtfulAccounts",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationAllowanceforCreditLossesDetails",
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Provision for credit losses",
        "verboseLabel": "Additions to the reserves",
        "label": "Accounts Receivable, Credit Loss Expense (Reversal)",
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r237",
      "r362"
     ]
    },
    "us-gaap_PurchaseObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PurchaseObligation",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CommitmentsandContingenciesScheduleofPurchaseCommitmentsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://fastly.com/role/CommitmentsandContingenciesScheduleofPurchaseCommitmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total",
        "label": "Purchase Obligation",
        "documentation": "Minimum amount of purchase arrangement in which the entity has agreed to expend funds to procure goods or services from a supplier."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PurchaseObligationDueAfterFifthYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PurchaseObligationDueAfterFifthYear",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CommitmentsandContingenciesScheduleofPurchaseCommitmentsDetails": {
       "parentTag": "us-gaap_PurchaseObligation",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CommitmentsandContingenciesScheduleofPurchaseCommitmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Thereafter",
        "label": "Purchase Obligation, to be Paid, after Year Five",
        "documentation": "Amount of purchase arrangement to be paid after fifth fiscal year following current fiscal year. Includes, but is not limited to, recorded and unrecorded purchase obligations, long-term purchase commitment, and short-term purchase commitment. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PurchaseObligationDueInFifthYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PurchaseObligationDueInFifthYear",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CommitmentsandContingenciesScheduleofPurchaseCommitmentsDetails": {
       "parentTag": "us-gaap_PurchaseObligation",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CommitmentsandContingenciesScheduleofPurchaseCommitmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2028",
        "label": "Purchase Obligation, to be Paid, Year Five",
        "documentation": "Amount of purchase arrangement to be paid in fifth fiscal year following current fiscal year. Includes, but is not limited to, recorded and unrecorded purchase obligations, long-term purchase commitment, and short-term purchase commitment. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PurchaseObligationDueInFourthYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PurchaseObligationDueInFourthYear",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CommitmentsandContingenciesScheduleofPurchaseCommitmentsDetails": {
       "parentTag": "us-gaap_PurchaseObligation",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CommitmentsandContingenciesScheduleofPurchaseCommitmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2027",
        "label": "Purchase Obligation, to be Paid, Year Four",
        "documentation": "Amount of purchase arrangement to be paid in fourth fiscal year following current fiscal year. Includes, but is not limited to, recorded and unrecorded purchase obligations, long-term purchase commitment, and short-term purchase commitment. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PurchaseObligationDueInNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PurchaseObligationDueInNextTwelveMonths",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CommitmentsandContingenciesScheduleofPurchaseCommitmentsDetails": {
       "parentTag": "us-gaap_PurchaseObligation",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CommitmentsandContingenciesScheduleofPurchaseCommitmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2024",
        "label": "Purchase Obligation, to be Paid, Year One",
        "documentation": "Amount of purchase arrangement to be paid in next fiscal year following current fiscal year. Includes, but is not limited to, recorded and unrecorded purchase obligations, long-term purchase commitment, and short-term purchase commitment. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PurchaseObligationDueInSecondYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PurchaseObligationDueInSecondYear",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CommitmentsandContingenciesScheduleofPurchaseCommitmentsDetails": {
       "parentTag": "us-gaap_PurchaseObligation",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CommitmentsandContingenciesScheduleofPurchaseCommitmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2025",
        "label": "Purchase Obligation, to be Paid, Year Two",
        "documentation": "Amount of purchase arrangement to be paid in second fiscal year following current fiscal year. Includes, but is not limited to, recorded and unrecorded purchase obligations, long-term purchase commitment, and short-term purchase commitment. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PurchaseObligationDueInThirdYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PurchaseObligationDueInThirdYear",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CommitmentsandContingenciesScheduleofPurchaseCommitmentsDetails": {
       "parentTag": "us-gaap_PurchaseObligation",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CommitmentsandContingenciesScheduleofPurchaseCommitmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2026",
        "label": "Purchase Obligation, to be Paid, Year Three",
        "documentation": "Amount of purchase arrangement to be paid in third fiscal year following current fiscal year. Includes, but is not limited to, recorded and unrecorded purchase obligations, long-term purchase commitment, and short-term purchase commitment. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_PvpTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PvpTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Pay vs Performance Disclosure",
        "label": "Pay vs Performance Disclosure [Table]"
       }
      }
     },
     "auth_ref": [
      "r871"
     ]
    },
    "ecd_PvpTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PvpTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Pay vs Performance Disclosure, Table",
        "label": "Pay vs Performance [Table Text Block]"
       }
      }
     },
     "auth_ref": [
      "r871"
     ]
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeAxis",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsSeniorSecuredCreditFacilitiesAgreementDetails",
      "http://fastly.com/role/LeasesNarrativeDetails",
      "http://fastly.com/role/StockholdersEquityFairValueAssumptionsESPPDetails",
      "http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesAccountingforStockBasedCompensationDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesCostofRevenueDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesInternalUseSoftwareDevelopmentCostsDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofIntangibleAssetsDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofPropertyandEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statistical Measurement [Axis]",
        "label": "Statistical Measurement [Axis]"
       }
      }
     },
     "auth_ref": [
      "r390",
      "r391",
      "r392",
      "r393",
      "r466",
      "r473",
      "r503",
      "r504",
      "r505",
      "r612",
      "r636",
      "r666",
      "r697",
      "r698",
      "r750",
      "r752",
      "r754",
      "r755",
      "r757",
      "r778",
      "r779",
      "r791",
      "r799",
      "r812",
      "r819",
      "r822",
      "r990",
      "r996",
      "r1047",
      "r1048",
      "r1049",
      "r1050",
      "r1051"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeMember",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsSeniorSecuredCreditFacilitiesAgreementDetails",
      "http://fastly.com/role/LeasesNarrativeDetails",
      "http://fastly.com/role/StockholdersEquityFairValueAssumptionsESPPDetails",
      "http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesAccountingforStockBasedCompensationDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesCostofRevenueDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesInternalUseSoftwareDevelopmentCostsDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofIntangibleAssetsDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofPropertyandEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statistical Measurement [Domain]",
        "label": "Statistical Measurement [Domain]"
       }
      }
     },
     "auth_ref": [
      "r390",
      "r391",
      "r392",
      "r393",
      "r466",
      "r473",
      "r503",
      "r504",
      "r505",
      "r612",
      "r636",
      "r666",
      "r697",
      "r698",
      "r750",
      "r752",
      "r754",
      "r755",
      "r757",
      "r778",
      "r779",
      "r791",
      "r799",
      "r812",
      "r819",
      "r822",
      "r990",
      "r996",
      "r1047",
      "r1048",
      "r1049",
      "r1050",
      "r1051"
     ]
    },
    "fsly_ReceivableRelatedToSharesOfRestrictedStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "ReceivableRelatedToSharesOfRestrictedStock",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Receivable related to shares of restricted stock",
        "label": "Receivable Related to Shares of Restricted Stock",
        "documentation": "Receivable Related to Shares of Restricted Stock"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward",
     "presentation": [
      "http://fastly.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unrecognized Tax Benefits:",
        "label": "Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RecordedUnconditionalPurchaseObligationByCategoryOfItemPurchasedAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RecordedUnconditionalPurchaseObligationByCategoryOfItemPurchasedAxis",
     "presentation": [
      "http://fastly.com/role/CommitmentsandContingenciesScheduleofPurchaseCommitmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Recorded Unconditional Purchase Obligation by Category of Item Purchased [Axis]",
        "label": "Recorded Unconditional Purchase Obligation by Category of Item Purchased [Axis]",
        "documentation": "Pertinent information about recorded unconditional purchase arrangements to acquire goods or services, by category of goods or services."
       }
      }
     },
     "auth_ref": [
      "r389"
     ]
    },
    "ecd_RecoveryOfErrCompDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RecoveryOfErrCompDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r837",
      "r849",
      "r859",
      "r885"
     ]
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchAndDevelopmentExpense",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Research and development",
        "label": "Research and Development Expense",
        "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use."
       }
      }
     },
     "auth_ref": [
      "r118",
      "r521",
      "r1052"
     ]
    },
    "us-gaap_ResearchAndDevelopmentExpenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchAndDevelopmentExpenseMember",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityStockbasedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Research and development",
        "label": "Research and Development Expense [Member]",
        "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ResearchAndDevelopmentExpensePolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchAndDevelopmentExpensePolicy",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Research and Development Costs",
        "label": "Research and Development Expense, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for costs it has incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process."
       }
      }
     },
     "auth_ref": [
      "r520"
     ]
    },
    "us-gaap_ResearchMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchMember",
     "presentation": [
      "http://fastly.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Research Tax Credit Carryforward",
        "label": "Research Tax Credit Carryforward [Member]",
        "documentation": "Research tax credit carryforwards arising from certain qualifying expenditures incurred to develop new products and processes."
       }
      }
     },
     "auth_ref": [
      "r91"
     ]
    },
    "ecd_RestatementDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RestatementDateAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restatement Determination Date:",
        "label": "Restatement Determination Date [Axis]"
       }
      }
     },
     "auth_ref": [
      "r838",
      "r850",
      "r860",
      "r886"
     ]
    },
    "ecd_RestatementDeterminationDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RestatementDeterminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restatement Determination Date",
        "label": "Restatement Determination Date"
       }
      }
     },
     "auth_ref": [
      "r839",
      "r851",
      "r861",
      "r887"
     ]
    },
    "ecd_RestatementDoesNotRequireRecoveryTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RestatementDoesNotRequireRecoveryTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restatement does not require Recovery",
        "label": "Restatement Does Not Require Recovery [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r846",
      "r858",
      "r868",
      "r894"
     ]
    },
    "us-gaap_RestrictedCash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedCash",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsNarrativeDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesRestrictedCashDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted cash",
        "label": "Restricted Cash",
        "documentation": "Amount of cash restricted as to withdrawal or usage. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits."
       }
      }
     },
     "auth_ref": [
      "r931",
      "r941",
      "r1053",
      "r1056"
     ]
    },
    "us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedCashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails": {
       "parentTag": "us-gaap_AssetsFairValueDisclosure",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted cash, current",
        "label": "Restricted Cash and Cash Equivalents, Current",
        "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as current. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r49",
      "r208",
      "r245"
     ]
    },
    "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember",
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails",
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAvailableForSaleInvestmentsDetails",
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash and Cash Equivalents [Domain]",
        "label": "Cash and Cash Equivalents [Domain]",
        "documentation": "Type of cash and cash equivalent. Cash is currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r208"
     ]
    },
    "us-gaap_RestrictedCashCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedCashCurrent",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted cash",
        "label": "Restricted Cash, Current",
        "documentation": "Amount of cash restricted as to withdrawal or usage, classified as current. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits."
       }
      }
     },
     "auth_ref": [
      "r931",
      "r941"
     ]
    },
    "us-gaap_RestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedCashEquivalents",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted cash included in other assets",
        "label": "Restricted Cash Equivalents",
        "documentation": "Amount of cash equivalents restricted as to withdrawal or usage. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r765",
      "r766",
      "r941",
      "r1053",
      "r1056"
     ]
    },
    "us-gaap_RestrictedStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedStockMember",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY",
      "http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "RSAs",
        "label": "Restricted Stock [Member]",
        "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met."
       }
      }
     },
     "auth_ref": [
      "r55"
     ]
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedStockUnitsRSUMember",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY",
      "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails",
      "http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails",
      "http://fastly.com/role/StockholdersEquityScheduleofRSURSAPSUandMPSUActivityDetails",
      "http://fastly.com/role/StockholdersEquityStockOptionsNarrativeDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "RSUs",
        "verboseLabel": "RSUs",
        "label": "Restricted Stock Units (RSUs) [Member]",
        "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated deficit",
        "label": "Retained Earnings (Accumulated Deficit)",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r126",
      "r163",
      "r651",
      "r670",
      "r672",
      "r680",
      "r708",
      "r817"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated Deficit",
        "label": "Retained Earnings [Member]",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r204",
      "r252",
      "r253",
      "r254",
      "r256",
      "r262",
      "r264",
      "r357",
      "r358",
      "r511",
      "r512",
      "r513",
      "r542",
      "r543",
      "r559",
      "r561",
      "r562",
      "r564",
      "r566",
      "r667",
      "r669",
      "r682",
      "r1064"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue from Contract with Customer [Abstract]",
        "label": "Revenue from Contract with Customer [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerIncludingAssessedTax",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS",
      "http://fastly.com/role/RevenueRevenuebyCustomerTypeDetails",
      "http://fastly.com/role/RevenueRevenuebyGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Revenue",
        "terseLabel": "Total revenue",
        "label": "Revenue from Contract with Customer, Including Assessed Tax",
        "documentation": "Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise."
       }
      }
     },
     "auth_ref": [
      "r292",
      "r293",
      "r304",
      "r308",
      "r309",
      "r315",
      "r317",
      "r319",
      "r461",
      "r462",
      "r637"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerPolicyTextBlock",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Incremental Costs to Obtain a Contract with a Customer and Revenue Recognition",
        "label": "Revenue from Contract with Customer [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for revenue from contract with customer."
       }
      }
     },
     "auth_ref": [
      "r202",
      "r453",
      "r454",
      "r455",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460",
      "r780"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "presentation": [
      "http://fastly.com/role/Revenue"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue",
        "label": "Revenue from Contract with Customer [Text Block]",
        "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts."
       }
      }
     },
     "auth_ref": [
      "r202",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449",
      "r450",
      "r451",
      "r452",
      "r465"
     ]
    },
    "us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
     "presentation": [
      "http://fastly.com/role/RevenueTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Revenue by Geographic Area",
        "label": "Revenue from External Customers by Geographic Areas [Table Text Block]",
        "documentation": "Tabular disclosure of revenue from external customers by geographic areas attributed to the entity's country of domicile and to foreign countries from which the entity derives revenue."
       }
      }
     },
     "auth_ref": [
      "r25"
     ]
    },
    "us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenuePerformanceObligationDescriptionOfPaymentTerms",
     "presentation": [
      "http://fastly.com/role/RevenueNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue, performance obligation, description of payment terms",
        "label": "Revenue, Performance Obligation, Description of Payment Terms",
        "documentation": "Description of payment terms in contract with customer. Includes, but is not limited to, timing of payment, existence of financing component, variability of consideration and constraint on variable consideration."
       }
      }
     },
     "auth_ref": [
      "r447"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligation",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/RevenueRemainingPerformanceObligationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Remaining performance obligation",
        "label": "Revenue, Remaining Performance Obligation, Amount",
        "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue."
       }
      }
     },
     "auth_ref": [
      "r196"
     ]
    },
    "fsly_RevenueRemainingPerformanceObligationAmountAccrued": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "RevenueRemainingPerformanceObligationAmountAccrued",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/RevenueRemainingPerformanceObligationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Remaining performance obligations accrued",
        "label": "Revenue, Remaining Performance Obligation, Amount Accrued",
        "documentation": "Revenue, Remaining Performance Obligation, Amount Accrued"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems",
     "presentation": [
      "http://fastly.com/role/RevenueRemainingPerformanceObligationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1",
     "presentation": [
      "http://fastly.com/role/RevenueRemainingPerformanceObligationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Remaining performance obligation, expected time period of recognition",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period",
        "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r197"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis",
     "presentation": [
      "http://fastly.com/role/RevenueRemainingPerformanceObligationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]",
        "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": [
      "r197"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable",
     "presentation": [
      "http://fastly.com/role/RevenueRemainingPerformanceObligationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]",
        "documentation": "Disclosure of information about expected timing for satisfying remaining performance obligation."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueRemainingPerformanceObligationPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligationPercentage",
     "presentation": [
      "http://fastly.com/role/RevenueRemainingPerformanceObligationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Remaining performance obligation, percentage",
        "label": "Revenue, Remaining Performance Obligation, Percentage",
        "documentation": "Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue."
       }
      }
     },
     "auth_ref": [
      "r914"
     ]
    },
    "fsly_RevenueWithCustomerDurationOfContracts": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "RevenueWithCustomerDurationOfContracts",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesCostofRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Typical duration of contracts (in years)",
        "label": "Revenue With Customer, Duration Of Contracts",
        "documentation": "Revenue With Customer, Duration Of Contracts"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenuesFromExternalCustomersAndLongLivedAssetsLineItems",
     "presentation": [
      "http://fastly.com/role/InformationAboutRevenueandGeographicAreasDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenues from External Customers and Long-Lived Assets [Line Items]",
        "label": "Revenues from External Customers and Long-Lived Assets [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "fsly_RevestSharesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "RevestSharesMember",
     "presentation": [
      "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revest shares",
        "label": "Revest Shares [Member]",
        "documentation": "Revest Shares"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_RichardDanielsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "RichardDanielsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Richard Daniels [Member]",
        "documentation": "Richard Daniels"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Assets obtained in exchange for finance lease obligations",
        "label": "Right-of-Use Asset Obtained in Exchange for Finance Lease Liability",
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for finance lease liability."
       }
      }
     },
     "auth_ref": [
      "r598",
      "r816"
     ]
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Assets obtained in exchange for operating lease obligations",
        "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability",
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r598",
      "r816"
     ]
    },
    "fsly_RonaldKislingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "RonaldKislingMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ronald Kisling [Member]",
        "documentation": "Ronald Kisling"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_Rule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Rule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Rule 10b5-1 Arrangement Adopted",
        "label": "Rule 10b5-1 Arrangement Adopted [Flag]"
       }
      }
     },
     "auth_ref": [
      "r903"
     ]
    },
    "ecd_Rule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Rule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Rule 10b5-1 Arrangement Terminated",
        "label": "Rule 10b5-1 Arrangement Terminated [Flag]"
       }
      }
     },
     "auth_ref": [
      "r903"
     ]
    },
    "fsly_SVBRevolverMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "SVBRevolverMember",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsSeniorSecuredCreditFacilitiesAgreementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "SVB Revolver",
        "label": "SVB Revolver [Member]",
        "documentation": "SVB Revolver"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SaleOfStockNameOfTransactionDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SaleOfStockNameOfTransactionDomain",
     "presentation": [
      "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofComputationofBasicandDilutedNetLossPerShareofCommonStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Sale of Stock [Domain]",
        "label": "Sale of Stock [Domain]",
        "documentation": "Sale of the entity's stock, including, but not limited to, initial public offering (IPO) and private placement."
       }
      }
     },
     "auth_ref": []
    },
    "fsly_SalesAndExciseTaxPayableCurrentExcludingNormalActivity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "SalesAndExciseTaxPayableCurrentExcludingNormalActivity",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/CommitmentsandContingenciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Sales and use tax",
        "label": "Sales and Excise Tax Payable, Current, Excluding Normal Activity",
        "documentation": "Sales and Excise Tax Payable, Current, Excluding Normal Activity"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SalesRevenueNetMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SalesRevenueNetMember",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesConcentrationsofCreditRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue",
        "label": "Revenue Benchmark [Member]",
        "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation."
       }
      }
     },
     "auth_ref": [
      "r319",
      "r915"
     ]
    },
    "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock",
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Accrued Expenses",
        "label": "Schedule of Accrued Liabilities [Table Text Block]",
        "documentation": "Tabular disclosure of the components of accrued liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Accumulated Other Comprehensive Loss",
        "label": "Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block]",
        "documentation": "Tabular disclosure of the components of accumulated other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r44",
      "r1037",
      "r1038"
     ]
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable",
     "presentation": [
      "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]",
        "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]",
        "documentation": "Schedule for securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by Antidilutive Securities."
       }
      }
     },
     "auth_ref": [
      "r55"
     ]
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
     "presentation": [
      "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Antidilutive Securities Excluded from Computation of Net Loss Per Share",
        "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]",
        "documentation": "Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities."
       }
      }
     },
     "auth_ref": [
      "r55"
     ]
    },
    "us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAvailableForSaleSecuritiesLineItems",
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAvailableForSaleInvestmentsDetails",
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt Securities, Available-for-sale [Line Items]",
        "label": "Debt Securities, Available-for-Sale [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337"
     ]
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable",
     "presentation": [
      "http://fastly.com/role/BusinessCombinationsNarrativeDetails",
      "http://fastly.com/role/BusinessCombinationsScheduleofIdentifiableFiniteLivedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Business Acquisitions, by Acquisition [Table]",
        "label": "Schedule of Business Acquisitions, by Acquisition [Table]",
        "documentation": "Schedule reflecting each material business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities."
       }
      }
     },
     "auth_ref": [
      "r96",
      "r98",
      "r553"
     ]
    },
    "us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock",
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Cash, Cash Equivalents, and Marketable Securities",
        "label": "Cash, Cash Equivalents and Investments [Table Text Block]",
        "documentation": "Tabular disclosure of the components of cash, cash equivalents, and investments."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "presentation": [
      "http://fastly.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Income Tax Expense (Benefit)",
        "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]",
        "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years."
       }
      }
     },
     "auth_ref": [
      "r169"
     ]
    },
    "us-gaap_ScheduleOfDebtTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfDebtTableTextBlock",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Carrying Values of Debt Agreements",
        "label": "Schedule of Debt [Table Text Block]",
        "documentation": "Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "presentation": [
      "http://fastly.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Deferred Tax Assets and Liabilities",
        "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]",
        "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r168"
     ]
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "presentation": [
      "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Net Loss Per Share, Basic and Diluted",
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r950"
     ]
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "presentation": [
      "http://fastly.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Effective Tax Rate Reconciliation",
        "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]",
        "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r167"
     ]
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Stock-Based Compensation Expense",
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]",
        "documentation": "Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement."
       }
      }
     },
     "auth_ref": [
      "r87"
     ]
    },
    "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Financial Assets and Liabilities Measured and Recorded at Fair Value on a Recurring Basis",
        "label": "Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]",
        "documentation": "Tabular disclosure of assets and liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3)."
       }
      }
     },
     "auth_ref": [
      "r570",
      "r571"
     ]
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable",
     "presentation": [
      "http://fastly.com/role/GoodwillandIntangibleAssetsNarrativeDetails",
      "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofIntangibleAssetsNetDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Finite-Lived Intangible Assets [Table]",
        "label": "Schedule of Finite-Lived Intangible Assets [Table]",
        "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r69",
      "r71",
      "r638"
     ]
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
     "presentation": [
      "http://fastly.com/role/GoodwillandIntangibleAssetsTables",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Intangible Assets",
        "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]",
        "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment."
       }
      }
     },
     "auth_ref": [
      "r69",
      "r71"
     ]
    },
    "us-gaap_ScheduleOfGoodwillTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfGoodwillTextBlock",
     "presentation": [
      "http://fastly.com/role/GoodwillandIntangibleAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Changes in the Carrying Amount of Goodwill",
        "label": "Schedule of Goodwill [Table Text Block]",
        "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule."
       }
      }
     },
     "auth_ref": [
      "r793",
      "r976",
      "r977",
      "r978",
      "r979",
      "r980",
      "r981",
      "r982",
      "r983",
      "r984",
      "r985",
      "r986"
     ]
    },
    "us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
     "presentation": [
      "http://fastly.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Loss Before Income Taxes",
        "label": "Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]",
        "documentation": "Tabular disclosure of income before income tax between domestic and foreign jurisdictions."
       }
      }
     },
     "auth_ref": [
      "r945"
     ]
    },
    "us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfOtherAssetsNoncurrentTextBlock",
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Other Assets",
        "label": "Schedule of Other Assets, Noncurrent [Table Text Block]",
        "documentation": "Tabular disclosure of noncurrent assets."
       }
      }
     },
     "auth_ref": [
      "r932"
     ]
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationNarrativeDetails",
      "http://fastly.com/role/BalanceSheetInformationPropertyandequipmentDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesInternalUseSoftwareDevelopmentCostsDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofPropertyandEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property, Plant and Equipment [Table]",
        "label": "Property, Plant and Equipment [Table]",
        "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r13"
     ]
    },
    "us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock",
     "presentation": [
      "http://fastly.com/role/RevenueTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Revenue by Customer Type",
        "label": "Schedule of Revenue by Major Customers by Reporting Segments [Table Text Block]",
        "documentation": "Tabular disclosure of the extent of the entity's reliance on its major customers, if revenues from transactions with a single external customer amount to 10 percent or more of entity revenues, including the disclosure of that fact, the total amount of revenues from each such customer, and the identity of the reportable segment or segments reporting the revenues. The entity need not disclose the identity of a major customer or the amount of revenues that each segment reports from that customer. For these purposes, a group of companies known to the entity to be under common control is considered a single customer, and the federal government, a state government, a local government such as a county or municipality, or a foreign government is each considered a single customer."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable",
     "presentation": [
      "http://fastly.com/role/InformationAboutRevenueandGeographicAreasDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]",
        "label": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]",
        "documentation": "Schedule of material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material. An entity may also provide subtotals of geographic information about groups of countries."
       }
      }
     },
     "auth_ref": [
      "r66",
      "r131"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardRestrictedStockUnitsVestedAndExpectedToVestTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardRestrictedStockUnitsVestedAndExpectedToVestTableTextBlock",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Restricted Stock Units and Restricted Stock Awards",
        "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Restricted Stock Units, Vested and Expected to Vest [Table Text Block]",
        "documentation": "Tabular disclosure of number, weighted-average exercise price or conversion ratio, aggregate intrinsic value, and weighted-average remaining contractual term for outstanding restricted stock units that are fully vested and expected to vest. Includes, but is not limited to, unvested restricted stock units for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r165"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityESPPDetails",
      "http://fastly.com/role/StockholdersEquityEarlyExerciseofStockDetails",
      "http://fastly.com/role/StockholdersEquityEarlyExerciseofStockOptionsDetails",
      "http://fastly.com/role/StockholdersEquityEquityAwardsModificationDetails",
      "http://fastly.com/role/StockholdersEquityEquityIncentivePlansDetails",
      "http://fastly.com/role/StockholdersEquityFairValueAssumptionsESPPDetails",
      "http://fastly.com/role/StockholdersEquityFairValueAssumptionsStockOptionsDetails",
      "http://fastly.com/role/StockholdersEquityMPSUDetails",
      "http://fastly.com/role/StockholdersEquityPerformanceBasedRestrictedStockUnitsPSUsDetails",
      "http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails",
      "http://fastly.com/role/StockholdersEquityScheduleofRSURSAPSUandMPSUActivityDetails",
      "http://fastly.com/role/StockholdersEquityStockOptionsNarrativeDetails",
      "http://fastly.com/role/StockholdersEquityStockbasedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]",
        "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]",
        "documentation": "Disclosure of information about share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r475",
      "r477",
      "r478",
      "r479",
      "r480",
      "r482",
      "r483",
      "r484",
      "r485",
      "r486",
      "r487",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r502",
      "r503",
      "r504",
      "r505",
      "r506"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Stock Option Activity",
        "label": "Share-Based Payment Arrangement, Option, Activity [Table Text Block]",
        "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value."
       }
      }
     },
     "auth_ref": [
      "r21",
      "r22",
      "r86"
     ]
    },
    "us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Employee Stock Purchase Plan Valuation Assumptions",
        "label": "Schedule of Share-Based Payment Award, Employee Stock Purchase Plan, Valuation Assumptions [Table Text Block]",
        "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of employee stock purchase plans, including, but not limited to: (a) expected term, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions."
       }
      }
     },
     "auth_ref": [
      "r166"
     ]
    },
    "us-gaap_ScheduleOfStockByClassTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfStockByClassTable",
     "presentation": [
      "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofComputationofBasicandDilutedNetLossPerShareofCommonStockDetails",
      "http://fastly.com/role/StockholdersEquityCommonStockWarrantLiabilitiesDetails",
      "http://fastly.com/role/StockholdersEquityCommonStockandPreferredStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Stock by Class [Table]",
        "label": "Schedule of Stock by Class [Table]",
        "documentation": "Schedule detailing information related to equity by class of stock. Class of stock includes common, convertible, and preferred stocks which are not redeemable or redeemable solely at the option of the issuer. It also includes preferred stock with redemption features that are solely within the control of the issuer and mandatorily redeemable stock if redemption is required to occur only upon liquidation or termination of the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r78",
      "r79",
      "r80",
      "r81",
      "r82",
      "r83",
      "r84",
      "r160",
      "r162",
      "r163",
      "r215",
      "r216",
      "r217",
      "r285",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r676",
      "r677",
      "r678",
      "r679",
      "r799",
      "r911",
      "r942"
     ]
    },
    "us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
     "presentation": [
      "http://fastly.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Unrecognized Tax Benefits",
        "label": "Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]",
        "documentation": "Tabular disclosure of the change in unrecognized tax benefits."
       }
      }
     },
     "auth_ref": [
      "r815",
      "r1029"
     ]
    },
    "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
     "presentation": [
      "http://fastly.com/role/GoodwillandIntangibleAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Expected Amortization Expense of Intangible Assets",
        "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]",
        "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets."
       }
      }
     },
     "auth_ref": [
      "r71"
     ]
    },
    "fsly_SecuredOvernightFinanceRateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "SecuredOvernightFinanceRateMember",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsSeniorSecuredCreditFacilitiesAgreementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Secured Overnight Finance Rate",
        "label": "Secured Overnight Finance Rate [Member]",
        "documentation": "Secured Overnight Finance Rate"
       }
      }
     },
     "auth_ref": []
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Security12bTitle",
     "presentation": [
      "http://fastly.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Title of 12(b) Security",
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r830"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://fastly.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Security Exchange Name",
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r833"
     ]
    },
    "srt_SegmentGeographicalDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "SegmentGeographicalDomain",
     "presentation": [
      "http://fastly.com/role/IncomeTaxesNarrativeDetails",
      "http://fastly.com/role/InformationAboutRevenueandGeographicAreasDetails",
      "http://fastly.com/role/RevenueRevenuebyGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Geographical [Domain]",
        "label": "Geographical [Domain]"
       }
      }
     },
     "auth_ref": [
      "r317",
      "r318",
      "r694",
      "r695",
      "r696",
      "r751",
      "r753",
      "r756",
      "r758",
      "r769",
      "r770",
      "r771",
      "r772",
      "r773",
      "r774",
      "r775",
      "r776",
      "r777",
      "r782",
      "r801",
      "r822",
      "r999",
      "r1057"
     ]
    },
    "us-gaap_SegmentReportingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Segment Reporting [Abstract]",
        "label": "Segment Reporting [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingDisclosureTextBlock",
     "presentation": [
      "http://fastly.com/role/InformationAboutRevenueandGeographicAreas"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Information About Revenue and Geographic Areas",
        "label": "Segment Reporting Disclosure [Text Block]",
        "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments."
       }
      }
     },
     "auth_ref": [
      "r287",
      "r288",
      "r289",
      "r290",
      "r291",
      "r297",
      "r307",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r319"
     ]
    },
    "us-gaap_SegmentReportingPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingPolicyPolicyTextBlock",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Segments",
        "label": "Segment Reporting, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for segment reporting."
       }
      }
     },
     "auth_ref": [
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r317",
      "r790"
     ]
    },
    "us-gaap_SellingAndMarketingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SellingAndMarketingExpense",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Sales and marketing",
        "label": "Selling and Marketing Expense",
        "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SellingAndMarketingExpenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SellingAndMarketingExpenseMember",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityStockbasedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Sales and marketing",
        "label": "Selling and Marketing Expense [Member]",
        "documentation": "Primary financial statement caption encompassing selling and marketing expense."
       }
      }
     },
     "auth_ref": [
      "r134"
     ]
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-based compensation",
        "label": "Share-Based Payment Arrangement, Noncash Expense",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityEquityAwardsModificationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Expense related to modification",
        "label": "Share-Based Payment Arrangement, Accelerated Cost",
        "documentation": "Amount of additional cost recognized for award under share-based payment arrangement from occurrence of event accelerating recognition of cost."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesAccountingforStockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Requisite service period (in years)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Requisite Service Period",
        "documentation": "Estimated period over which an employee is required to provide service in exchange for the equity-based payment award, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r813"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails",
      "http://fastly.com/role/StockholdersEquityStockOptionsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Award vesting period",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period",
        "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition."
       }
      }
     },
     "auth_ref": [
      "r813"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityScheduleofRSURSAPSUandMPSUActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Cancelled/forfeited (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period",
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r495"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityScheduleofRSURSAPSUandMPSUActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cancelled/forfeited (in dollars per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value",
        "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event."
       }
      }
     },
     "auth_ref": [
      "r495"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityScheduleofRSURSAPSUandMPSUActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Granted (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period",
        "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)."
       }
      }
     },
     "auth_ref": [
      "r493"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails",
      "http://fastly.com/role/StockholdersEquityScheduleofRSURSAPSUandMPSUActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Granted (in dollars per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)."
       }
      }
     },
     "auth_ref": [
      "r493"
     ]
    },
    "fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedAndSoldNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedAndSoldNumber",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Nonvested shares sold that remain unvested (in shares)",
        "label": "Share-Based Compensation Arrangement By Share-based Payment Award, Equity Instruments Other Than Options, Nonvested And Sold, Number",
        "documentation": "Share-Based Compensation Arrangement By Share-based Payment Award, Equity Instruments Other Than Options, Nonvested And Sold, Number"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityScheduleofRSURSAPSUandMPSUActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Beginning balance (in shares)",
        "periodEndLabel": "Ending balance (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number",
        "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date."
       }
      }
     },
     "auth_ref": [
      "r490",
      "r491"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityScheduleofRSURSAPSUandMPSUActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Beginning balance (in dollars per share)",
        "periodEndLabel": "Ending balance (in dollars per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value",
        "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options."
       }
      }
     },
     "auth_ref": [
      "r490",
      "r491"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityScheduleofRSURSAPSUandMPSUActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted-Average Grant Date Fair Value Per Share",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsProceedsFromNonvestedSharesSold": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsProceedsFromNonvestedSharesSold",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Proceeds from nonvested shares sold",
        "label": "Share-Based Compensation Arrangement By Share-based Payment Award, Equity Instruments Other Than Options, Proceeds From Nonvested Shares Sold",
        "documentation": "Share-Based Compensation Arrangement By Share-based Payment Award, Equity Instruments Other Than Options, Proceeds From Nonvested Shares Sold"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityScheduleofRSURSAPSUandMPSUActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Vested (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period",
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r494"
     ]
    },
    "fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodGrantDateFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodGrantDateFairValue",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vested in period, grant date fair value",
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Equity Instruments Other Than Options, Vested In Period, Grant Date Fair Value",
        "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Equity Instruments Other Than Options, Vested In Period, Grant Date Fair Value"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityScheduleofRSURSAPSUandMPSUActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vested (in dollars per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value",
        "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement."
       }
      }
     },
     "auth_ref": [
      "r494"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityFairValueAssumptionsESPPDetails",
      "http://fastly.com/role/StockholdersEquityFairValueAssumptionsStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Dividend yield",
        "terseLabel": "Dividend yield",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Rate",
        "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term."
       }
      }
     },
     "auth_ref": [
      "r504"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityFairValueAssumptionsStockOptionsDetails",
      "http://fastly.com/role/StockholdersEquityMPSUDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Expected volatility",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate",
        "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period."
       }
      }
     },
     "auth_ref": [
      "r503"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityFairValueAssumptionsESPPDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Expected volatility, maximum",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Maximum",
        "documentation": "The estimated measure of the maximum percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityFairValueAssumptionsESPPDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Expected volatility, minimum",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Minimum",
        "documentation": "The estimated measure of the minimum percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityFairValueAssumptionsStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Risk-free interest rate",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate",
        "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares."
       }
      }
     },
     "auth_ref": [
      "r505"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityFairValueAssumptionsESPPDetails",
      "http://fastly.com/role/StockholdersEquityMPSUDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Risk-free interest rate, maximum",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Maximum",
        "documentation": "The maximum risk-free interest rate assumption that is used in valuing an option on its own shares."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityFairValueAssumptionsESPPDetails",
      "http://fastly.com/role/StockholdersEquityMPSUDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Risk-free interest rate, minimum",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Minimum",
        "documentation": "The minimum risk-free interest rate assumption that is used in valuing an option on its own shares."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityESPPDetails",
      "http://fastly.com/role/StockholdersEquityEarlyExerciseofStockDetails",
      "http://fastly.com/role/StockholdersEquityEarlyExerciseofStockOptionsDetails",
      "http://fastly.com/role/StockholdersEquityEquityAwardsModificationDetails",
      "http://fastly.com/role/StockholdersEquityEquityIncentivePlansDetails",
      "http://fastly.com/role/StockholdersEquityFairValueAssumptionsESPPDetails",
      "http://fastly.com/role/StockholdersEquityFairValueAssumptionsStockOptionsDetails",
      "http://fastly.com/role/StockholdersEquityMPSUDetails",
      "http://fastly.com/role/StockholdersEquityPerformanceBasedRestrictedStockUnitsPSUsDetails",
      "http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails",
      "http://fastly.com/role/StockholdersEquityScheduleofRSURSAPSUandMPSUActivityDetails",
      "http://fastly.com/role/StockholdersEquityStockOptionsNarrativeDetails",
      "http://fastly.com/role/StockholdersEquityStockbasedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r475",
      "r477",
      "r478",
      "r479",
      "r480",
      "r482",
      "r483",
      "r484",
      "r485",
      "r486",
      "r487",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r502",
      "r503",
      "r504",
      "r505",
      "r506"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityESPPDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Maximum deduction percentage of eligible compensation",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Maximum Employee Subscription Rate",
        "documentation": "The highest percentage of annual salary that an employee is permitted to utilize with respect to the plan."
       }
      }
     },
     "auth_ref": [
      "r85"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityEquityIncentivePlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, shares available for future issuance (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant",
        "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable."
       }
      }
     },
     "auth_ref": [
      "r85"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock Option Activity, Additional Disclosures",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Additional Disclosures [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityStockOptionsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Pre-tax intrinsic value",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value",
        "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares."
       }
      }
     },
     "auth_ref": [
      "r497"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Forfeited (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period",
        "documentation": "For presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired."
       }
      }
     },
     "auth_ref": [
      "r1007"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Forfeited, weighted average exercise price (in dollars per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price",
        "documentation": "Weighted average price of options that were either forfeited or expired."
       }
      }
     },
     "auth_ref": [
      "r1007"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Granted (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross",
        "documentation": "Gross number of share options (or share units) granted during the period."
       }
      }
     },
     "auth_ref": [
      "r486"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityStockOptionsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted-average grant date fair value (in dollars per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology."
       }
      }
     },
     "auth_ref": [
      "r496"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Aggregate intrinsic value",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value",
        "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding."
       }
      }
     },
     "auth_ref": [
      "r85"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Options outstanding, beginning balance (in shares)",
        "periodEndLabel": "Options outstanding, ending balance (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number",
        "documentation": "Number of options outstanding, including both vested and non-vested options."
       }
      }
     },
     "auth_ref": [
      "r482",
      "r483"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityScheduleofRSURSAPSUandMPSUActivityDetails",
      "http://fastly.com/role/StockholdersEquityStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of Shares",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward]",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Options outstanding, weighted average exercise price, beginning of period (in dollars per share)",
        "periodEndLabel": "Options outstanding, end of period (in dollars per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price",
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan."
       }
      }
     },
     "auth_ref": [
      "r482",
      "r483"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted-Average\u00a0 Exercise Price",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vested and exercisable, aggregate intrinsic value",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Aggregate Intrinsic Value",
        "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest exercisable or convertible options. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r499"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Options vested and exercisable (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Number",
        "documentation": "Number of fully vested and expected to vest exercisable options that may be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r499"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vested and exercisable, weighted-average exercise price (in dollars per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Exercise Price",
        "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest exercisable or convertible options. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r499"
     ]
    },
    "fsly_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestingOfEarlyExercisedStockOptionsNumberOfShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestingOfEarlyExercisedStockOptionsNumberOfShares",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vesting of early exercised stock options (in shares)",
        "label": "Share-based Compensation Arrangement By Share-based Payment Award, Options, Vesting Of Early Exercised Stock Options, Number Of Shares",
        "documentation": "Share-based Compensation Arrangement By Share-based Payment Award, Options, Vesting Of Early Exercised Stock Options, Number Of Shares"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCost",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Incremental cost due to plan modification",
        "label": "Share-Based Payment Arrangement, Plan Modification, Incremental Cost",
        "documentation": "An excess of the fair value of the modified award over the fair value of the award immediately before the modification."
       }
      }
     },
     "auth_ref": [
      "r509"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY",
      "http://fastly.com/role/StockholdersEquityCommonStockWarrantLiabilitiesDetails",
      "http://fastly.com/role/StockholdersEquityESPPDetails",
      "http://fastly.com/role/StockholdersEquityEarlyExerciseofStockDetails",
      "http://fastly.com/role/StockholdersEquityEarlyExerciseofStockOptionsDetails",
      "http://fastly.com/role/StockholdersEquityEquityAwardsModificationDetails",
      "http://fastly.com/role/StockholdersEquityFairValueAssumptionsESPPDetails",
      "http://fastly.com/role/StockholdersEquityFairValueAssumptionsStockOptionsDetails",
      "http://fastly.com/role/StockholdersEquityMPSUDetails",
      "http://fastly.com/role/StockholdersEquityPerformanceBasedRestrictedStockUnitsPSUsDetails",
      "http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails",
      "http://fastly.com/role/StockholdersEquityScheduleofRSURSAPSUandMPSUActivityDetails",
      "http://fastly.com/role/StockholdersEquityStockOptionsNarrativeDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Award Type [Domain]",
        "label": "Award Type [Domain]",
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r478",
      "r479",
      "r480",
      "r482",
      "r483",
      "r484",
      "r485",
      "r486",
      "r487",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r502",
      "r503",
      "r504",
      "r505",
      "r506"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Exercised, weighted average exercise price (in dollars per share)",
        "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price",
        "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares."
       }
      }
     },
     "auth_ref": [
      "r487"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Granted, weighted-average exercise price (in dollars per share)",
        "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price",
        "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options."
       }
      }
     },
     "auth_ref": [
      "r486"
     ]
    },
    "us-gaap_ShareBasedCompensationAwardTrancheOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationAwardTrancheOneMember",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails",
      "http://fastly.com/role/StockholdersEquityStockOptionsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "First Year",
        "label": "Share-Based Payment Arrangement, Tranche One [Member]",
        "documentation": "First portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationAwardTrancheTwoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationAwardTrancheTwoMember",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails",
      "http://fastly.com/role/StockholdersEquityStockOptionsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Remaining Period",
        "label": "Share-Based Payment Arrangement, Tranche Two [Member]",
        "documentation": "Second portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounting for Stock-Based Compensation",
        "label": "Share-Based Payment Arrangement [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost."
       }
      }
     },
     "auth_ref": [
      "r474",
      "r481",
      "r500",
      "r501",
      "r502",
      "r503",
      "r506",
      "r514",
      "r515",
      "r516",
      "r517"
     ]
    },
    "fsly_ShareBasedPaymentArrangementNoncashAmountCapitalizedIntoInternalUseSoftware": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "ShareBasedPaymentArrangementNoncashAmountCapitalizedIntoInternalUseSoftware",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-based compensation capitalized to internal-use software",
        "label": "Share-Based Payment Arrangement, Noncash, Amount Capitalized Into Internal Use Software",
        "documentation": "Share-Based Payment Arrangement, Noncash, Amount Capitalized Into Internal Use Software"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_ShareBasedPaymentArrangementPerformanceTargetAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "ShareBasedPaymentArrangementPerformanceTargetAxis",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityPerformanceBasedRestrictedStockUnitsPSUsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share-Based Payment Arrangement, Performance Target [Axis]",
        "label": "Share-Based Payment Arrangement, Performance Target [Axis]",
        "documentation": "Share-Based Payment Arrangement, Performance Target"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_ShareBasedPaymentArrangementPerformanceTargetDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "ShareBasedPaymentArrangementPerformanceTargetDomain",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityPerformanceBasedRestrictedStockUnitsPSUsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share-Based Payment Arrangement, Performance Target [Domain]",
        "label": "Share-Based Payment Arrangement, Performance Target [Domain]",
        "documentation": "Share-Based Payment Arrangement, Performance Target [Domain]"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_ShareBasedPaymentArrangementPlanModificationExerciseValueOfAwardsAffected": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "ShareBasedPaymentArrangementPlanModificationExerciseValueOfAwardsAffected",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityEarlyExerciseofStockDetails",
      "http://fastly.com/role/StockholdersEquityEarlyExerciseofStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Plan modification, exercise value of awards affected",
        "label": "Share-based Payment Arrangement, Plan Modification, Exercise Value Of Awards Affected",
        "documentation": "Share-based Payment Arrangement, Plan Modification, Exercise Value Of Awards Affected"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_ShareBasedPaymentArrangementPlanModificationNumberOfAwardsAffected": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "ShareBasedPaymentArrangementPlanModificationNumberOfAwardsAffected",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityEarlyExerciseofStockDetails",
      "http://fastly.com/role/StockholdersEquityEarlyExerciseofStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Plan modification, number of awards affected (in shares)",
        "label": "Share-based Payment Arrangement, Plan Modification, Number Of Awards Affected",
        "documentation": "Share-based Payment Arrangement, Plan Modification, Number Of Awards Affected"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharePrice",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityFairValueAssumptionsESPPDetails",
      "http://fastly.com/role/StockholdersEquityFairValueAssumptionsStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair value of common stock (in dollars per share)",
        "label": "Share Price",
        "documentation": "Price of a single share of a number of saleable stocks of a company."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails",
      "http://fastly.com/role/StockholdersEquityStockOptionsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Award vesting percentage per year",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Rights, Percentage",
        "documentation": "Percentage of vesting of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1001"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityStockOptionsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Award expiration period",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Expiration Period",
        "documentation": "Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r814"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityFairValueAssumptionsESPPDetails",
      "http://fastly.com/role/StockholdersEquityFairValueAssumptionsStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Expected term (in years)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Term",
        "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r502"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityEarlyExerciseofStockDetails",
      "http://fastly.com/role/StockholdersEquityEarlyExerciseofStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shares subject to repurchase (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Nonvested, Number of Shares",
        "documentation": "Number of non-vested options outstanding."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Weighted-average remaining contractual period",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term",
        "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r165"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vested and exercisable, weighted average contractual term",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Remaining Contractual Term",
        "documentation": "Weighted average remaining contractual term for fully vested and expected to vest exercisable or convertible options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r499"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityStockOptionsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vesting of early exercised stock options",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested in Period, Fair Value",
        "documentation": "Fair value of options vested. Excludes equity instruments other than options, for example, but not limited to, share units, stock appreciation rights, restricted stock."
       }
      }
     },
     "auth_ref": [
      "r497"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityESPPDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Purchase price of common stock, percentage of fair value",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Purchase Price of Common Stock, Percent",
        "documentation": "Purchase price of common stock expressed as a percentage of its fair value."
       }
      }
     },
     "auth_ref": []
    },
    "fsly_SharebasedCompensationArrangementbySharebasedPaymentAwardStockPlanOfferingPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "SharebasedCompensationArrangementbySharebasedPaymentAwardStockPlanOfferingPeriod",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityESPPDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock plan offering period",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Stock Plan Offering Period",
        "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Stock Plan Offering Period"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareholdersEquityAndShareBasedPaymentsTextBlock",
     "presentation": [
      "http://fastly.com/role/StockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stockholders' Equity",
        "label": "Shareholders' Equity and Share-Based Payments [Text Block]",
        "documentation": "The entire disclosure for shareholders' equity and share-based payment arrangement. Includes, but is not limited to, disclosure of policy and terms of share-based payment arrangement, deferred compensation arrangement, and employee stock purchase plan (ESPP)."
       }
      }
     },
     "auth_ref": [
      "r159",
      "r164"
     ]
    },
    "fsly_SharesHeldBackForRestrictedStockAwardsRevestingPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "SharesHeldBackForRestrictedStockAwardsRevestingPeriod",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shares held back for restricted stock awards, revesting period",
        "label": "Shares Held Back For Restricted Stock Awards, Revesting Period",
        "documentation": "Shares Held Back For Restricted Stock Awards, Revesting Period"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_SignalSciences2014EquityStockOptionsPlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "SignalSciences2014EquityStockOptionsPlanMember",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityEquityIncentivePlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Signal Sciences 2014 Equity Stock Options Plan",
        "label": "Signal Sciences 2014 Equity Stock Options Plan [Member]",
        "documentation": "Signal Sciences 2014 Equity Stock Options Plan"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_SignalSciencesCorpMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "SignalSciencesCorpMember",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Signal Sciences Corp",
        "label": "Signal Sciences Corp [Member]",
        "documentation": "Signal Sciences Corp"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SignificantAccountingPoliciesTextBlock",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of Significant Accounting Policies",
        "label": "Significant Accounting Policies [Text Block]",
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r147",
      "r246"
     ]
    },
    "us-gaap_SoftwareDevelopmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SoftwareDevelopmentMember",
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationNarrativeDetails",
      "http://fastly.com/role/BalanceSheetInformationPropertyandequipmentDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesInternalUseSoftwareDevelopmentCostsDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofPropertyandEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Internal-use software",
        "label": "Software Development [Member]",
        "documentation": "Internally developed software for sale, licensing or long-term internal use."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StateAndLocalJurisdictionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StateAndLocalJurisdictionMember",
     "presentation": [
      "http://fastly.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "State",
        "label": "State and Local Jurisdiction [Member]",
        "documentation": "Designated tax department of a state or local government entitled to levy and collect income taxes from the entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementClassOfStockAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementClassOfStockAxis",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY",
      "http://fastly.com/role/DebtInstrumentsConvertibleSeniorNotesDetails",
      "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofComputationofBasicandDilutedNetLossPerShareofCommonStockDetails",
      "http://fastly.com/role/StockholdersEquityCommonStockandPreferredStockDetails",
      "http://fastly.com/role/StockholdersEquityESPPDetails",
      "http://fastly.com/role/StockholdersEquityEarlyExerciseofStockDetails",
      "http://fastly.com/role/StockholdersEquityEarlyExerciseofStockOptionsDetails",
      "http://fastly.com/role/StockholdersEquityEquityIncentivePlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Class of Stock [Axis]",
        "label": "Class of Stock [Axis]",
        "documentation": "Information by the different classes of stock of the entity."
       }
      }
     },
     "auth_ref": [
      "r203",
      "r215",
      "r216",
      "r217",
      "r248",
      "r269",
      "r270",
      "r277",
      "r279",
      "r285",
      "r286",
      "r356",
      "r394",
      "r396",
      "r397",
      "r398",
      "r401",
      "r402",
      "r434",
      "r435",
      "r437",
      "r438",
      "r440",
      "r573",
      "r676",
      "r677",
      "r678",
      "r679",
      "r682",
      "r683",
      "r684",
      "r685",
      "r686",
      "r687",
      "r688",
      "r689",
      "r690",
      "r691",
      "r692",
      "r693",
      "r707",
      "r728",
      "r747",
      "r759",
      "r760",
      "r761",
      "r762",
      "r763",
      "r911",
      "r942",
      "r949"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationAccumulatedOtherComprehensiveIncomeLossDetails",
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY",
      "http://fastly.com/role/StockholdersEquityESPPDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Equity Components [Axis]",
        "label": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r42",
      "r204",
      "r231",
      "r232",
      "r233",
      "r252",
      "r253",
      "r254",
      "r256",
      "r262",
      "r264",
      "r284",
      "r357",
      "r358",
      "r441",
      "r511",
      "r512",
      "r513",
      "r542",
      "r543",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r566",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r602",
      "r667",
      "r668",
      "r669",
      "r682",
      "r747"
     ]
    },
    "srt_StatementGeographicalAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "StatementGeographicalAxis",
     "presentation": [
      "http://fastly.com/role/IncomeTaxesNarrativeDetails",
      "http://fastly.com/role/InformationAboutRevenueandGeographicAreasDetails",
      "http://fastly.com/role/RevenueRevenuebyGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Geographical [Axis]",
        "label": "Geographical [Axis]"
       }
      }
     },
     "auth_ref": [
      "r317",
      "r318",
      "r694",
      "r695",
      "r696",
      "r751",
      "r753",
      "r756",
      "r758",
      "r764",
      "r769",
      "r770",
      "r771",
      "r772",
      "r773",
      "r774",
      "r775",
      "r776",
      "r777",
      "r782",
      "r801",
      "r822",
      "r999",
      "r1057"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementLineItems",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statement [Line Items]",
        "label": "Statement [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r252",
      "r253",
      "r254",
      "r284",
      "r637",
      "r674",
      "r693",
      "r699",
      "r700",
      "r701",
      "r702",
      "r703",
      "r704",
      "r707",
      "r710",
      "r711",
      "r712",
      "r713",
      "r714",
      "r715",
      "r716",
      "r717",
      "r718",
      "r720",
      "r721",
      "r722",
      "r723",
      "r724",
      "r726",
      "r729",
      "r730",
      "r733",
      "r734",
      "r735",
      "r736",
      "r737",
      "r738",
      "r739",
      "r740",
      "r741",
      "r742",
      "r743",
      "r744",
      "r747",
      "r823"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statement of Cash Flows [Abstract]",
        "label": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfFinancialPositionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Condensed Consolidated Balance Sheets",
        "label": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfOtherComprehensiveIncomeAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfOtherComprehensiveIncomeAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statement of Other Comprehensive Income [Abstract]",
        "label": "Statement of Other Comprehensive Income [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfStockholdersEquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statement of Stockholders' Equity [Abstract]",
        "label": "Statement of Stockholders' Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementTable",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statement [Table]",
        "label": "Statement [Table]",
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed."
       }
      }
     },
     "auth_ref": [
      "r252",
      "r253",
      "r254",
      "r284",
      "r637",
      "r674",
      "r693",
      "r699",
      "r700",
      "r701",
      "r702",
      "r703",
      "r704",
      "r707",
      "r710",
      "r711",
      "r712",
      "r713",
      "r714",
      "r715",
      "r716",
      "r717",
      "r718",
      "r720",
      "r721",
      "r722",
      "r723",
      "r724",
      "r726",
      "r729",
      "r730",
      "r733",
      "r734",
      "r735",
      "r736",
      "r737",
      "r738",
      "r739",
      "r740",
      "r741",
      "r742",
      "r743",
      "r744",
      "r747",
      "r823"
     ]
    },
    "ecd_StkPrcOrTsrEstimationMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "StkPrcOrTsrEstimationMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock Price or TSR Estimation Method",
        "label": "Stock Price or TSR Estimation Method [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r841",
      "r853",
      "r863",
      "r889"
     ]
    },
    "us-gaap_StockAppreciationRightsSARSMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockAppreciationRightsSARSMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock Appreciation Rights (SARs)",
        "label": "Stock Appreciation Rights (SARs) [Member]",
        "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockCompensationPlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockCompensationPlanMember",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityEquityAwardsModificationDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share-Based Payment Arrangement",
        "label": "Share-Based Payment Arrangement [Member]",
        "documentation": "Share-based payment arrangement in which award of equity shares are granted. Arrangement includes, but is not limited to, grantor incurring liability for product and service based on price of its shares."
       }
      }
     },
     "auth_ref": [
      "r951"
     ]
    },
    "fsly_StockIssuedDuringPeriodSharesAcquisitionSharesHeldBackForRestrictedStockAwards": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "StockIssuedDuringPeriodSharesAcquisitionSharesHeldBackForRestrictedStockAwards",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of shares restricted for stock awards (in shares)",
        "label": "Stock Issued During Period, Shares, Acquisition, Shares Held Back For Restricted Stock Awards",
        "documentation": "Stock Issued During Period, Shares, Acquisition, Shares Held Back For Restricted Stock Awards"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_StockIssuedDuringPeriodSharesBonusProgram": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "StockIssuedDuringPeriodSharesBonusProgram",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shares issued under bonus program (in shares)",
        "label": "Stock Issued During Period, Shares, Bonus Program",
        "documentation": "Stock Issued During Period, Shares, Bonus Program"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY",
      "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofComputationofBasicandDilutedNetLossPerShareofCommonStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Conversion of Class B to Class A Stock (in shares)",
        "verboseLabel": "Conversion of stock (in shares)",
        "label": "Stock Issued During Period, Shares, Conversion of Convertible Securities",
        "documentation": "Number of shares issued during the period as a result of the conversion of convertible securities."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r41",
      "r81",
      "r163",
      "r420"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY",
      "http://fastly.com/role/StockholdersEquityESPPDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Shares issued under employee stock purchase program (in shares)",
        "terseLabel": "Shares issued under ESPP (in shares)",
        "label": "Stock Issued During Period, Shares, Employee Stock Purchase Plans",
        "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r123",
      "r124",
      "r163"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesNewIssues": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesNewIssues",
     "presentation": [
      "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofComputationofBasicandDilutedNetLossPerShareofCommonStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shares issued (in shares)",
        "label": "Stock Issued During Period, Shares, New Issues",
        "documentation": "Number of new stock issued during the period."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r123",
      "r124",
      "r163",
      "r676",
      "r747",
      "r760"
     ]
    },
    "fsly_StockIssuedDuringPeriodSharesRestrictedStockAwardBonusProgram": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardBonusProgram",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityPerformanceBasedRestrictedStockUnitsPSUsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Issuance of restricted stock units related to bonus program (in shares)",
        "label": "Stock Issued During Period, Shares, Restricted Stock Award, Bonus Program",
        "documentation": "Stock Issued During Period, Shares, Restricted Stock Award, Bonus Program"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardGross",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vesting of restricted stock (in shares)",
        "label": "Stock Issued During Period, Shares, Restricted Stock Award, Gross",
        "documentation": "Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r163"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY",
      "http://fastly.com/role/StockholdersEquityStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Exercise of stock options (in shares)",
        "negatedTerseLabel": "Exercised (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period",
        "documentation": "Number of share options (or share units) exercised during the current period."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r123",
      "r124",
      "r163",
      "r487"
     ]
    },
    "fsly_StockIssuedDuringPeriodValueBonusProgram": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "StockIssuedDuringPeriodValueBonusProgram",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shares issued under bonus program",
        "label": "Stock Issued During Period, Value, Bonus Program",
        "documentation": "Stock Issued During Period, Value, Bonus Program"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueConversionOfConvertibleSecurities",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Conversion of Class B common stock to Class A common stock",
        "label": "Stock Issued During Period, Value, Conversion of Convertible Securities",
        "documentation": "The gross value of stock issued during the period upon the conversion of convertible securities."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r42",
      "r163"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueEmployeeStockPurchasePlan",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shares issued under employee stock purchase program",
        "label": "Stock Issued During Period, Value, Employee Stock Purchase Plan",
        "documentation": "Aggregate change in value for stock issued during the period as a result of employee stock purchase plan."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r123",
      "r124",
      "r163"
     ]
    },
    "fsly_StockIssuedDuringPeriodValueRestrictedStockAwardBonusProgram": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardBonusProgram",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityPerformanceBasedRestrictedStockUnitsPSUsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shares issued under bonus program",
        "label": "Stock Issued During Period, Value, Restricted Stock Award, Bonus Program",
        "documentation": "Stock Issued During Period, Value, Restricted Stock Award, Bonus Program"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardGross",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vesting of restricted stock units",
        "label": "Stock Issued During Period, Value, Restricted Stock Award, Gross",
        "documentation": "Aggregate value of stock related to Restricted Stock Awards issued during the period."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r123",
      "r124",
      "r163"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercised",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Exercise of vested stock options",
        "label": "Stock Issued During Period, Value, Stock Options Exercised",
        "documentation": "Value of stock issued as a result of the exercise of stock options."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r42",
      "r163"
     ]
    },
    "fsly_StockIssuedDuringPeriodValueVestingOfEarlyExercisedStockOptions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "StockIssuedDuringPeriodValueVestingOfEarlyExercisedStockOptions",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vesting of early exercised stock options",
        "label": "Stock Issued During Period, Value, Vesting Of Early Exercised Stock Options",
        "documentation": "Stock Issued During Period, Value, Vesting Of Early Exercised Stock Options"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_StockSoldDuringPeriodSharesRestrictedStockAward": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "StockSoldDuringPeriodSharesRestrictedStockAward",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Proceeds from sale of restricted shares (in shares)",
        "label": "Stock Sold During Period, Shares, Restricted Stock Award",
        "documentation": "Stock Sold During Period, Shares, Restricted Stock Award"
       }
      }
     },
     "auth_ref": []
    },
    "fsly_StockSoldDuringPeriodValueRestrictedStockAward": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "StockSoldDuringPeriodValueRestrictedStockAward",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Proceeds from sale of restricted shares",
        "label": "Stock Sold During Period, Value, Restricted Stock Award",
        "documentation": "Stock Sold During Period, Value, Restricted Stock Award"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationAccumulatedOtherComprehensiveIncomeLossDetails",
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS",
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total stockholders\u2019 equity",
        "periodStartLabel": "Beginning balance",
        "periodEndLabel": "Ending balance",
        "label": "Equity, Attributable to Parent",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r124",
      "r127",
      "r128",
      "r148",
      "r709",
      "r725",
      "r748",
      "r749",
      "r817",
      "r829",
      "r944",
      "r972",
      "r1036",
      "r1064"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDBALANCESHEETS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stockholders\u2019 equity:",
        "label": "Equity, Attributable to Parent [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquityNoteAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityNoteAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stockholders' Equity Note [Abstract]",
        "label": "Stockholders' Equity Note [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubleaseIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubleaseIncome",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/LeasesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Sublease income",
        "label": "Sublease Income",
        "documentation": "Amount of sublease income excluding finance and operating lease expense."
       }
      }
     },
     "auth_ref": [
      "r596",
      "r816"
     ]
    },
    "fsly_SubleasesRemainingLeaseTerms": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "SubleasesRemainingLeaseTerms",
     "presentation": [
      "http://fastly.com/role/LeasesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subleases, remaining lease terms (in years)",
        "label": "Subleases, Remaining Lease Terms",
        "documentation": "Subleases, Remaining Lease Terms"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsequentEventMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventMember",
     "presentation": [
      "http://fastly.com/role/RevenueRemainingPerformanceObligationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subsequent Event",
        "label": "Subsequent Event [Member]",
        "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r582",
      "r604"
     ]
    },
    "us-gaap_SubsequentEventTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventTypeAxis",
     "presentation": [
      "http://fastly.com/role/RevenueRemainingPerformanceObligationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subsequent Event Type [Axis]",
        "label": "Subsequent Event Type [Axis]",
        "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r582",
      "r604"
     ]
    },
    "us-gaap_SubsequentEventTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventTypeDomain",
     "presentation": [
      "http://fastly.com/role/RevenueRemainingPerformanceObligationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subsequent Event Type [Domain]",
        "label": "Subsequent Event Type [Domain]",
        "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r582",
      "r604"
     ]
    },
    "us-gaap_SubsequentEventsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subsequent Events [Abstract]",
        "label": "Subsequent Events [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventsTextBlock",
     "presentation": [
      "http://fastly.com/role/SubsequentEvent"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subsequent Event",
        "label": "Subsequent Events [Text Block]",
        "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business."
       }
      }
     },
     "auth_ref": [
      "r603",
      "r605"
     ]
    },
    "us-gaap_SubsidiarySaleOfStockAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsidiarySaleOfStockAxis",
     "presentation": [
      "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofComputationofBasicandDilutedNetLossPerShareofCommonStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Sale of Stock [Axis]",
        "label": "Sale of Stock [Axis]",
        "documentation": "Information by type of sale of the entity's stock."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SupplementalBalanceSheetDisclosuresTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SupplementalBalanceSheetDisclosuresTextBlock",
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Balance Sheet Information",
        "label": "Supplemental Balance Sheet Disclosures [Text Block]",
        "documentation": "The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity."
       }
      }
     },
     "auth_ref": [
      "r930"
     ]
    },
    "us-gaap_SupplementalCashFlowElementsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SupplementalCashFlowElementsAbstract",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Supplemental disclosure of cash flow information:",
        "label": "Supplemental Cash Flow Elements [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TabularListTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TabularListTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Tabular List, Table",
        "label": "Tabular List [Table Text Block]"
       }
      }
     },
     "auth_ref": [
      "r882"
     ]
    },
    "us-gaap_TaxCreditCarryforwardAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TaxCreditCarryforwardAmount",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Tax credit carryforward",
        "label": "Tax Credit Carryforward, Amount",
        "documentation": "The amount of the tax credit carryforward, before tax effects, available to reduce future taxable income under enacted tax laws."
       }
      }
     },
     "auth_ref": [
      "r92"
     ]
    },
    "us-gaap_TaxCreditCarryforwardAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TaxCreditCarryforwardAxis",
     "presentation": [
      "http://fastly.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Tax Credit Carryforward [Axis]",
        "label": "Tax Credit Carryforward [Axis]",
        "documentation": "Information by specific tax credit related to an unused tax credit."
       }
      }
     },
     "auth_ref": [
      "r91"
     ]
    },
    "us-gaap_TaxCreditCarryforwardNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TaxCreditCarryforwardNameDomain",
     "presentation": [
      "http://fastly.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Tax Credit Carryforward, Name [Domain]",
        "label": "Tax Credit Carryforward, Name [Domain]",
        "documentation": "The name of the tax credit carryforward."
       }
      }
     },
     "auth_ref": [
      "r91"
     ]
    },
    "us-gaap_TaxesPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TaxesPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://fastly.com/role/BalanceSheetInformationAccruedExpensesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://fastly.com/role/BalanceSheetInformationAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other tax liabilities",
        "label": "Taxes Payable, Current",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r31"
     ]
    },
    "ecd_TotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total Shareholder Return Amount",
        "label": "Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r874"
     ]
    },
    "ecd_TotalShareholderRtnVsPeerGroupTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TotalShareholderRtnVsPeerGroupTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total Shareholder Return Vs Peer Group",
        "label": "Total Shareholder Return Vs Peer Group [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r881"
     ]
    },
    "us-gaap_TradeAndOtherAccountsReceivablePolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TradeAndOtherAccountsReceivablePolicy",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts Receivable, net",
        "label": "Accounts Receivable [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r184",
      "r185",
      "r186",
      "r322",
      "r323",
      "r325"
     ]
    },
    "us-gaap_TradeNamesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TradeNamesMember",
     "presentation": [
      "http://fastly.com/role/BusinessCombinationsScheduleofIdentifiableFiniteLivedIntangibleAssetsDetails",
      "http://fastly.com/role/GoodwillandIntangibleAssetsScheduleofIntangibleAssetsNetDetails",
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesScheduleofIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trade names",
        "label": "Trade Names [Member]",
        "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof."
       }
      }
     },
     "auth_ref": [
      "r101"
     ]
    },
    "ecd_TradingArrAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TradingArrAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trading Arrangement:",
        "label": "Trading Arrangement [Axis]"
       }
      }
     },
     "auth_ref": [
      "r902"
     ]
    },
    "ecd_TradingArrByIndTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TradingArrByIndTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trading Arrangements, by Individual",
        "label": "Trading Arrangements, by Individual [Table]"
       }
      }
     },
     "auth_ref": [
      "r904"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "TradingSymbol",
     "presentation": [
      "http://fastly.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trading Symbol",
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain",
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails",
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAvailableForSaleInvestmentsDetails",
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Financial Instruments [Domain]",
        "label": "Financial Instruments [Domain]",
        "documentation": "Instrument or contract that imposes a contractual obligation to deliver cash or another financial instrument or to exchange other financial instruments on potentially unfavorable terms and conveys a contractual right to receive cash or another financial instrument or to exchange other financial instruments on potentially favorable terms."
       }
      }
     },
     "auth_ref": [
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r428",
      "r439",
      "r565",
      "r606",
      "r607",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r632",
      "r633",
      "r634",
      "r635",
      "r656",
      "r922",
      "r923",
      "r924",
      "r925",
      "r926",
      "r927",
      "r928",
      "r968",
      "r969",
      "r970",
      "r971"
     ]
    },
    "ecd_TrdArrAdoptionDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrAdoptionDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Adoption Date",
        "label": "Trading Arrangement Adoption Date"
       }
      }
     },
     "auth_ref": [
      "r905"
     ]
    },
    "ecd_TrdArrDuration": {
     "xbrltype": "durationItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrDuration",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Arrangement Duration",
        "label": "Trading Arrangement Duration"
       }
      }
     },
     "auth_ref": [
      "r906"
     ]
    },
    "ecd_TrdArrIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Name",
        "label": "Trading Arrangement, Individual Name"
       }
      }
     },
     "auth_ref": [
      "r904"
     ]
    },
    "ecd_TrdArrIndTitle": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrIndTitle",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Title",
        "label": "Trading Arrangement, Individual Title"
       }
      }
     },
     "auth_ref": [
      "r904"
     ]
    },
    "ecd_TrdArrSecuritiesAggAvailAmt": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrSecuritiesAggAvailAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Aggregate Available",
        "label": "Trading Arrangement, Securities Aggregate Available Amount"
       }
      }
     },
     "auth_ref": [
      "r907"
     ]
    },
    "ecd_TrdArrTerminationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrTerminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Termination Date",
        "label": "Trading Arrangement Termination Date"
       }
      }
     },
     "auth_ref": [
      "r905"
     ]
    },
    "country_US": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "US",
     "presentation": [
      "http://fastly.com/role/InformationAboutRevenueandGeographicAreasDetails",
      "http://fastly.com/role/RevenueRevenuebyGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "United States",
        "label": "UNITED STATES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_USTreasurySecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "USTreasurySecuritiesMember",
     "presentation": [
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAssetsandLiabilitiesatFairValueDetails",
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsAvailableForSaleInvestmentsDetails",
      "http://fastly.com/role/InvestmentsandFairValueMeasurementsCashCashEquivalentandMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "U.S. Treasury securities",
        "verboseLabel": "U.S. Treasury securities",
        "label": "US Treasury Securities [Member]",
        "documentation": "This category includes information about debt securities issued by the United States Department of the Treasury and backed by the United States government. Such securities primarily consist of treasury bills (short-term maturities - one year or less), treasury notes (intermediate term maturities - two to ten years), and treasury bonds (long-term maturities - ten to thirty years)."
       }
      }
     },
     "auth_ref": [
      "r786",
      "r807",
      "r809",
      "r1054"
     ]
    },
    "us-gaap_UnconditionalPurchaseObligationCategoryOfGoodsOrServicesAcquiredDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnconditionalPurchaseObligationCategoryOfGoodsOrServicesAcquiredDomain",
     "presentation": [
      "http://fastly.com/role/CommitmentsandContingenciesScheduleofPurchaseCommitmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unconditional Purchase Obligation, Category of Goods or Services Acquired [Domain]",
        "label": "Unconditional Purchase Obligation, Category of Goods or Services Acquired [Domain]",
        "documentation": "General description of the goods or services to be purchased from the counterparty to the unconditional purchase arrangement."
       }
      }
     },
     "auth_ref": [
      "r385",
      "r386",
      "r388",
      "r389"
     ]
    },
    "ecd_UndrlygSecurityMktPriceChngPct": {
     "xbrltype": "pureItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "UndrlygSecurityMktPriceChngPct",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Underlying Security Market Price Change",
        "label": "Underlying Security Market Price Change, Percent"
       }
      }
     },
     "auth_ref": [
      "r901"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefits",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Balance at beginning of year",
        "periodEndLabel": "Balance at end of year",
        "label": "Unrecognized Tax Benefits",
        "documentation": "Amount of unrecognized tax benefits."
       }
      }
     },
     "auth_ref": [
      "r523",
      "r529"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Decreases related to prior year tax positions",
        "label": "Unrecognized Tax Benefits, Decrease Resulting from Prior Period Tax Positions",
        "documentation": "Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns."
       }
      }
     },
     "auth_ref": [
      "r530"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Increases related to current year tax positions",
        "label": "Unrecognized Tax Benefits, Increase Resulting from Current Period Tax Positions",
        "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return."
       }
      }
     },
     "auth_ref": [
      "r531"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Increases related to prior year tax positions",
        "label": "Unrecognized Tax Benefits, Increase Resulting from Prior Period Tax Positions",
        "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions taken in prior period tax returns."
       }
      }
     },
     "auth_ref": [
      "r530"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unrecognized tax benefit that would impact income tax provision",
        "label": "Unrecognized Tax Benefits that Would Impact Effective Tax Rate",
        "documentation": "The total amount of unrecognized tax benefits that, if recognized, would affect the effective tax rate."
       }
      }
     },
     "auth_ref": [
      "r532"
     ]
    },
    "us-gaap_UseOfEstimates": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UseOfEstimates",
     "presentation": [
      "http://fastly.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Use of Estimates",
        "label": "Use of Estimates, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles."
       }
      }
     },
     "auth_ref": [
      "r63",
      "r64",
      "r65",
      "r190",
      "r191",
      "r194",
      "r195"
     ]
    },
    "us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowanceDeferredTaxAssetChangeInAmount",
     "crdr": "credit",
     "presentation": [
      "http://fastly.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Valuation allowance, increase (released) amount",
        "label": "Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount",
        "documentation": "Amount of increase (decrease) in the valuation allowance for a specified deferred tax asset."
       }
      }
     },
     "auth_ref": [
      "r535"
     ]
    },
    "us-gaap_VariableLeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VariableLeaseCost",
     "crdr": "debit",
     "calculation": {
      "http://fastly.com/role/LeasesScheduleofLeaseCostDetails": {
       "parentTag": "fsly_OperatingVariableAndShortTermLeaseCosts",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://fastly.com/role/LeasesScheduleofLeaseCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Variable lease cost",
        "label": "Variable Lease, Cost",
        "documentation": "Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases."
       }
      }
     },
     "auth_ref": [
      "r595",
      "r816"
     ]
    },
    "us-gaap_VariableRateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VariableRateAxis",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsSeniorSecuredCreditFacilitiesAgreementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Variable Rate [Axis]",
        "label": "Variable Rate [Axis]",
        "documentation": "Information by type of variable rate."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_VariableRateDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VariableRateDomain",
     "presentation": [
      "http://fastly.com/role/DebtInstrumentsSeniorSecuredCreditFacilitiesAgreementDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Variable Rate [Domain]",
        "label": "Variable Rate [Domain]",
        "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_VestingAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VestingAxis",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails",
      "http://fastly.com/role/StockholdersEquityStockOptionsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vesting [Axis]",
        "label": "Vesting [Axis]",
        "documentation": "Information by vesting schedule of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1001",
      "r1002",
      "r1003",
      "r1004",
      "r1005",
      "r1006",
      "r1007",
      "r1008",
      "r1009",
      "r1010",
      "r1011",
      "r1012",
      "r1013",
      "r1014",
      "r1015",
      "r1016",
      "r1017",
      "r1018",
      "r1019",
      "r1020",
      "r1021",
      "r1022",
      "r1023",
      "r1024",
      "r1025",
      "r1026"
     ]
    },
    "us-gaap_VestingDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VestingDomain",
     "presentation": [
      "http://fastly.com/role/StockholdersEquityRestrictedStockUnitsRevestsharesNarrativeDetails",
      "http://fastly.com/role/StockholdersEquityStockOptionsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vesting [Domain]",
        "label": "Vesting [Domain]",
        "documentation": "Vesting schedule of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1001",
      "r1002",
      "r1003",
      "r1004",
      "r1005",
      "r1006",
      "r1007",
      "r1008",
      "r1009",
      "r1010",
      "r1011",
      "r1012",
      "r1013",
      "r1014",
      "r1015",
      "r1016",
      "r1017",
      "r1018",
      "r1019",
      "r1020",
      "r1021",
      "r1022",
      "r1023",
      "r1024",
      "r1025",
      "r1026"
     ]
    },
    "fsly_VestingOfEarlyExercisedStockOptions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "VestingOfEarlyExercisedStockOptions",
     "crdr": "debit",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vesting of early-exercised stock options",
        "label": "Vesting Of Early-Exercised Stock Options",
        "documentation": "Vesting Of Early-Exercised Stock Options"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS",
      "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofComputationofBasicandDilutedNetLossPerShareofCommonStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted-average shares used in computing net loss per share attributable to common stockholders, diluted (in shares)",
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period."
       }
      }
     },
     "auth_ref": [
      "r268",
      "r279"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "presentation": [
      "http://fastly.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS",
      "http://fastly.com/role/NetLossPerShareAttributabletoCommonStockholdersScheduleofComputationofBasicandDilutedNetLossPerShareofCommonStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Weighted-average shares used in computing net loss per share attributable to common stockholders, basic (in shares)",
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period."
       }
      }
     },
     "auth_ref": [
      "r266",
      "r279"
     ]
    },
    "fsly_WeightedAverageRemainingLeaseTermAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fastly.com/20231231",
     "localname": "WeightedAverageRemainingLeaseTermAbstract",
     "presentation": [
      "http://fastly.com/role/LeasesScheduleofOtherInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted Average Remaining Lease term (in years):",
        "label": "Weighted Average Remaining Lease Term [Abstract]",
        "documentation": "Weighted Average Remaining Lease Term"
       }
      }
     },
     "auth_ref": []
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "SubTopic": "20",
   "Topic": "940",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1"
  },
  "r1": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "6",
   "SubTopic": "50",
   "Topic": "350",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482610/350-50-25-6"
  },
  "r2": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "1",
   "SubTopic": "40",
   "Topic": "350",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482633/350-40-30-1"
  },
  "r3": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "7",
   "SubTopic": "30",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479637/805-30-30-7"
  },
  "r4": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "8",
   "SubTopic": "30",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479637/805-30-30-8"
  },
  "r5": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "SubTopic": "230",
   "Topic": "830",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1"
  },
  "r6": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r7": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(a),(b),(c)",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r8": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14"
  },
  "r9": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(g)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15"
  },
  "r10": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-20"
  },
  "r11": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r12": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r13": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r14": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "470",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481544/470-10-50-1"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "825",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-1"
  },
  "r16": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "30",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1"
  },
  "r17": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15"
  },
  "r18": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(3)",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r19": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c),(3)",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r20": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "SubTopic": "10",
   "Topic": "505",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2"
  },
  "r21": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r22": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r23": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2A",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2A"
  },
  "r24": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "e",
   "SubTopic": "470",
   "Topic": "942",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480848/942-470-50-3"
  },
  "r25": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "a",
   "SubTopic": "10",
   "Topic": "280",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "b",
   "SubTopic": "10",
   "Topic": "280",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r27": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "60",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "820",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482053/820-10-60-1"
  },
  "r28": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22))",
   "SubTopic": "10",
   "Topic": "210",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r29": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r30": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(b),22(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r31": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19,20)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r32": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19,20,22)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r33": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r34": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.20)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r35": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.21)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r36": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.22(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r37": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.22(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r38": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.22)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r39": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.24)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r40": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.25)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.29-30)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r42": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r43": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14"
  },
  "r44": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A"
  },
  "r45": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-5"
  },
  "r46": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r47": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14"
  },
  "r48": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15"
  },
  "r49": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4"
  },
  "r50": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-1"
  },
  "r51": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2"
  },
  "r52": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-3"
  },
  "r53": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-4"
  },
  "r54": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-5"
  },
  "r55": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r56": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2"
  },
  "r57": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "270",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482989/270-10-45-14"
  },
  "r58": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-16"
  },
  "r59": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18"
  },
  "r60": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18"
  },
  "r61": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-20"
  },
  "r62": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-21"
  },
  "r63": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-4"
  },
  "r64": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-8"
  },
  "r65": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-9"
  },
  "r66": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "41",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r67": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-1"
  },
  "r68": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-2"
  },
  "r69": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r70": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "((a)(1),(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r71": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r72": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r73": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r74": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481573/470-10-45-10"
  },
  "r75": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481544/470-10-50-5"
  },
  "r76": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "50",
   "Section": "40",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481303/470-50-40-2"
  },
  "r77": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "50",
   "Section": "40",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481303/470-50-40-4"
  },
  "r78": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "480",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(CFRR 211.02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480244/480-10-S99-1"
  },
  "r79": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481142/505-10-45-2"
  },
  "r80": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-10"
  },
  "r81": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-3"
  },
  "r82": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-4"
  },
  "r83": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-5"
  },
  "r84": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-8"
  },
  "r85": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r86": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r87": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r88": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12"
  },
  "r89": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13"
  },
  "r90": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6"
  },
  "r91": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-3"
  },
  "r92": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-3"
  },
  "r93": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-8"
  },
  "r94": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "05",
   "Paragraph": "4",
   "Subparagraph": "(a)-(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479515/805-10-05-4"
  },
  "r95": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "25",
   "Paragraph": "23",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479405/805-10-25-23"
  },
  "r96": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2"
  },
  "r97": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2"
  },
  "r98": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-3"
  },
  "r99": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "37",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479303/805-10-55-37"
  },
  "r100": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-1"
  },
  "r101": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-14"
  },
  "r102": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-20"
  },
  "r103": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-20"
  },
  "r104": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1"
  },
  "r105": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "820",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r106": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-20"
  },
  "r107": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21"
  },
  "r108": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-1A"
  },
  "r109": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-2"
  },
  "r110": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3"
  },
  "r111": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482949/835-30-55-8"
  },
  "r112": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03.15)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r113": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03.17)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r114": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r115": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "320",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-5"
  },
  "r116": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "470",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480848/942-470-50-3"
  },
  "r117": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "825",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480981/942-825-50-1"
  },
  "r118": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "985",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1"
  },
  "r119": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r120": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r121": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(26)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r122": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(26)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r123": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r124": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r125": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r126": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r127": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r128": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(31))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r129": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(32))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r130": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11"
  },
  "r131": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r132": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r133": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r134": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r135": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r136": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r137": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r138": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.7(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r139": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.8)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r140": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.9)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r141": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12"
  },
  "r142": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r143": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r144": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24"
  },
  "r145": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25"
  },
  "r146": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r147": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "235",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//235/tableOfContent"
  },
  "r148": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 4.E)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2"
  },
  "r149": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//350/tableOfContent"
  },
  "r150": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r151": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r152": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r153": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r154": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "440",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//440/tableOfContent"
  },
  "r155": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//470/tableOfContent"
  },
  "r156": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481573/470-10-45-12A"
  },
  "r157": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481284/470-20-25-10"
  },
  "r158": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-5"
  },
  "r159": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//505/tableOfContent"
  },
  "r160": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-6"
  },
  "r161": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-6"
  },
  "r162": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-7"
  },
  "r163": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1"
  },
  "r164": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//718/tableOfContent"
  },
  "r165": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r166": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r167": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r168": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r169": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r170": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r171": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "805",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//805/tableOfContent"
  },
  "r172": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "38",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38"
  },
  "r173": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19"
  },
  "r174": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21"
  },
  "r175": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r176": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r177": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r178": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(15)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r179": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r180": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r181": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r182": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r183": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04.9)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r184": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11B",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "310",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-11B"
  },
  "r185": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "310",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-15"
  },
  "r186": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "SubTopic": "10",
   "Topic": "310",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-6"
  },
  "r187": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2"
  },
  "r188": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r189": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "SubTopic": "35",
   "Topic": "720",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483406/720-35-50-1"
  },
  "r190": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r191": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r192": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r193": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-1"
  },
  "r194": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-11"
  },
  "r195": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-12"
  },
  "r196": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13"
  },
  "r197": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)(1)",
   "SubTopic": "10",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13"
  },
  "r198": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-6"
  },
  "r199": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r200": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h))",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r201": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//275/tableOfContent"
  },
  "r202": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//606/tableOfContent"
  },
  "r203": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(a)",
   "Publisher": "SEC"
  },
  "r204": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6"
  },
  "r205": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7"
  },
  "r206": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r207": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5"
  },
  "r208": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r209": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r210": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r211": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r212": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r213": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r214": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r215": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(27)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r216": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r217": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r218": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r219": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r220": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r221": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r222": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r223": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r224": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A"
  },
  "r225": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r226": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r227": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r228": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B"
  },
  "r229": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B"
  },
  "r230": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-1"
  },
  "r231": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4"
  },
  "r232": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5"
  },
  "r233": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6"
  },
  "r234": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(210.5-03(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r235": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r236": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r237": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r238": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SAB Topic 6.B)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-5"
  },
  "r239": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-11"
  },
  "r240": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12"
  },
  "r241": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-17"
  },
  "r242": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24"
  },
  "r243": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25"
  },
  "r244": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2"
  },
  "r245": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8"
  },
  "r246": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-1"
  },
  "r247": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r248": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r249": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r250": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r251": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-04(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3"
  },
  "r252": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23"
  },
  "r253": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24"
  },
  "r254": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5"
  },
  "r255": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r256": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r257": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11"
  },
  "r258": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11"
  },
  "r259": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3"
  },
  "r260": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4"
  },
  "r261": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7"
  },
  "r262": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7"
  },
  "r263": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8"
  },
  "r264": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9"
  },
  "r265": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//260/tableOfContent"
  },
  "r266": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10"
  },
  "r267": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-11"
  },
  "r268": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16"
  },
  "r269": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2"
  },
  "r270": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-3"
  },
  "r271": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "40",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-40"
  },
  "r272": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "40",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-40"
  },
  "r273": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "40",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-40"
  },
  "r274": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "40",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-40"
  },
  "r275": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B"
  },
  "r276": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B"
  },
  "r277": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B"
  },
  "r278": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7"
  },
  "r279": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r280": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r281": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2"
  },
  "r282": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-3"
  },
  "r283": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15"
  },
  "r284": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1"
  },
  "r285": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-1"
  },
  "r286": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-3"
  },
  "r287": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//280/tableOfContent"
  },
  "r288": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-15"
  },
  "r289": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21"
  },
  "r290": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21"
  },
  "r291": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r292": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r293": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r294": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r295": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r296": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r297": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-26"
  },
  "r298": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29"
  },
  "r299": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29"
  },
  "r300": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29"
  },
  "r301": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29"
  },
  "r302": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29"
  },
  "r303": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29"
  },
  "r304": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r305": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r306": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r307": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31"
  },
  "r308": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r309": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r310": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r311": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r312": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r313": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r314": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "34",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-34"
  },
  "r315": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40"
  },
  "r316": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r317": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r318": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r319": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42"
  },
  "r320": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2"
  },
  "r321": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9"
  },
  "r322": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-1"
  },
  "r323": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-2"
  },
  "r324": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-4"
  },
  "r325": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481569/310-20-50-1"
  },
  "r326": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r327": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r328": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(aa)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r329": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(aaa)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r330": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r331": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r332": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r333": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r334": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r335": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r336": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r337": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r338": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r339": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r340": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(aaa)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r341": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r342": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r343": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r344": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r345": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r346": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r347": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r348": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A"
  },
  "r349": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A"
  },
  "r350": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A"
  },
  "r351": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B"
  },
  "r352": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B"
  },
  "r353": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B"
  },
  "r354": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B"
  },
  "r355": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B"
  },
  "r356": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r357": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4"
  },
  "r358": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5"
  },
  "r359": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1"
  },
  "r360": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-11"
  },
  "r361": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r362": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r363": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r364": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-14"
  },
  "r365": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-16"
  },
  "r366": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-5"
  },
  "r367": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479130/326-30-45-1"
  },
  "r368": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-4"
  },
  "r369": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-7"
  },
  "r370": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-9"
  },
  "r371": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "340",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479483/340-40-50-3"
  },
  "r372": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "340",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479483/340-40-50-3"
  },
  "r373": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-1"
  },
  "r374": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-2"
  },
  "r375": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r376": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r377": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r378": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2"
  },
  "r379": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r380": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r381": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r382": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r383": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3"
  },
  "r384": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1"
  },
  "r385": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4"
  },
  "r386": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4"
  },
  "r387": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4"
  },
  "r388": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4"
  },
  "r389": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-6"
  },
  "r390": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4"
  },
  "r391": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9"
  },
  "r392": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r393": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r394": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r395": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r396": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r397": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r398": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r399": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r400": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r401": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r402": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r403": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r404": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r405": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r406": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r407": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r408": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r409": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r410": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r411": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r412": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C"
  },
  "r413": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C"
  },
  "r414": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C"
  },
  "r415": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D"
  },
  "r416": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D"
  },
  "r417": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D"
  },
  "r418": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r419": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r420": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r421": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r422": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r423": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r424": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r425": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r426": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r428": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r429": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r430": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4"
  },
  "r431": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4"
  },
  "r432": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4"
  },
  "r433": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-6"
  },
  "r434": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r435": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r436": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r437": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r438": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14"
  },
  "r439": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18"
  },
  "r440": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2"
  },
  "r441": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1"
  },
  "r442": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1"
  },
  "r443": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-2"
  },
  "r444": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-3"
  },
  "r445": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10"
  },
  "r446": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r447": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r448": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r449": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r450": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r451": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13"
  },
  "r452": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-15"
  },
  "r453": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-17"
  },
  "r454": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-18"
  },
  "r455": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-18"
  },
  "r456": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-19"
  },
  "r457": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20"
  },
  "r458": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20"
  },
  "r459": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20"
  },
  "r460": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20"
  },
  "r461": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4"
  },
  "r462": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5"
  },
  "r463": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8"
  },
  "r464": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8"
  },
  "r465": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-9"
  },
  "r466": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r467": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r468": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r469": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(A)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r470": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(B)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r471": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r472": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r473": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5"
  },
  "r474": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//718/tableOfContent"
  },
  "r475": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-1D"
  },
  "r476": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-2"
  },
  "r477": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-3"
  },
  "r478": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r479": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r480": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r481": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r482": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r483": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r484": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r485": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r486": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r487": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r488": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r489": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r490": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r491": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r492": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r493": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r494": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r495": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r496": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r497": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r498": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r499": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r500": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r501": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r502": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r503": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r504": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r505": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r506": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r507": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r508": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r509": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r510": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r511": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r512": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r513": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r514": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.C.Q3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r515": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.1.Q5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r516": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.2.Q6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r517": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.3.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r518": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.F)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r519": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "720",
   "SubTopic": "35",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483406/720-35-50-1"
  },
  "r520": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "730",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483044/730-10-05-1"
  },
  "r521": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "730",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482916/730-10-50-1"
  },
  "r522": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//740/tableOfContent"
  },
  "r523": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-10B"
  },
  "r524": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-25"
  },
  "r525": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-28"
  },
  "r526": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10"
  },
  "r527": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r528": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14"
  },
  "r529": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r530": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r531": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r532": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r533": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17"
  },
  "r534": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-19"
  },
  "r535": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r536": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r537": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r538": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r539": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-20"
  },
  "r540": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21"
  },
  "r541": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r542": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r543": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r544": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r545": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r546": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r547": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r548": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r549": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r550": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 11.C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2"
  },
  "r551": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "270",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1"
  },
  "r552": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2"
  },
  "r553": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-5"
  },
  "r554": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-5"
  },
  "r555": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25"
  },
  "r556": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25"
  },
  "r557": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3"
  },
  "r558": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3"
  },
  "r559": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r560": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r561": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r562": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r563": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r564": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(i)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r565": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-5"
  },
  "r566": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r567": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r568": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r569": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r570": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r571": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r572": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-3"
  },
  "r573": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r574": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//830/tableOfContent"
  },
  "r575": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "230",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1"
  },
  "r576": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17"
  },
  "r577": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r578": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r579": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r580": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r581": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1"
  },
  "r582": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-2"
  },
  "r583": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483013/835-20-50-1"
  },
  "r584": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3"
  },
  "r585": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482900/835-30-50-1"
  },
  "r586": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//842-20/tableOfContent"
  },
  "r587": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1"
  },
  "r588": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1"
  },
  "r589": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-4"
  },
  "r590": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5"
  },
  "r591": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-1"
  },
  "r592": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3"
  },
  "r593": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r594": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r595": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r596": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r597": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r598": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r599": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r600": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r601": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6"
  },
  "r602": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2"
  },
  "r603": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//855/tableOfContent"
  },
  "r604": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2"
  },
  "r605": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2"
  },
  "r606": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r607": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r608": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r609": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r610": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r611": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r612": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r613": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r614": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r615": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r616": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r617": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r618": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r619": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481444/860-30-45-1"
  },
  "r620": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481420/860-30-50-7"
  },
  "r621": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3"
  },
  "r622": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3"
  },
  "r623": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3"
  },
  "r624": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(4)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3"
  },
  "r625": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r626": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r627": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r628": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r629": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r630": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r631": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r632": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r633": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r634": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r635": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r636": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "910",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6"
  },
  "r637": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "924",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 11.L)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1"
  },
  "r638": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483154/926-20-50-5"
  },
  "r639": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "928",
   "SubTopic": "340",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483147/928-340-50-1"
  },
  "r640": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r641": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r642": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(26))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r643": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(27))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r644": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1"
  },
  "r645": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r646": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r647": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r648": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r649": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r650": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r651": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r652": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r653": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r654": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r655": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r656": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r657": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r658": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r659": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r660": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r661": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r662": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r663": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r664": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r665": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r666": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A"
  },
  "r667": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r668": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r669": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r670": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r671": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r672": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r673": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "825",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B"
  },
  "r674": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r675": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(h)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r676": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r677": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r678": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r679": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r680": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11"
  },
  "r681": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13"
  },
  "r682": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4"
  },
  "r683": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-2"
  },
  "r684": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "27",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-27"
  },
  "r685": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r686": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r687": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r688": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r689": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r690": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r691": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r692": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r693": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4"
  },
  "r694": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1"
  },
  "r695": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2"
  },
  "r696": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r697": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r698": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r699": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r700": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r701": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r702": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r703": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r704": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r705": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r706": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r707": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(16)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r708": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r709": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r710": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r711": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r712": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r713": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r714": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r715": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r716": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r717": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r718": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r719": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r720": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r721": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r722": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r723": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r724": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2"
  },
  "r725": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2"
  },
  "r726": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3"
  },
  "r727": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7"
  },
  "r728": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483580/946-220-50-3"
  },
  "r729": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r730": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r731": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(g)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r732": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r733": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r734": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r735": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r736": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r737": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r738": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r739": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r740": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r741": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r742": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r743": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r744": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r745": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r746": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(1)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r747": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r748": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r749": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r750": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r751": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r752": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r753": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r754": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r755": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r756": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r757": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r758": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r759": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-1"
  },
  "r760": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r761": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r762": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r763": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r764": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1"
  },
  "r765": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480632/954-210-45-4"
  },
  "r766": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480602/954-210-50-2"
  },
  "r767": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481027/954-310-50-2"
  },
  "r768": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "440",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480327/954-440-50-1"
  },
  "r769": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r770": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r771": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r772": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r773": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r774": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r775": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r776": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r777": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r778": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "976",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1"
  },
  "r779": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "978",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1"
  },
  "r780": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r781": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(a)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r782": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(b)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r783": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r784": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r785": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r786": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(m)(1)(ii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r787": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "52",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52"
  },
  "r788": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r789": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31"
  },
  "r790": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482785/280-10-55-47"
  },
  "r791": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A"
  },
  "r792": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479081/326-30-55-8"
  },
  "r793": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24"
  },
  "r794": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r795": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B"
  },
  "r796": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C"
  },
  "r797": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69E"
  },
  "r798": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69F"
  },
  "r799": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r800": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r801": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r802": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r803": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r804": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r805": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r806": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r807": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r808": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r809": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17"
  },
  "r810": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11"
  },
  "r811": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-6"
  },
  "r812": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8"
  },
  "r813": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r814": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r815": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "217",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482663/740-10-55-217"
  },
  "r816": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "53",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53"
  },
  "r817": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10"
  },
  "r818": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479401/944-30-55-2"
  },
  "r819": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F"
  },
  "r820": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1"
  },
  "r821": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r822": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1"
  },
  "r823": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1"
  },
  "r824": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r825": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r826": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r827": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r828": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10"
  },
  "r829": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12"
  },
  "r830": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r831": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r832": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-23"
  },
  "r833": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r834": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-K",
   "Number": "249",
   "Section": "310"
  },
  "r835": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Number": "249",
   "Section": "220",
   "Subsection": "f"
  },
  "r836": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16",
   "Subsection": "J",
   "Paragraph": "a"
  },
  "r837": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1"
  },
  "r838": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r839": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r840": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r841": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r842": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r843": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r844": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r845": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r846": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "2"
  },
  "r847": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii",
   "Section": "6"
  },
  "r848": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Number": "249",
   "Section": "240",
   "Subsection": "f"
  },
  "r849": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a"
  },
  "r850": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r851": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r852": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r853": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r854": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r855": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r856": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r857": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r858": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "b"
  },
  "r859": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a"
  },
  "r860": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r861": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r862": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r863": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r864": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r865": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r866": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r867": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r868": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "b"
  },
  "r869": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r870": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v"
  },
  "r871": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "1"
  },
  "r872": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "ii"
  },
  "r873": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii"
  },
  "r874": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iv"
  },
  "r875": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "vi"
  },
  "r876": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "3"
  },
  "r877": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "4"
  },
  "r878": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "i"
  },
  "r879": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "ii"
  },
  "r880": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iii"
  },
  "r881": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iv"
  },
  "r882": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6"
  },
  "r883": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6",
   "Subparagraph": "i"
  },
  "r884": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w"
  },
  "r885": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1"
  },
  "r886": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r887": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r888": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r889": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r890": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r891": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r892": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r893": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r894": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "2"
  },
  "r895": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "1"
  },
  "r896": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2"
  },
  "r897": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "A"
  },
  "r898": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "C"
  },
  "r899": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "D"
  },
  "r900": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "E"
  },
  "r901": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "F"
  },
  "r902": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a"
  },
  "r903": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "1"
  },
  "r904": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "A"
  },
  "r905": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "B"
  },
  "r906": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "C"
  },
  "r907": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "D"
  },
  "r908": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "b",
   "Paragraph": "1"
  },
  "r909": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r910": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "405"
  },
  "r911": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-3"
  },
  "r912": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1"
  },
  "r913": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-4"
  },
  "r914": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)(1)",
   "SubTopic": "10",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13"
  },
  "r915": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18"
  },
  "r916": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "SubTopic": "825",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B"
  },
  "r917": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "SubTopic": "40",
   "Topic": "340",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479483/340-40-50-2"
  },
  "r918": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r919": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4H",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H"
  },
  "r920": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r921": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Topic": "705",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//705/tableOfContent"
  },
  "r922": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(a)",
   "Publisher": "SEC"
  },
  "r923": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(b)",
   "Subparagraph": "(1)",
   "Publisher": "SEC"
  },
  "r924": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(b)",
   "Subparagraph": "(2)",
   "Publisher": "SEC"
  },
  "r925": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(b)",
   "Subparagraph": "(3)",
   "Publisher": "SEC"
  },
  "r926": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(c)",
   "Subparagraph": "(2)(i)",
   "Publisher": "SEC"
  },
  "r927": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(c)",
   "Subparagraph": "(2)(ii)",
   "Publisher": "SEC"
  },
  "r928": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(c)",
   "Subparagraph": "(2)(iii)",
   "Publisher": "SEC"
  },
  "r929": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "205",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483504/205-10-50-1"
  },
  "r930": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//210/tableOfContent"
  },
  "r931": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r932": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r933": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r934": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r935": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r936": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4"
  },
  "r937": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5"
  },
  "r938": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6"
  },
  "r939": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r940": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2"
  },
  "r941": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8"
  },
  "r942": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r943": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(f))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r944": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r945": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r946": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23"
  },
  "r947": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24"
  },
  "r948": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5"
  },
  "r949": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "55",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-55"
  },
  "r950": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r951": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r952": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-18"
  },
  "r953": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-1"
  },
  "r954": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-11"
  },
  "r955": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r956": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(aa)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r957": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(aaa)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r958": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r959": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r960": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r961": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r962": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r963": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r964": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r965": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r966": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r967": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B"
  },
  "r968": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9"
  },
  "r969": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "321",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3"
  },
  "r970": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "321",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3"
  },
  "r971": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "321",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3"
  },
  "r972": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r973": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r974": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-4"
  },
  "r975": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "340",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479483/340-40-50-3"
  },
  "r976": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r977": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r978": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r979": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r980": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r981": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r982": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r983": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r984": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r985": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1A"
  },
  "r986": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2"
  },
  "r987": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r988": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r989": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r990": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "410",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10"
  },
  "r991": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//450/tableOfContent"
  },
  "r992": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9"
  },
  "r993": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r994": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r995": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r996": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r997": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D"
  },
  "r998": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10"
  },
  "r999": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5"
  },
  "r1000": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r1001": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1002": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1003": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1004": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1005": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1006": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1007": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1008": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1009": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1010": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1011": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1012": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1013": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1014": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1015": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1016": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1017": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1018": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1019": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1020": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1021": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1022": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1023": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1024": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1025": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1026": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1027": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1028": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r1029": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r1030": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r1031": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-6"
  },
  "r1032": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r1033": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r1034": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r1035": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r1036": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r1037": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r1038": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1"
  },
  "r1039": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479365/842-20-25-6"
  },
  "r1040": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3"
  },
  "r1041": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3"
  },
  "r1042": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r1043": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6"
  },
  "r1044": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7"
  },
  "r1045": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7"
  },
  "r1046": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r1047": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r1048": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r1049": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r1050": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r1051": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r1052": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "912",
   "SubTopic": "730",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482517/912-730-25-1"
  },
  "r1053": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r1054": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "942",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-2"
  },
  "r1055": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r1056": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r1057": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B"
  },
  "r1058": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r1059": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480109/944-80-50-1"
  },
  "r1060": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4"
  },
  "r1061": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r1062": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r1063": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3"
  },
  "r1064": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r1065": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r1066": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r1067": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r1068": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r1069": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>137
<FILENAME>0001517413-24-000048-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001517413-24-000048-xbrl.zip
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
M#("M (5"+.P$^%):-&3]XD1A6^N.@B:40><:GE<: QP).!N<X$;IQA9X-MO
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
M$+&#A%'  +!A)"\<@$(+1 ?QRB7>9)2,,+EO'^1G9H3(_:LM9X0@,F,QEC#
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
MNZM5L&2VN3O)]P::P6IXVD<&&@\GS%T0"\6WUGLE'N QG[QZ#XH;UZENL?7
MOPNP/R+_>X3V-X)V6X+];PCLK\=X-\\TCD_\_3C5V1+^FM5E\>K_ 5!+ P04
M    " !%KU58;\33[WH#  !F'P  &    &9S;'DM,3(S,3(S>#$P:V5X,C$Q
M+FAT;>U96V_3,!1^YU>8(C20EC3IVFY)NTIH@VU0 :(@'I$3N\W1'#NRG6[9
MK\=QDK'1E=VYM7VH$MGG]IWO'"<YPT2G;#1,*":C)\.GCH/V19RGE&L42XHU
M)2A7P&?H*Z'J&#E.O6M/9(6$6:)1Q^MTT5<ACV&.JW4-FM%1HV?8KNZ';6MD
M& E2C(8$Y@C(;@OZ6STOZ 4]W]L.NOVH@[N=H#OU@L#W"?7]^)O?,J)F>R6C
M=,'H;BL%[B2TM!]N=S(]. &BD]#WO.<MNV\TG JNC3%IA*O+2L>")DU/M8,9
MS'AHXVE5HLURA./CF10Y)TXLF)#ALZG]#>H[S_X&I8@SQ2FP(MSX#"E5Z#T]
M09]$BOG&IL)<.8I*F%8;%9S1T/>-W_;VI [$Z&' :1.8O[5EHGE]FD $!F;?
M]2^'<A$.+&<&$2VRT"_AN!!4;%) Y=\6U22/%!# $HQ.,45OL-*LV$1'/'87
MHKR_[Z\D8'93C[M7>HRN S\26HLT[&<EA32.&#WW6$A"9>DMPYFB87,Q(* R
MAHL0N+5GA0:7U?6,<W,J-<28U1FUR:V6:]X'.ZZWW2^IKPW?-6D,UU7AVJIH
M:[*XUMUQ V_YLN?Z2]=^I;;C[G262]Y5:[?K!MO!C=2V+1"RV=!DLE<EAR"3
M I5AOMO::EW+JPP38CI@Z"'?BC?&_PH==:!W5M;)3DMUBQWC9]95A/NIC_RN
M=O$>I[1L$^=MHSBOQC^4C+JFZRHU>I 2# AJL/BW\'V;2U $8@V"ESA_D#/,
MX0R7]Y>0?LBZJB&TA]92_);FJ/\X!7/KO!GW'SUI5Y](U9F)7N5*2^,+1A]U
M@<::W* T;E$!_Q @YTC<E[*W(-]J<&R/B9R@H\@HB3&:N&-W94DVR3#<NR?>
M 9J[;OWON'B01H<KR[X#*HV.8LV_/\>_(T[*LU;"'&N*QI""IJM[YEHTUN?M
M@W/,>,7MXS=FZ,6A8&4 ZN7*T^T++\-'[XR[1*1KWCTJ[S[3..'&@5FQYMV:
M=X_)NW<XRE4"QV"N0"5X97GV%AO?U_1Z8'JMN]=O[5[KEX<K/AL8\^9(G<1
M>4S5)AJ/]U:6C_N4X1,LZ2:JF3G1YEU*+1*S;4=B"Z/ *^:Z%^9Q%^?"F5!0
M/LV$TIC4,*<+D^(?0SK[)=_[(8(C)5BN%T6N&2[7_]6<NVWGZ]\!4$L#!!0
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
M0,IRVLNM":0B%-9R,T>1A-\(&'=)IX5W$1@#0RJJP6 ,% BE@9H+Q%+H#I9
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
M<VQY+3$R,S$R,W@Q,&ME>#,R,BYH=&W=6%MOVS84?M^OX!PL;0%+T=6V;#>
MYSA8T"$N8A?=G@9*HFPB$JF1=!+MU^^0DF(W:=JXM[1-8L?R.3RW[^/A9;Q6
M17X\7A.<'O\R_M6RT E/-@5A"B6"8$52M)&4K=#;E,A+9%F-UI27E:"KM4*>
MXP7H+1>7] K7<D553HY;.^.C^GE\9)R,8YY6Q^.47B&:ONQ0)_#[/<?WG4'6
M"[(XC.+(#:+ R?IA&CB8_.-V8"BHUV.DJG+RLE-09JV)]C\,@U*-KFFJUD/7
M<7[K&+WCL<)Q3EKUF(N4""OA>8Y+28;MAU%*99GC:DA93AFQS*!1@<4*[,=<
M*5X,0S!_182B"<XMG-,5&RIRHQKQUK/MU-Z5@%?:>F[$MA$=J?2^+!K8D?.P
MV+'=6]F1L2U:A;8 I>J8<9"5+#%[V?$[=Q)O4O%*A23/:8H.'/,S*G&: KI#
M![G&RM;-D:G%3NF/QQEG"O#3POIC+;NCT;J&:+@8MHZTQ,IP0?-J^&Q)"R+1
M.;E&%[S [%E78B8M203-:D5)_R-04ZB\>;RN$^V#'0-3D[CKZ;+-;M8TI@KY
MGNV]&]@N7VI(%2^'[@#,&@1K,!/@*!&=IPE^.KM8GIV>32?+L_DY>OWF8O%F
M<KY$R_F#F7POD;L#],9>V%,;+693$[WKATX7319H<C)_O9R=_%#IM$E$3@_-
M3]'RCQE:3"Y^GYS/%M;\KS]G?Z/)=*DEGN,\CF:>F5!?-Y?@O;F<,6@%C)%$
M4<[0-55KI-8$31C;X!Q=D)(+A7B&3K%4>=5%9RRQT7.M<G@P\#QG-.4%])'*
M/+FC%PBLG')1(->Q7J&,"V.N(E@@PE)8(4Y(0HJ8B,,#M^>,?+>K%P4?88DR
MFH/\-H0%23:"*@JY8I:BV4VRQFQ%8#4I"BJE#A?^M&8*2P]:$T$@SMW0ZNC;
MR"!VE.C>G$$:Y4;(#89R*XZV[-0Q]4<-.2$BG/)2KVJ[VHV.QA[<F4"QB#$C
MTIK?Y*1"D\043&/?!3E673U,*\9$&E%1H4O&KR';%3D\" >CQW*D;<%63C(U
M]'MM<Z)06::&EFY73\0CUVZ3^/;>WRV+Z]AFE5M"Q1O^9IL\KX#G19EK.MU2
M3)!_-U00O?.0&IA%,PU<_SD&)HOM%^'S],4MWEMBWI*R =V-_*!F3F'8#NA&
M(TW?GP!A[[M$F#+H,04V*$$C4QA&IO"M0:J%'U,!^)>"2(UT5XMQGB,8!L%
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
MTD9Y@S_>W<K[P+N7X99#LVW8Z</-;',E/..5X(:5"?B'"%T!,G0KXGR>^?O
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
M]99_L^Z=]GNMP]YZP94G;]4ZV?_ZHM:+B%CT_T^*.)<G1X](70V4*\O_#\]
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
M$Y6V3-2OV)&+$&N9D,1+T""70"\$Y#=3B+OH\^<KV;3AE_<K*%$EGYYD#<-
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
M/\#;3K@BEJM)(VY@,2=PVK>RDE^LLN%1J+0!C@:@TOW6A5#4][C64\^JIP9
MS@#;7%B_RWEI1>Z\:<L4%1;(-N/$E]BZ:JR:SL:"@4N"'+ 4?O@7U9.I;KVJ
MBZ>KTY$%36;T,>M,149T6]H&']/Y6Z-6^BRYCR6W^,9O97J>QECM3O>FR1+,
M[+P PF94%V&]HEB9!#IO Z<!<V.'@CU42#OE'L(\092>3=V'IV*<EA!HD\C3
MX4;L1L5(L.11XUJNZ8N$&OCJ)E\\7#*)'?HQ*,=E&T>94[SX6B2?5R33-E8Q
M' ]J&DNY/LX-HX?8M!K3XK*TI%@=8%1R->+#*X5BTYH9=?)G<GWO"NN/L_<-
M/M=4SM*4TZBQ4!3#__JV#QR57*C?:M!9B 5<U,B'*AU0DN%DSHKD4B=IL8"@
M6#.&E0X-7(\^9A\=W*K=>JP=#=WJGZ[AWOT-5:.>E3_EPBF/?DK1T5RDM)'U
MU$WKQW4&P](67K5(/JM(:ECRC!B'BL+*/2KU0F3:$TNU M.9 E@N2M;>;_]Q
M.5[R+@QBSVWD^F!K:?Y:W% ELBJ(#<4%7?M<*V!BW,IXF28-=/T1OE0C7F]S
MDS,N5://<IW-@>H_2'[4O7"]+,"==6@OL*QN4)H?M,W RD0*#[7U1-J?L7\I
MM?_L'+Z!LP?'V0:.U!"N=KTXD1J;X:3]B.D4RKE I&3IK$B7PX][%?U,[1 :
MU@>"T[!1P=W932.=!:.F#("]#%Z8B";#0(0.2PD<(=31+->M$,NH>!*;L#"V
M8^&<!OB]GG3V'H\'JX\C:;B0S"1N4R+0+G&F,;@F[_LZ3]5XO;)CY]VE\,%!
M*%>37"@8I6")T> D:EI8&/U!-9W@)*G0N9YO&,U]>P(F%F;'( R5^!HNP<0[
M.#[)I:)<-AOD-@R":4,C/LF,42FX]55PA]:<JTNX>8IZ/)])[N*(R]&1)W5=
MR[I%Y85KX^=0)CX-V>!&GZ"EG-R<!+I'EA>0'YN0GV$!*VG0] :+1U?$/,M0
M5XOZ04SSQ-3O;-)%%+,*:R_NN4.HU DC+%>&4L<M5^C!B$B65$9-\O(.'?8'
M55U1\>0E2Y%>IG"@MZQ^\6=IDQS\)8X\&E'Y21QBST%"+NDF$8H!]=]W"5D&
MQD4L$R_(IGYDP\.X'8G:S)\BY:SEVG]@MM%TF+8$U+-JM*]:+);/JN%K:7A6
M:?C [:B!8>( 5J9;,V8(6*GXQC^E-XL6 VPJB)<UC00!4/5\6*MJ2U<%"ZGC
M5-K_MMAU<0PFHJ<J(DE%\_G0*#;O"L(,+D>8D(9GD1V=]NG-P 2\%84B5&=G
MZDL%/EG!]5-"K39;GX?_O+N[>=UK6/_WT]49+ $;H<76Q-6^'GZ-)8A@#\=J
M!%&=!9;CDTY[Y]/ :E6W ?C6O1?VO-R#7V7C4E9YE/;NGO'25(22E(DM9GR@
MNU)-2;PF-7 +<IR-V=;YHY%JPJ]ZWJ%WC>/JTQXI6<D*HL':+$7C5B<LX"1@
MLG )M_4#O^DB:REC(4WRT,W\] @.G6^R,!4AOU8W6IAARJU4U$0!_>IH9W &
M!JPP-_L0G^:!//#@(J7Q[^$5 K1"U'9B_U T(=)&-.@(J,0?TL\JO1?^"WI?
MYR;G:M:&$K2M8Q&+J,PZ>+F[X+/T5:L8O]"[$.Y\UK^Y._MG'PXDQ5C%7Z69
MO:HLC39<ORR.@8>CC3*-?3ULAN?(^H'E@8I24V.0#H@F B%@.VB.N-$IZ,N3
M1_^ ?0BLU]9 ^U&UD?>LFN\]LFRZ^>4"Y"J!.-)3PR*5^:'3%S +H_GOA$=:
MDD?-WC>(X55<:/FM%(C&#SG,P_W&2?MD7CL/6(BTIDMQ]LS7TE,/N)VWJE_
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
MN>X5E,>X&%?&XN-<,5-6?ORFIO(6J?P>$;/'*DD-J** DS9YU'R7@IK,MTL
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
M9DW!<@=WVR7*/.S+4J':))[9]RZ[/\!&<S[/?\]YKLHE=RL.C9XK$U'Q:U,
M09Q/E"5MP+LH\!0/:#)\3ZW%X-NF'7;2@MV+4YG(G<02F=VV],).1$U6A'.Y
M(B*TTHF7GV.GNUBN_]Y4=[Q4::724Z2K5*QL 1V"PAIN]4.9N92+MAEZ#9CT
M$B(6P<MT3TJPX1+D-A*J$XCIZ/:AH>T,:/C052#RY,,<=L7=KK[X''R6VQ*B
M\'G?C0,9K*&F!K3!BS_ILN+#>BN:6V5-,3A ]P^_N-B5-=JJH-3" AK)&@QK
M^JJ)U\V<#<[-=WQ>$5D%$<W5E'.#:\"-M.1 3E)OO2"U+<\VXY:F%2H/?'92
M9F..YSLM,=S>\1+.JW]OFYLP6\_%\WVKS>VW\J.O[J3QY9&\QI9?0QWXL-+"
MY!60)N+^D'%48NV[O'1*R;?FBV7;Y-232>V/'FH?H?6%*;[X;LT(E]1V$B2)
MJ**(Q18&8WO@97A-_J:LO1R)U0<+4E4H&$S9:0/V^*5$82&M59R^WL)IF>.?
M]'@=QXIWDGSZ.^2NAGV#6KDN%$K3"W>N<#.'-9;I<AWI<XWV ].C4[:5ZN+4
MP2L46'L2+%KU^**!UL*=XAV0!(!/$AN:P?HA);78]L6-_^-23](G%GV2%5A#
M-D,+CL:P"88EYP:H>W+FLK[K+&GJ8QV% 5Q'O+?^H#-S1YU^+T0#$=!HUD^#
MB8L$X*EF(L'!FQ@],.44]QI-6.=9]0VH!\%>9$1/!7A4I#P($U%$TC8Y?1WE
M):&-9F%]9 [IY Z7HJK#"WD" T9:?-74P!$JH8HF=P:BDLNB*<Z[@SO\NZ+:
M7!@91NDT+%'MFL(9\_W>82<37@O7EON &!BI49W;L_A9:4!X0Y4K?<I]\#A8
MW*MTK?W$SG[;W"R'@PAA4^=@,SB \HFM3D5M5_E0KZYD@))L=QB7_WP820A
M/Z9ZX@-&0_22XQ")]Y5R!IHD<D.RW<6N['#L<G$4!@TUT]I3@T?;Y!<\G]4
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
M1 #Q^/O</S4L.R)^8![B+5H^V\6F)+'A\+L8UJ"+V5J;(<D@[="TM*HPN70
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
M#;=F<GW^BIXI5;DI6%7NP0(,-R/BD538QK^5/40D,='3B;5CPGLB_TX.R!;
M2LJS.9);=]2]$VCB_5A0P1,-7G.SOTK;# 5]@>ET4%Q;?D9,P*9(S)79/8H\
MABIO":W&V*\1>M4M7W":B>(!S!0ILONI\^9/D*3B;T8<,#U<R>%H18["RX*
MOQ$^LOR5ROKGZGJ<_$>?G:OK[V5@@_]*J!T!QF6H;[1KEC@ET'X+/S9N-8!$
MIY@[&'3!T428G7B$Q=[5^8#+#HL_>-@]A;\S-S%9S.BJK*Z"E0\W+#3V)6OG
M*;F#M5RC8'"*INT7QA$U S/SQE9#/@+=*^^OH%TDQYP:LGC0,)K''[4^-$4&
MHK/,@S7OF?]6UILV#[<//S T2*59+%[8*?6;2:B.CFG2^.SDH*[R<'S1Z7^
MK$=M,^:1Q*S1S,1QP"RT^;XDP*[<&H])0T,W#XYO&47<;CTBD9I(3CVLPE7_
M;UQP>M/#^!07U!NA3#Y_],B!%:2P>=1EHQAL_V!QJUM'XUMW0+N%B?F7AU\\
M>O"(T L5X,/BUAW"=TG5(KA.\P]XD@F4[Y*=<X)+YD?X)/XEQ*AWKW'.:0%%
MWWR7HWM+]S+,&1A?V7 KI]=5WH+ED7<I>ZI7TBB6^W2;"K>OPM[$2>!<^\)!
M4L/R_>IOL;IUR_J'[>'\-'W+%C-\9VE[4)RW)4#'[>(])X@:1=ZP'QBL:K'B
M]EU]455)E.\*/5+F!X.JXOKQTLG 8A1\8[IJU%%GV36WJGNU1OD:O10L/)GU
M5^5., ZPE?9>E%594B,&'L1^/:,8#FCO\B")73KK[=5&RIL$5I 6>,;A"OR"
M!MKF&ZD+RE@#J8^588,5SYCP9)R7&*AK/*Q%D;TQ2&O9^K/(#C*Z"GA(4]/.
M53;3%A,;3["K!<D:T 2TQ3XO8]8NC/5WM9Z-*V"I;XKX7N38-VO56"=*5+>V
M-?;B1[YNPF'&/*F4PWAY@4:S*\KNC6HI#JR/]^>>\EI"3M]U&=^$L]A\'8GQ
MI/<6MC@\(G&HR9)G-9/& "9.?,+3NXY6-793\$CHGEKHT5>E*PD\NI/Z#N>N
MO$3BK^'\I5T3:T(G:>%_H?;$$S7LT;EQNP:G-\W[EO)N=?3JTE@5Q:HU*=F*
M&+P4\-(.'\ZM((G+GENA:P5MG;&% ;EWEI\JBMY$?-( (UL,^S72?1R:]PU!
M#9UW9RF9L">;ZIJ-B0I>7*$9QS0M@MD44<.P?<NUZO:*0ITXBM3ZL1TH7Y^D
M3_0N&*==<\U[E5'_91\;;KEXI44'*VN2]&B4T?+^\P6B]4)A^E$1F'HZ[)SH
M(',,(W4_]LQKY6Z-HN(GH:@XP1WS AF= RU@-#@NR]I\DGW>P]=9-?M#2]]!
M\S"9/CV_\"-->UO0(KPQ$9\$A^W:JWX-ZZ-;ERN-L^+>"X:)_.E%OFT+)QK-
M7\/ZS8T/I"_T HYB2 ZP*>^F:S2)KQJ/ RK%AS.SE5:5H7:_L-?MQG<"_=V)
MA4L/'[TV7)J;/@NB'G[V.+C(W4!;OV5WK%C+*C'U@V =J*X8[-X-->9?#ELR
MB8\^>_P8P_MML6P'FIY'GWW^B!?1P[_)-1)2S06.=%(0I*KXJWPG"_/!@M^@
M&\+-UNBHO9'9I6=\]+D^HCP7W^*SM[D%(RC;@M(1R8+E%5D7BY_X8D\;2QHL
M?B%#?)BYS;&[9$CF0]L36N2H#%3:^8PF5_\*,\\/OTV!;]FM@4"<P[\MYM>W
MOIH^K?UI=DV<V,I7,=DX6$0Y410OQ]MZGGD(Q@_ZUWPN*PP[[7>D-]3&;358
M3(Q/Q[:(K?ILU>;([<296!97>;5AH GY$(QS=.9Q];)N;JH0)/))3709845Q
MWHO*EC"=\[<0X!/OY/"PJZ*\YGH^\7B-G@"=U6)=Z=N9]MP1YHINW4##MM:!
M\CV7MPUHQ@\-<, N/X1(CGH*]<EO*/DEW!GA,XUTJ.+5XI.(C"_D"WNV28"H
M(]6JNX5^$4ZG4URTSXIN3^$VEIO4XT9KULO!C[BG9>&:%W?K9,@)G+1#'SUX
MASH?PJ2TX558M[X$E1FUDW.3S?Z0SF2SY/9=.F([?A]C;HSW\X?V>+_&H"X!
M8479^C)!/8[SN=88.C\,;^SFQ&' ^RYIK46B;HI\*0_!VUU/$6 /6J0U+NO#
M!*Q8MFH07FN#PI4JH@X*_GH"^A>8@B/\$P*[!XMOAY:Y6SB"*0OSTB+[BYUN
M;C&)W")]GEB)P/(F?E,7W</.#5SGABN>*ALRFMQ]S.%*02Q*?;F58[!I&0#4
M$9LG(^C(10M#L-7 8(-T7; GA>3Y9;D038[_S/&!,WQG;(76VF,O?$GG&J2K
M03X\UR#?R\!R68;VYX;ZI60C;@:N0?E%K[PM<@3R\N<(_58+@4QTV9I5#@:
M\I#0-*73,OQO=)G; B=_DL^B0V]76US.:<RTN,2G*Q.)4/+/"";YM.@,P[>3
M*_K-2VVV>,(+>L*([;YU^][_C  )6R(5L"H*<GU.K&,;[S"_4AS-&CII1DVT
MR\*9TD6%8=C'8>!,#[EVB6,X_PG!@K-3R>XUUUN.G-F2: J+$EQ'Z[(C@;UH
M[9E3C5J R>+GV!,L'!".X>FCTIX+]]J$_4 +NR1H;;X&/0JCUP>*<W$$1U:C
M"IX.(5OJB'B7M@0J_+?T9.Q]F&-MK"7,;<<[R#DLD8.5&$1*.RA7>7>UV 0G
MMXO ==G#:RU*'5*KDLR5?#;3X<;>3LP%DG1MSZ0D.V)I$L_LBGE QGN9"Q2W
M'[W?\H/$0U\]I[J@>D/.DL[K8E.P)Q=&&V16"#J$NG *8D= IA.EA84N.",D
M;56#R291IT)&5'!TSO[,.,P8:EJ 71^<NK*[FB27],U^05^(32&XI=C!@%LS
M>>_@\M&27*(QG=(*PD.@]#:Q)K_-VW4E%"9HXQUZZAC-1E>3A5;K,G7-+R$F
M6Q:K?&"1+XRN= EW1=]7/(,DV17>ESF )._'6#'\V34:1R==V8U/T,#]5(&&
M!MAPFN$?J$/_X6<X@QX]>0J&RIA\9!1EB)572I4=#$Q8?AV#)P'4II4Q,23W
M!)C[&ABN5AM.<![%O+MSQZ=TD3S;%&O S+'@>ZW0:D2&9+7LM*'R+I>D:Q:,
M%NM0*6R92=:;;BU0SUZ(C3!?)]B,ZURJERBMQ +5T4#4Y-Q1;>H&L+M:W)E%
MA, (Q6"!D0Q,>,KO';WX_$LWCM/)C2G^C6#>RD[<\,\8N$Y"W!"0MEK.P<&X
M9/^T#09./D(Q@79/S4:OHUB?'C4?Z53;):TZT1\??J8!I!<8:C&L&9]O*\&^
MR@FI>EV 8:&8+V\JL2\^:*/#!W2(J/\N9E40%+// +NL1^^:SS<F04 R@M>&
MW#<3RL9(/2*^/ZTC/B]P).F/YI#%&J>TI("J%:GQ-/5%WXY/%TYD -'611=6
MTMZ-:#C8NI?H=T%XXA+2KC@I.R.+9A1ML)\]^8Z@!P\O'X@Y_3E<:_$M'Q;X
MQ,,G//#A59E.;?%SP8T/-3U1^.YG%__W!%S]ITT;'IM,RG=@.7M;?I1[9$6!
M7BL)<\/U['JE[[9V41Y6N*P0% "XTE"!R8[F]'O BAY]]O"A^U:=AT#B^<O#
MT[ HPP+^KEX)>W*.2!;@BIQC#24AP6=P/:H0/7RD('8P9P/I(<R/UBM##Z#]
M,F'3?/[5%XN_M\'+"J/YO&\+XJ]\/E &]?%GGX5_AE]_VY)K'1S%;/&4^"6;
MMB[SQ=\^?_C95WR[8)2+/5&WZI$2UNO#BZ\___SB\\>/+K[Z^HN_\>=NBB6@
M4$*-0A^[N;EYL,&[/ @[D_W#,JX1;BM"6"$./9O%\%3$,(L.-\3XR->R ZQW
M63?A;6GWTXD03@?2W8B4GN]L2]VCM<EM@?Q6;2$TD^ZU,B((;8,IJ@YS?__/
MS'SQ\5^_IB^CB!&<O;5@:!O[&-UXS0Y\6!O=%:6X0U0R"$WX<\F"+QX^_H1$
MG1]^SD7&+SY9?ZJ[Y)M7O,P7EZN>E\'S;YXR8C#\ASK.;/4$>][W^^[?_OI7
M6CW!.WBP;:YCMS$^+D_FO7"_K#A<H(-K2,OFFO!EZ&$)[AZ.2&..!D\&-%_;
MU-R<2 U$^S*"KT?CU\GPV[__DQ^,?\;@2H#'67^*33=A+P+R=45YY&QTPX10
MG\%3C6L,]X.5;K&_ZH<[WV]*E#I-#=46(:?'06BLG9)O)CXR#=!I-#(WYZ,_
M4Y)8QFJZF]XH?_EGS"(_.IY%IL<MU__G+^6F6'[QU>;S1X_^]O#SS[]<?_WU
M\G'QQ9>;OZT>%E]\O7K\]?\\>O27<^KY74"6S#M#W^61__9.V^T#\D'.B*/
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
M_R3.B,0XK#^H5;]P=(4GR.LBF!K#$Q*9PR]7GA(\E95T57Q?U6"P,5V8T,V
MD";.#@?NW-!\T:V(!8'U-NUIPKE+EHO"]Y5D%;4;OFS#KLDY&J M<Y++Z-M!
M33*'M9K,1?Y?ZEDQP>%Z74U*=RMVYM-8:FM,XM/Q2"#FL1QN1)^-\K!8AS[D
ML:E0F^(6!7ECH^^CC4I.=B$!7_M'+=#5CH]J6W"2B#<<=A$/RAV*+6*GJ*("
MKS;FHZ$(KWU)<IX"H:B2V&2NUJ7ZB;;P;G\\J1A$_R$) ?3S";!.7(4C[F51
M7Y=M(PD%>'/R F%7AVN]%?'&?5F_KHG1"QQK3&*L[9/)]6V*5CF90T1)C>U(
M^A.0 Q<OHC3X*HD3LYD<5@B%JF982VXW]8\R+\B:M-ZY,AB,WD"]BL:_[ROK
M6J&TOC_RL=,*D/C3&A@]6/RC?*E,,V.:U!$>-?BN1 241M:ZFQ(G,*XPK?J
MN0#QLF&HNG&,K@ 13D)IM\?LA7?!6Q)A6VYGL?;#VY># P3DT\J2C]2\UK(=
M)_[K<]7TQ8NKLBJ<:X--78DX GJ8.CUC;W]0;81G1J>#')G!;[[.A=H'JT5?
MX4([$3P-H+0ETM3FP?U:QS1#;/KA*(SL&A=4=]PD0WT8SC_+C;-0;"#L&%WS
M%(U'0AXQEU'0;&84:5)\].J0!,06TAYCAYK?*#XJ$L<]==W:R0I1C08[O-SG
M'04@8E;GL)W8]*"H<&F<E0B%2G8()?E5\KDY2G0DQ']OO+%] C;Z=V&U!P/;
MM&@!RL*/(:A@SK%$A=[Y1!D7NL4@4X[,:!(X"B-7N"^44R2:<\-IP!?;Z"WH
MV#E7I5U5^JN/O2I]1P,K?N.\BR-&Z'5%WA1\>"3MWNQBB??RC;>GM/ZZ>H@Z
M(Y^P"Y'W1R&/\8Z?BC<'!HH4HY/P3]Y2%+D_55<PEB7G5]Y)2E6K5\5N3Y)3
MJ/8I\>;$34B$,?B81YI4<+2BC4-+0I*?0'_',J*LC/0@Z[G-!$7XCA'6OQ&2
M-)R5-U=%M6,NR*O@$7.OIR?_F\]4$PAX!O_CZXQ8!?AP'VXJ!4:XF@:QG.F!
MX/R4?-K+#D[$/]XQI_?]6T))-S;W,DR&/)OQU(.7B62RH101SFZ*HX@1@,0'
MR4=+NX1!,>#-+MOF99$H0A)CIH38A(7-J\[+1A =3DQNDL9&Y<'H"=M5;JR%
MRX++SN0>4PONCJ TGNL4-'Q4#^N%Y5ATQ/7D=)GT(Z:33>%389@32SJNM2^I
M&RI_21&1PC77F9(JYQ0TC-)6#-)>4<G,(1IDSU?-H3 GT]76E'P35[X..[1Q
MPAYLM@5%2F]Q^5V:"ODX5_]394XZ%DXE8937092B%UDIRZ=81QDU=)(;.!.F
M.@$T K#4:PK',-4$5T%X-?V2 T.^03M "L7U=92/<Q(MU.9@3:>D6,^,I*O!
MO0&^]+4L1)R\L*LK;Q"#9<+H SO4HWS1%_LNPM)& -5)#M35148]7[/?IP3[
M. ^JW,'LBPF03I-@Y3\'<&CQ2 2K7S4E]_WYRQC.US4%*Z2KV1"6,,6UF=8"
MDO5ML4'>%#F"\=.9Y9-[4RYW2"02^$6IOAS"O4HD..9".F)(@H1!*U6";C*@
M"Z2D37B8D\_B]!H#05(6I0=Q21[AV"+!+.[6U-HOBQXRO@>S4<TO-NU/IF,
M ^+"V#='(K\7^9 [W+J7L6+W>TUP6"V$A G^;'$-K )M-\++CX#_5C*(%*-.
M" LM,]+9HXEW51S@TNG8-HP<U>??/%VT W7!ZN/YB+ZF#^\67U_\7W4)>)^$
MS;%J1"VK+W="*)>(9*=E$UOT"FZR<^.@A+"QXLKK3+[Q %Z(M+["7\"?W5-J
MDRH:K$C5-S:Y^G<1[M<H/8H>S8.[IM>CE8VN=>OY9"EW;'Z"OM+H7Q[F0KC7
MYVUS;AT79=:^F4)=9OW:Z9Z?[P[34I@#9Q8U.I\5J,DELZ0RG;:*:4^8ZP?+
MPR+M;>$QV2_5U)[X"AH3'["M<2,<OO-7\BQ1J@]["W3!?:L]F=P+A;8?!(!S
M?NHG,ZTZM G#_6,K6R+(5N72\4'A>967.WI6,BB[VA)@?N<^B9  ]OC#Z#^9
MP@Z>4&T!#4: &T0 0KA  D9P=$8A&B53VM1/1E (D.V1EH0YXS[ TWRK5K@]
M)&Z$?I>AB/VRE,M[,@.WHE<@E.Y\IPH>=)W7?5JC!ADQCNI46[=O]HO!L#73
M9$669"LRN09;18@W)+H.QK.&E8!5",7<$4^N8(3>_*Z>6>6HPK3IP7IBT%/F
M9OMQ\,J:ZK70;\C_CW4^'!X&59!F-B*LN(%C"73:NGFMGWGL@KJ(4Y'/M*BC
M;JX&W/IE[D-U=1[>QIXZC/NUWN!<9@I[+GT OM?*@W.XHN^"FA&%TD:PJ;4]
MR@?=^M0L<Z&-7OXEP%K-Z]544(\_M!4B,^7\!(>5?ZX1%C$A 84\=;MB@+:+
MV9@<%*DQ<L8SQRDZN?Z>N.T8=L%#?FJMZ2ROE=!T%XX[T(O7F.!+DF$E.ONF
M7L<XJ6)Q5.$;0- !G+2K:(_IA0X+#9]5@90/1L-["6A._V+T'4*GYH_0C/NJ
M"]""K[3@;8_LTJ(5MY1;>N@4;1?AJ"2153HH/+]5L2@[+S.J8CT.D8MI&A$6
M<IQXZRS)S%O[?*2TI\1U6":DO/=FLP6T>YPNAH:I9L>XG1Y[CEO#3=4JFQ''
M"F["OK]M>0JYLA [-DZH;TEI]GGBD=LW YL(J>QK9 T].">\E"#FM'XA>'09
M$*\-I6#1?;20:LI-N)5N^Y*:#Z!I <]];E;9&Y6)U"GV7#.N'66.P7W,"DCQ
M><R8IO+<*G Q:KK1:(I_ZTDW60!1]; ZT3Q386<3]E(EA4RSKS-" M.H4J=-
M;JOW>;"8G60E32K;T4+M5:.T:IJ7$<AM2EJ*_$)+.(JPD>^VH$._9B)K3X?N
MH  *$HD=2^]B8B!E&A;.;P:4'8V"^BD)((VW#[UBVA]FC>0ZP!XVZB'SUCF
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
MNP?_.83I1"^7ZRY2EXD/QDX@WYR8BF(_K04C[M?0D8FM_0FI*9<T?.0"=+V
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
MZ"$N$.?QV-/"P8G%8&GV4YQ*D2)4#JHA0G_J;F'N2'51\A&ZQ%W/.8,9DPU
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
M"PF[$Q:?ZGV4/R4CK+Z'HV<$?W*>()2)S)QR6^*PT(6Z/4$3I7@8HX^8#^Y
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
MDA*H\M3YP4OC;A%;2WD\)[O?T&ZZ"CZK$D+''D<M18EE+_MPLH50XT[V=8*
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
M5:CHG;[S^"7NHAW^Q0Y48VE"J=8U<M+1M*Q2YW]6A@"- \-\[A3ST%?6J$G
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
M<D(!ZVM91&L@-H1"9\H*4]2!#K@01M) \?.UG5^1.@Y9_YCETP7"DD;O+BT
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
M <=TP\R*;><HHFQR%(;,;H9LNBL)3@J3$*(Q]JRRS7)2NO7]NHAOB7'5MGW
M4I5^AOEXY/ARV(D1^:1:N_+P">K=,EH#S^HS".K^5!.(M*EWF]FIE8Y\^^:S
MGTX=513'B=;[1RQ".UH)9!J"%1(K8D6H*LXY0+&"G4Z8-NY+Z+Z$_NU]"?W]
M1X]+VMA#L0Y*!VRD@=(ZJ)4ZU5U\*F<=AYZ/GSPTJ@LUFZ=)P]CL6;4 P-AO
MEM-GH[T28E>15X>6@0IL]XLN/(ZTPYI;FSY2"M^7C&%&T@DHN-.-56],0YG8
M%BN@^E1-:(0? /<1A!\&:8V(OW=X&Y^>1F+QDOCL >R,M'&[OC ""&&K0T6/
M1'N6Z6%DO.\L1,/OH)9.U0E]CV_V+IPJ\'1(C+@2Q.K<?AL9\_IR!9V:>9L(
M[TJ=F\Q>,0OS&:%0GEO$J>>4H.,EP?/<+<&QF#6<1$KR5H0"^%DVZ5#KV>RZ
MP_EDG>@R:YN9PRBWEU42-0J5FSDF\^ K+(LDI$]/U$RA5)1\[O3I^LK3]L>F
MN!I.*S4+;"@9(,[K<M^$9U@8UYL!OUT6RE 3(  @/YVHC[O]3>*\%)_&<BK4
MG]4=$/G (J%(I5H*<KVKCNCW@M&F9Z!UZDR7Q*W. AJ8GO1)I*&"_O*2_?TW
M82\,;,H>/WS\Q'?*X!?69"L_4^_AC88&]$OZC;D5P&[RWR.PR1.IP7"E M@Q
M+S,!:Z*HYMD;>LV!T< EZ3=+QTX8@G6Y!]B81:;Z.O+I&_GIX(J>PWY;^=@J
M<9!&I9^QF029*R?(.(6H@'ORI\[8,;7J*^6G!.;*^4N\+.5M.L^E";;LV4\5
M<$(JYD(E,!"A!C>_8N$*I#4UV8KG2Q'089@*MIP9.\37ATD?1,/@JBKO& (Q
M 4(H'"!60N!%M:3NHDP,+,SRXX>/_EQ8"_\6TMHDE1<=T:R+V_?;>JA.:@S'
MDP4#-Q+3X/<YHZMW!)$@4+I+I;N0B_OZ#$FBS:X>\B/-[N%%0!4Y>S! <YS
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
MJ/!4CCC>43G<H"])J/6%2H\>8A..Z789-O&9*C+I0CZX7BAPZG=4M/;S,O7
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
M(+>[VZ*W'.GXTR_C9$2(C@1#M31\LK-;/F:?'DRJN^Q<+U$9=[S"0U-R(W^
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
MXP,$#-98/6S </.1F9=I6<50T\VFT!V'1:0VA-$L5>.$LL-1N57OAC90(MV
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
MM%\EKM!*QF\4NWP&+T"&',LOX)$6I54#OOX"@2D-9)W[C,4!".E0%&1:C:@
M<QP>4[H]%/I-ERJS/<_G9?%5(6H4-F3<%X+*=J3W/?(FZNOA5VPMW6L\&VFE
M0*!#I **2BINFT8IU4TC3TG"<S:]YW$TA7(I$4#]'(8VS>:8-,^Y?(W("_1C
M*/P6J AS%%X(T*(;3J,Y?MB^3JH#"\@($#@7/8G(E/BID@XS"%\\D^;@)82'
MM>Q<!@$! SU.1Y1_D.3%>]MMYM!;.<!A@(%&I@(^F5*QU$%@CQ*7;38SL9M
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
MMC@6!+J( )FIP =%^$XRVB"VG8HQ8)#9*A>&"MXZR^ITBL79<^Y@< [F]P&
MW*5@F* 9J)6(7@]%Y$AH<I@0/-P0D;V5KB_G2-&%-62P<<;P]]^/.8'H'(PO
M#OQ;71-E17X!F'%N$1CJ"G'<')O5)TUR,@,*(,D9SGY,D$ )ZD5/?  M!_L[
M0C%]459GVC31DE?FGG?RQ"ZP/XCE0"](!6 >:74)F0]#"J.M^TF:'$C1(4;
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
MO04.:\CCHXYUO#I5B!61/*P)I2%1!LS 8*@Q M"W&F<MVP=>*-ZC4(+CY1T
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
MLW5LSF@8)-$$SC&EZ[3>H&A&@:C]D'M(+V:2!(#J PM58S%AA!8.H? 3@3F
MXX'#L'Y><([16X7)EK1,#F!GYO(I_<X<#&M0"FF%+(PD*&0O.=J.@"^(A:LT
MN8T%]_A*3UC",TYNG>$>(K^*VMB:6+<!#1+B6_*BB&/@^Z2F<H+6GL$E<H!,
MK/148+1B_B&9$NM?('\KE9X^U^C.<I-I-IH4#4Q3BT&GH)+5=4I'+!:D?BIB
M%5ZCF;I0="O+YZ6LJ;S5OD=TEA3QTDDS:*N4YT4,)7U,:84SM5:=L7BTQ4QN
M#@(B@=T&K:1_(MI"G-ZJHYYQ4\##+@7\()J4\!F@6 .* -FG"]NT$0LHNJ %
M6K;<ND%E'N2/V=+;BN-@:$A>S#*7,8:==A%YI\KEUD O1WL%]-(&JOS 5>;X
MQ._1UX_7&.&>T5,(RM^,RQ3'198A][0+<!W8G+LT;Z &1TQD]"H(+$IYI0&A
M ?G&*];EHT]AQM"*7I<*+JC(X/;X#^#[SB$NX[ !U5"0Q?U561]27WEQ6J4&
M@$F @BW^O)ZG.S.: MQ0U+'(*4U"L!,,*NF;E2\9DX6K+1PV1@"^YB--CEZQ
MRE#<_OYC_H"M0@(IUK9&65.EJG$'9E.JH\ T@#;<BH3<:D%7!I/'^;F!?#^?
M.^B(!K/9-3("A@ 4)'5[]?^&^58'UW4&WMZ/%LS+_Q799E55Q-3+RD]<C*\2
M<J<W7BJ;C.(8S%:PLQB0GVHJ64;3O"&<1(GLQ*_P*6E>P<H&PJQ:R0/<N9G9
M+V_8I'($,(B(<Y"3T8)21#$<B#4#KM %H=GD"-) 1OPE=M]:A!QUA> S;;NG
MEQ-L]\7]0W-UH9BPAF0$200!8.(!*$W+Y:S4UYRJ6B/L^CPW"YE]"0BHDQBK
MZM')QK$QP(8[QM @$$E+E#AK$1= BW?H*2]X,\.$?\:Q8$3^)UCU0?_@7R;6
M@%Y2GD@-+L.XWN@\VU!87F L'BGAUINSG:Z[2=B(FTMQ*#[E_]$)U7+ZF1]M
M9_#_S++(.:;A?L1@.0_S<,,L+FE[8PQ#;@L:R[)H6JGOY2]OP"377M+W*>(;
M'>"7;@,^K,W)7I],RKK4_Y_(F_G7/?VKORW^_.2H-SH>M/ZJW]OTYT>C]I<L
M^\:R09WU3H\/=VQ, [V\8,*N>-3?<.%I\?7^@JS\_<7HA747$E!CW_>#@9:/
MO]WJ8V<+'QM.O\$'%[&RFR)#TG+?=^7I308HBJ0?L(4#98Y2G3S*PMF/\4E$
MDWQ:!UCN&,@*[-6J@NKTUO$.$WY.BS;<1/@6NX+C6*GQ>-6L,S5>U-C%]+XG
M?':3F=I?S0Y@3$&Y45\O7*0.\O\* ;MIB6X2KF7?7RIU=W[R(XYL8_GBKO.&
M? 7PWY.=E;,7_VCS/(+7!M$]@[P/@@-+Q<)WMQ*MQNJT;N!PL]7M!RUGN(2I
M/8[B6F]]1V'_[,0G&Y&%NXTH]=>=[ :'X]GNS3 \.SK=SM[<T_6U\^IE>0C#
MZAB'*_?@'E3-.G?%*G%N6>G]$.>CT7!#85XA5 ^A:)[MSAR>C;:S,_=DQ:RG
M7E:'__F1!_#][Q^@+7V]G7C+#5!M>ND+U'&OHY?>4&:@F%60<?ZND<6[)[/H
MSM=MVT9M\Q"\O,L=N[;0;V5JIT=G>VOB=7*V/W)V<KKI#;];YNK&]\B.7!J2
M0Z&2?4L!+4FEMP[S,S"QWN%&>+8VTME9;[ %(VDK<WW5.38;BL8V/)L=$ W6
MNXV:O@'U8=QG?.<Y?K]+(=@40J/@8+L)A)W[?I<,('(S+CZ1:HLN(W"[C,#P
M<--PT.ZXBT]];_K'^^UB[;R.62<C$*'#A1U972K@5JF DTWS6ETJX+&2-%TJ
M8$>B.AND AR%M,0(JKJD0!>L]9,"I_V]M?(Z.=LC.1ONM\7ZU)("D  (N@Q
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
M"@M]'Y1NJV5]-Y6[AM%U>X6[D*B_-_O^GO7L+AR!YF+1 9#&_>4'P/1<KW<
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
MKJ@7;P8QL/^"Q_=)FKVA5@GKJ]']H$QGW-AX-[&)N%YZ?T&RN +)45W7%F(
MOX5&G!IK'R95>0P(<^P>&A%9J"1JO-O/^K:\W8.V 8W) 1]83_I;8J&<)?>;
M0YU';0-Y%<T]KU99<<\Q 7K\U!.@NW(Y?*)R3(@ZXQ@M6AI:#2FD]9V3I4^T
MBXP7.36F8VWT%:6'[$KGWB@S:E]&G>251/"OTOQ*56P2LB%C([;-KW,\ >"?
M)17IZ5YJQ/"O%L>:Q^YDU#H*:A<GV 7<2%22WG=?VZ))\3V8&DSS<1D9_%BC
ML4&Q-F?;U/)Q-$4#!8K/1:D+P.*$(GET(S$F;8KU;E61YRKCJ8':H4$YW=#.
MM2=@B9SRHT4D;#G^-)O;-^AH3U;<@N/;:6$_F6Q++!O:V7MK2T%.4_?N9;W[
M9WT=1&5,UM5[N_M[:')Z4W$%66X[,4)]&[0AU*XJJ:*,,;VY!AO^5N2S2BPG
M+<7Q5XXF0%)982@7 J W#\:U,%M/,YE'8&NZWT<K6&%8E*VW7*+.CLH2]%"H
MDKI446)O?$K=R=&G1)PMKX+O+E<&Y)9-E**4&T _ZJV*<(SFF;0 >R@_?_B:
M9%QH+670X]OW<CP6K@B"!<3\^EA%-58Z8 6ZQ(&L5,%GP)*.*5F?3E"'<@+0
M:"Z*P'G9C<9MY&@QT[@_RV/RL>$ZD4H2B:+;6O^5VG;UE$5\;["3'4NUH59O
M?O0.F<$[K+F_(-\!3.LCH@+K2>[AH;.SF,@L;J^OT2.LB+Y&$ :)%D(<>*!G
MN+U27SE83Y_C3Y.4](!899A\0OZI"K6W>0@=C/,2U3FH7JS(<&D(_"A(7!PT
MC$R8[;A4#)0-ZJ7D8(+W^@:V=3Z&JI!8>8N(;9%9K<>>*.<S(:B/L<+5A0BV
MQ"7(U&P:EV1:U]IR3)'BIJJ4=#UM>%_MH4S_H9S+HVJ3&7MO.'W==N>;W63N
M1:)W%<A'V#Q1Q#_!2ZO-@N@\2ZM+47CZ2Y.BEEU% 0NIA#K1(E#5#%Q--XD3
MH85"],4[(FQ<$JU3N_/]L/*IW=6PSM7P,Y\FF-C;!.)E1%%U=>L$Z6@ 08PM
MG2=W.I$WG2V8]N9B:8Q$_%[SSEZPSKA]+Z"IKS-UP=\WJ=BE*OA+%'V1>6ZF
M8U&EZ,M*G_2JXK/G\.&8J *%RO=0(7]R9K_V9E@]Q&TUT3=/NYDF?G"5G/"T
M!YBBAYX3]+3Y>(4U4+GI7F5$4S'-74:!T!"3$"M>QH1\F(S4XU'5(F4%#9GR
MQ%#TB6UC@#-0)OXWM?)<8TW<IB"A"G#4(P7KN)$9ILDE8]S+LQ">2:%=CTI.
MC*J'A>6Y@;1.%$2<TFK".8\Z*LW<V<^!9IXEL[\]+N26-!P6R7_(.48&P%6-
MFY;3VV8%\Y@S!U5+DAIUD'B#/M!Q&PN6GY8U@4^I(.==A_4V ;\U+W6+L&M=
MS'O)F:QSCA_?2MC+M/.'R31*2]?WWD-05=#MZ<)$^!(E10UAJH-B/*;X.R*0
MPHT^$_1_CJB@H6E2IHZI(/$P:2;D.A9[/K75L$("GF,J[>2II])VX1"C_$/7
MSL_8VY8'/WX#W:_MMDNIZGROSO>-D54.-?2(7?#$U,+$$CTQ]Y!C')M*JJ&
MW44[P>MD5AL&U$KET#2A[R&,Q4!\0A]GNGH^ZIN#.MGY;Z,P^$5?99AOM*WV
MIJ 9\8/W3/?3"J--^R&G1FL]I1_E\MQ3<4%31E6HN+%LI+7@R'R*RSZY4S2.
MJLL0_\0;X KPLFK)$YH$,96\V$?P5=/^)A#(A8_RZP!?%R+Z&?7_M-7@2$DB
M>PKGT,95S?!;[;8?/!<_YS1!T(#)?>%E><U#^0XKD,)E=5G::=":DILZXKG7
M^@"'D@9-_N+>&3]L<N-Z_ 9^Q'ZYM([(XQ0<QS1XS=&,[Y;*OWR%]%VL2JR4
ME0W_<U:F59+&E"<GHF"RV<$]-3X$@<R\8Z)F;OT!,.LHQ<I;L+@1/AHPH;@V
M KJC*8]%S@Y_FTEZJ^#WWI=>\)-*C'5?044G7@.F70BF2K%DSR\MS(L)F+/M
MK=)U"#.ME$(4I:7DN.LU@!P/]JH!Y#,25%:W;O;808A'<F-XURL*(#!X3Q7/
MJHH[Q<R\&W4@(A/8W;VR&;+9,7[3-X947!_)0%BKK_75C5\V@)93],E+."CP
MM5\A:/+A0QA\J-4D. FE8?TCEA=-N#,>S]U[.T*,%^=1-H?"?CW<G_"> I/J
MG3".XF=:)4G:X-F!-_B8&!757_P),AF#_L&_UEYVA^. 4,^,8U1J+7$ ,:%H
M6JGOY2]O]&)/LVC^?9JCE."7WOB"#/X#FGUQE+$[@&),OV;7 L L3X[!NZA+
M_?^)O)@=CYZ6NK\M_OSXI'=ZVOXKZ$G?[.='H].-OK%L4(-1[_ADTY<_RJ!&
M*Q_U-UQY6GV]OR %?W\Q>F%=1ZRW^+X?#+3>^=NM/G:V\+'A]!M\\,V"K]@4
M&9*6^]9WIS>I<?1X_[-X:J"OTBCR.GF4U;,?X^.(U\*T#I"E/I!EV*NE!57O
MK>,=)KS>HLGUNO"8)[6HP\<6SK,G*)ROT;HE9J#JN]NL:,LT@<9VX3XLIH]O
MH?:I:2C'#8I,0]=B=_+W:QS0^]5OM_W8#;MR'L5?+Y"]_8#7-XZ5&H]72>6V
MMFO!\.ZW-5VOT)@WS=5=VTW6IQ^LN4H/<W+77*B7S27::(KNU$IXZD[-[:A_
M%)Z=GI+A?I=Y@GK>:+[+[]9.VIZJM!V.AN')\&@[TK:Q0A_C_S95Z%M=X$8?
M[*UT>V/:K??F<+-E:SUYNR>>P]%9>'S<WU \V\7DP93A,]Z>X3 \.SS<SO8\
M>7.0$ N@1#&M[]LF7$LP^?MKNWS[(K7'Q^%H>$L+:Q/_=QOFU[/>V/Y9>'(Z
MV,&-?21+9WNZBN,)3FO!.G&%V]VE:WS_7B**NS&X>[KFZ 2?[;BUO*S+=YO7
MWQXJPL'1,!R<;6HV[TX,X<EOSU$XZF\IQ'-/5]%^Z).6!M/. ]],5L\&X<G)
MJ// =W1[3L["T^.SO?; ]T.5+&\^[(R3S41V<!SV3TXZXV1'MV?8#T_[FRK\
MSCC9?*57M(MUMLE:R:MP-#CN+)/=W!RLAQV^V6O+9'?C;;\A84.Q$'7K\@3W
MJ%Z.M8(YVE3!='F"W=_8(RBQN65XK,L3W&7I_PTI34*96&R9V8+5LW0W]U&N
M7P_.3L/^\/2[3:_;]59A#^RDI[6=P\/C<'!VMD/;^:PB/K_<V##?17XV*VT=
MAH<;.VQ=X.>Q=D=;NV>W+)[8$;MG/_3*!Q]9H0OZ;!:?/ T'IUW49T=WYR3L
M[WD]Z)[ID+M$CI_O7??Z,.P?#=8WK#LCY+$VYB@\/3UY](UY[$X4!Q>$'W$
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
M4]SE\0)A4RP+H="^GYIM5&O-7'9Q"/UBF/8T]'FE=M;^+6_F5=EFK<0/!1>
ML:*5NHXBX^95!HMN),.*U4+ZT1I!L+59DC\*/]8D"+;59=6K 9C7V$HFXVRF
MB/VBJM.';:FE6:[B3*T&=A-XG?=2Q/+,259^ RR:]< !H8Z=BT2/T')]GG%N
M]7E'(#!F[:,U9048 [TU9(5ESZBR#<@*W30OS=JRPB@+&"HKWEC7PYS?F2*L
M[% :R%1M4*J,J,H.@EQ ]:8] _6DW+&<]$UKX8NQVX5SSEP#N[;6V^!,THU2
M36CS &*(T$L,L $BEFJD@+>28E^?9X\#;ELZJ[_FT<BS5BPS9JL,SE)FTW6U
MVKLSPVRZJI0P3>^;EZDQD):+6\/17(\_+#J5J>MD2LSSYK;<*"O;1F@9EB6_
M45)JD=G+QF#9Q15[+J\EI5]5"NY5+-8K,1BU4LO-;?&=R7CBA^\$Z^G"X>]%
M4Z^)#Z#XD"&M'963O$9]QXM:BMO;I\?'J1Y[O\R:$U,[S#8UG% BDI_8/!N%
M,>]UFNT][T5+>^.&T;$(MJ;]Y(M96^W9Y0#30M96N]V2 K,A:W.J:M,'WSK<
MO8H7R^=U)2\BN-CCS9)K3H!J ^5L94(/!9:M6]6>Q5D%35=F??5,GYHA8-;@
M=:IY0M['./^61RU^*:O;*P"A:LL$^6:(6*6=Z=/*V5HL,(^R->=Q=#L;0?-
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
MFI2H0'F7WFS$'4RLHI&5AH-9B5P=9VD6F+]7A)2\;!DQ^V^ %;I((KH,I$'
M@U5Y_7]>,LFKI*=J'#'P-+\\GO!04$A"Y1=8VPM9VG@Z^#>O<"C)FRP=<N2C
M7>9DCK)I^9$7.'A,IZ$W0A'-A5+IF9@N_99'-&FZ%J%)&J7B6P AH)A7+[ \
M471 YZT5IJN;X$M$#/X.%\SR95B*:JEFH5@"2YU- )W4O0^'^(10EQ0N.*,3
MW2YJO^)]4IHG%KRSO _VRVFD1&D><6 )'OR]RT*6;B>5[G!D82BDR#-]!4I<
MH,]> OBB]3NW<2Q7-%\1;>Y0G!08.8GPK3%7'4Y,W,<$32):SEWZ65Z]Q60[
M)V[)^I^EZY7T^C[!F#VK152Q%)J=#G,_AKOEP1V>$)-;Z\ 06)Z&2Z?O@-+,
M*5;#<UPP6+%.N=Y1NLRNL_/U-CM?\3 Z1L,&>1WD_9 +VEQQX*#-I#.:TI[K
MP4'"F1TNHQ+>1?$649D!QA'\FM583.L^V5T*;83FNY7%$.:DDZPRG_D*JFH[
MERX+94-I45QZ5OX6HVW4KT%/O@0EW8)<#2>+R5T0ZOHMO0$KX/*1BX.+_#X>
MK#6+GA7.$^ 5D/)A1#F/\V-6$)CYE#%)BWNQJVY _>/HDWLA,SN):;&L:G6.
M;3-'4$3S_)P2PV?[4J$KLG?C\3YX8A:L7+3U67+=@E+?&;)P^<'2&&CM'J9&
M^#07[0559(QAHO<I3^/-DV6\"J&R, I9.CQX7P'T @4O#GM_/ ->B?M"';3L
M)'MGX6 W'3*9#\*24/=1+NI9W2'?L#* ,?T)3[27URR&/7P-L;X JU)"*0YS
M'RZ-&:P0QI4,TPJA?([.AEXCS@9+.!L:<S;T+A<V-UK>8@=A_E0(#)2\3^ED
MXM/_1NE]XR1.[6-\S4W=[$[[WN"O5T_/W_XE2W?WU_5+<%NP_KO[F]O_7WI^
MD*X?[I\>OMW=7#W?WDA?[^ZO[J_OKKY)3\_PP6^W]\]/!Z'S(?4\ZOK!$Z3R
MH'9H%P>?A7HF3L2C_G#^7M% ).@K:&7B(4(K=U7EXK\W<",UN&.CT<YVC!'<
M1<6#'O"?:"X^FWWU%Z<U:Y%>0>O^K\[_6>/\L3$PPP@XDN[@#MC@#LWX[^0%
MW4*H93ZF S" RI&+KUXT_LNO3G_'$;(-*2&M6-:! /+A\?KJX8MT=R/=AY?2
M7[R?G\!"N$_'\)PAK6*&2[\CW887:D<*G#&LVB7>IZO4]<!&P#V_<SM4L1A=
MZ%V<W/*77Z?NTO\H&&C/#-33P.XO*\Y?')^6A#V]$H)!34<(M;W3Q)RAR=.4
M,?B0&X.".H>@3F\I=; 8/"*O)(C1!_L-+'Y!I0-0R5:74HF6[[^&/G98IO0Y
MUG?D3JJC?@?IEA:_"CXYQ/X;RZ49!NF^8FA=4.<0U $M.4^FFB)3E>-G,Q(M
ML%P/8]#7J15=S_(^1]>NW8AKUSXQUVX;?'ET [[?/CY\?Y8>ODKHU7N\A7_<
M/TO?;_]Z]_1\^_WV1GK\^Y=O=]?2U?7UP]_OG^_N_RI]O?O^VQ&XX[*F5(5R
ME5?%? F=B.;HW- .7F%$SY>O3IQ@*<!=,&Q'R'RI$_9AX@4T:,B"7M4RN#TO
ML213"Y,5T2U#7%[6R5J*T.3QJ3C:@+L#8NH.F"493VHJA: _X.W:E7C>@KZ
MUVQW\]Z 2S/<<$_A#TWFM0BL%FVMZ##K7UF8GQAPEJ?X,0MJLWXSLRV)Y:*S
M("^%2$!7837.>5XG#]*R9C?5[R#G;)\MGV72?<"\,99Y17MZCDB4E;RQ[ N!
MG)DE5,4T,AC1AGUL2 Z52_+B#).L-2L6F_#2*RQ=*I*M".:89;6"Q2TRY2>#
M P?RN@ N4)#WP\8ZE9D9":QT):\ ;0J"+#$1@SJT1Q,MG2]54[)D/NQ"5O13
MPP91DU)A^-\#+[>)Z.JOJ)_::=59M4+,^W&8R7JYJJ4U.[&QQ2MMSL?VG(=,
M,G*70B</-',&GL-/] ]3>_118E&"CW(9+GD%%4W'"UBO=-81&VNH"K@5Y4[+
M "87C4F&D4<1C/54#BP9CBE*O$/)D6I:W&6O?<U?FY?88*\F\L):@GV-G#&A
M;8D_:(JJ?SRDT)&\.$Y9(V5.16"AA-"DSZ<)'D0T8^<A>G$"[\^BAS;^^!G[
M/H--P*ZB#91+K<QHI(Y;L&00I4[TSFBK,=H:=,H B N6SRJEP1]83\%Z14]K
M7QQ;_U\-5-5J170@'?-+WCN7:YMM6O*R<3H+H^_\ $#<> /6!&'Z-,G%0]%Y
MCB4YSES%TK$Y/A =U8C(;U>YHEQTT,YA*!=93AVNU)$F3.Z5SHF1%XUI9UL>
M3,YE)HN&TL3]B$R5[P\PVZV(1-,K^ &;Y5-G@G6!/*:)A2/BT@3[4BF [_PH
M+"KL$@!G$=931*G/,\)AI;R-7LZ13]-E!GER[PR#YN]T'(<;=EU.64/3G)#K
M'V_T/:5GVBNY^)83D?<4)+1#!]T;WBN3;3L^"NG(.NF4&F#1OC01?32K]OKQ
M2G@ON27L,8J88,UU,21*]A,YOP=/A >%&;O>8<<A6 ACD_SE>14F7RWOB5(:
MMX#)P#%3M%EV_:+'YDWC*A:]8DER><-FE\"&6-#.18P3PJP [%)Z2FE=3_[C
M_'7(3X?U89-9&UY::DZ[[\)A@8UT ]HDY<6)\N9IV60;WHHZ+\++LE6KDD/+
M6TF5IF(!O/U:WE>P2HGD%1CN5*>WHKW'&$N-!N\E$2>S['!LXAC//H(V*?#]
MJ5$SRVA")5A17@Z[7&**K-VP4X9JT:*]9$"TBO-7S9RB;/B; WI)U*9E+TY4
M&V9+9Q)D3)=.R\_2@':P<)&$X0^6TLZ_QNXV]!C*&HSQI.^+K*$KO=<2:'!A
MYL333PJCV2-KZNNL^PZ]^S#7_]@Y ??[H'[DICT3+%E^/];XE/@M'V212QE^
MXVII"'?' :F\$:W+)T+!N<EZ'<"YY?LD>*&B@!>#>6^$=@S)QLSD4Z-XLY+\
MI3@'51(AEMR0L/D"CL\*LF@B/:JQ)?;(.YQ72L7$^9T$K+7A#^QNS00A+QN!
M6\NT_7ZQ'L[JU:B@0) YZU)[J!C?,+.:ZAL@8P=E<35/FS K14@R4AX!_V?5
M)53)4S]+W\N]"V))HYNN+X59*UZRI@59*?; /(Z!^I.:,[<.) *_MV965ED!
M9UVOXA9,S>(Z.*LWFUIC\Y.T/#I0L&J.5OMQ],^B&S%Q^2["X<#WD?;<Y05H
M=-,JI>,2YXJF:J9F[W#]W-.]9.$ED,S0O(R9NJ3GSREA-'O@KAL%+?<U/;^6
MQV.P26VHJ%+-/^'&"!F-T'.4A)GY15T.2_9P"M4B.:#8;UL1_83W=&C_#71Y
M*L<K#^]_@B"X<EWNZ^26*?M%^X5P;BN79='4I)&%G)F;U4FY>&>J^7[\J5;/
M^*F)Y3B797IBN=H[V#;12)UUP #B]-ZH!FNHCY/(2)P%_UF1-8B[@+? XRI8
MJ8=D:;AK<0Q54;=6;9V@6WVZ%>V[ S9(A7HON;9)FWOF[3E6:!G):T0+N[T
MC][WPEN:J9T3N#DV=O$+/[Q?#*A"(QW[CY:<6*SU9_;H? AE?N-,7:\W$4*@
MI"9*<.*H(\4.*H/+N75*2Z(M+K"E<-[^> 6 F#L#^R\#^GXG[_E()?2&XDRA
M/XO>!L5]^7"4&#X=3HT49,[:<)AR?TK1V)NV-\:@;^!2_:(\?#4W![/IK]05
MRIN-NA7/7G]#9F(U>5@I[]L0E3M=, =NUH6GF#R^KD14F I:)JAUV34W*S!5
M+M6YNQD''*;R:_QK_8+!>_@@+Q?LX406/T0WI/2? .W/TG.8#H$ZW[X]SE81
M+MRDUNQ'[;WXQF<0Y?MA=_I/L.ZO&&["ONJR=(UQ\C */.?X]J,Z%Z#^NE<P
M26O>-TO.X</?N$M@5M XC/;8"QA$I:: @!>6;,F259M(<\<"V.,Q?T_YLK4O
MWG?,8:W>(6U9[%1_D"]7WZ[NKV^EI[_=WC;3&63?K_.!.D9"4 %I7TUL=SY)
MI/B5INNP*/_*I@%)./G$9#WO/IJ)/M#BH@O:RG(2DT_9'Y]=+Y[XSOLG+Z#K
MH1=]GMXC9';LZ89N';Y-=,?8UX4<N%28+$@B^'\W>S+_^A*^^G7^<\N^M*SJ
MKT"OJ_FYJ=>[TZ)%J=IEM]=KX:)L;>FM?J4[SW8?"(Q ^:^.WIG1"#XID@H
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
M&9Z!"C= A(V+6KH]5)ITV52Z+=&:!(3V*)D;@9#=Z7<50^ZJHFW P4.+HG7
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
M1>YV#<$1@B/:S1'KQH*WXX@NV">:)EMV]_ <<?IV4:D?KY2$4D2 Y$//)U+
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
M6Z=]"("U$6#;:!&-  Q;E*H]6>EM;0T)9\0&6/F2QO!9'$L.^I9B#S<^EJ6
MT#EX-/'(85XG5Q*NB<-I$K,^P(QN)+XGR<,(0ZO\&[?&$"JS=5,H!:P.&ZQ8
M&U=KB':#^KEL99O,"P&K5L*J;LBB25B9H#'(JM6"%OGGY6NX<M^<8$BP#QF=
MDPMDDR8\MP&5A4F$R<C).^UU3H"X$_R9<#_L76E@(ZP9M>*O891QX\/HD9/H
MT7>"!'3YVXQ*=72&U@VN%*C:B\ZP-:S6D.W=3M_09-5N07]I@:I].!IV+*MZ
M;9-5Y^5=F$I]K-8/A%>A3<F/S4ERF_8+MKNB'=K)@:JN3Z$Q4%D*@,H&4(EI
M>R<'JKH>A>9 A265AMQ36R"ISLNAD 676#50#'01;H06N1$6Q0"7JN;S[*6!
M22=FGITD<&IF)]0$CH[ $8WS3Q(Y-=,.:B+'Z/3-WM9IK\+BWZC&=^(EL(H_
M::^2A$0!K"J-B12'H^2'$XD)Z"TP]S'KEY.CMK:,#4U56:L0S,($.W+TK&G7
M;X,>"PSXGEPUBT*@Y\C1LZ8!OPUZNEA5O64-K+#4M_7CP['N!"\>5AF(&>:'
MMLUGW6)W.7&JYOPM#999K0N6"2SMU5QO$DNVP-+186FG_OKE8%I]^'<5,#QD
M92N[HUT6?8O/^Q5-1ZL:=QTTCG]R3?9VWV_T+J/AYJWUNBJPI&W(]O;%877I
M> 0&WUEC<H6JL4-,:H!)W92[9E.#K@0F6XS)?38C;0*=>J??!8EIJO/HK.W"
M:%<WTFK=JL4ZSFPWTI$7.,&PB6ZDZY@0:UR_FX:?8G%;=R,]Z@#=71RGM(P'
MRWO#@"X,77E!F)"\[M?+?C0,XPW]>V?L-M]1[LUU0:T;,JB3!M\U1)EO:U#4
M.V0:SA88,@6&3AA#-1)REF)H#1T8.X_JBMRMR.(6+</V$,OCGED\YUV@7Q.'
M_1D[S7<0S'L8(5]EBMHU4J6.H.Z*T,M)HVC-,-Z6*!+!X.-#T2X">"MAM,:)
MC[6 LE[AD3WMT)WKO64WYM=?X(\_J2K5$0[J^)HXGDL[>% 5 -X&5I=Z\>M4
MK4W]^8$GJ&L?,E&7,=_M%'4V8L&>TNGKJB*;%:$ZD7EYY&"JI1 T 285Y'FW
M*RM;S5038&JC<EE+*UB)I:4J9D]KFT?IO!P!W\FDY I@X2\B^3@V6O*+.=&;
M)?8(+;P11> KH\HW),ICY 5#;^+X&1/6EMMZIZ]U976K]@G"FFLECE;H ,WB
M"!M[:K+9Q*A?@:-VX6C%^=\LCDQ:SV-:\Z6ZQ^H8.)*CG[H (C(DWAMA;H"(
MQ$GD#1."6QT.?\>D"4S\E1S>]1-4A"SI%Q#CLD;A(C/@,,T]R^&X6R?RWUF1
M_/><B$^O3C2;GK9<&6^NJZ<P[-H(IV5-/3>"TQKRO4M[P%D5(R8%I$X 4LM:
M>NY 0C47D1+N@JW#!@1IFO?L*FL/E*["9W @Q:"HLF^(ZT0AY_&AJ;%NWYO
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
MZ1#TW="8,\OY5PRRG07\P@<X*7@A2/30]DWC'E@.'*/G6M6\MKF8"L@ *.+
M+@/F>J;<P9&60D^\H9ZQ]@Z+,Q #NZGB?$)2II5TWLD5*50BOWJ=198+ >.4
M$!(@ 0XE@41\RX5760'-S0IE\-_(,$8B,*#5,)Z&KN-:@<N ]\7> IO."BT:
MR03N=I#-8<,%3!QX=D.V#ZT=C[0J\;G\F.Y]#RRN4-1[?8C!(KA?6+!90*4E
M?$AEF? SB&T4I#E])R<M7\!@JN5M]T3LYZMG_)]XL38Z79(_((6LQ<+PXP@L
M)0\M6*73!@?5>VQ'C,"B;AN&%<.&+3)BX3$V 9@S="X&C1#$B@'6.X@Z?$C^
M<7?9Q_V"MPB$3D]+X/6OQBH.PMCR(B%C!7(+FR\O->'%'N:[R% 9"1H;+6Z:
M+$=Z4BJ$\#PR;T\OE*]O&7^N?$^\2Z[-S$#+7W%E $[=IW%U7&1M :(;AMC2
M&00F9N6 ?*S8$48 HS4N&I *;%%48>!E 5ORZ=&QQP?O.29.D6:KB*LV86S/
MDY5Y_C/<L(+E,(0CO(5<$0C1@$J7V;8S\G%&-0MLY + 2,@T#QR:A4)]JVGE
M*?2X2K,% EP%2[ '%E/ZZF>0DK#,R W$N3Z[@*[8!GN*GPLX3M<J]%).52#@
M9G EX^6F46\WT^B=^(@<5:<SE;IUF4H/8&,2=GG1'2!?C&?Z^,T'<(,$^P$W
MOE]0?;WDK\,2:V98-)\>XB4 BJA/>8.1OL*0[WB9634L-:N&Q/SWVO][*W3#
MK[/<WM?\9\G^1R6O'17W?R92G':/A_2-,S'1/1^XP7WB]8-/BM);/;"S, XJ
M,0D/K^@6W>KT)"#-?#_B#M2Y!<Q^RIC'F[P*\RK/SJT4_5<!B!YW!?JA\<@\
ML!%1YL/W(&GXO<AV_P03%/YZB+C".#/N".26\8N0K/^XN_N6B-0B5S;VHX7,
MF5=2P#B/ZR\ GM2A(W%K+*K]%5F3J-3/<Q]@<^T_HUA6]6LP_T%BH<\Z$"\W
M(K!E0VX_\Q.:6@L$OWI ;.$JZH2M[KFUF1F=#:+O?N3? M</OL&5OO.=V:@G
M)+."[YR_XC#"\_H YQVXI/2D:##)HP'J*19"E/2F$!6/E<I5TA-86@ZY=F!M
MPFG$D![\P%C12K+W"?W4YCGS\A*@,C] 2LIZ0]!!18^WQ6HRCU*6IN H/=[-
M#*6#:S,SZ0R$,U?$>;ZW.G 974F$]J*MLWP+M0R =?D>4] [&>S,'\Q^KI@7
M9AKRY><\RW>MDR?SA51>5K4@Y$&9.=)I<PW)<3*D6]6)HV4\H!H<Y! &5'4
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
MQQTZWEIMJ+OA.1F7\,Y-W@[H@W5*@/_)0X^1Z!"#.B\ZX$7R.KK2,FXKZFE
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
ML&G5/*%!YUPK!.^5,5&XP;,DGTQI0E(43M4KI&***5D.[ \QD[1=LCWNDFY
MQ@/.S[)P@.Z?*])NI<?@[N'/Q$?0;7?;U^VA$#P2V1/%STW&N:7C;44EDJQO
MEPY4>0\V3<0?GB]DGP,@>"*_HW#^RU(FY0G%DCPAYAS1KV?&:+B8L+!P:7/L
M99?,VU3DG @S"3I*<(%@E9%\KG2[(P3124YZ-%VW:_/#JDA/^FAEQBE^\QA@
MTU@*SC(G3 I@> A&Z=57:)B1Z+.Y"(P;AA3_2OK]YK><'F$ZS!)%GTLM::3P
M0J7=H?X8@!%=NA!^Z?%=TG.2YCM)NQE<^Z9%%]H/)E:TM. 2TXQ/M-BZ Z49
M%J.1TE3*EK'->3NA[5RR=/Y3KW3^4V_[_*?&<+_OV3FMN+LSM/A59I".&25&
M0I-X^1X31*2AC( ]<FHKM;I,)OLRWILB,_PW,],[%(PRY2:$CN@Z$"V6L&L:
MH!6JB:F)_X05EM-U<E?+^$/I2%T8_)B\VR+FF'7*2CJ05Z']R+4_!,72^LL/
MD)M4/#L.*:I!?"9]#^^1RQ\KRQ*PXX>!G7&6\=(  SR:+]:\/P(^FY[#Y]_2
M>&?>>83(RHK4>DSYN&6,A;L6#W6*98N'3&%/O .3>(MX:XE'64QEQ%Y)=N"F
M#A/@YS0H#^LP9R[)"YJ[N08!,\UT)2;NK_P-_/4QL&#[I(,#(&?D0L<)]-QJ
MPCV=HRM,A5WB^THI NT-ZG+!0ZV5"L&][U V! $K50ON$[5@V!YB7RO&<S>*
MLY7Y4&C5J"&\\Q<B*+ITA8L,LR3(\U%.FWP2IQ">0CD@&R%,Y*_2@E!5BBA%
M(>0]QG"P*6V>_>0!:J$ ^-0JH;@&CH,B0XJDMZA/#D0KL\0#EHZ]%EWOT%M%
MI>WB;MESD?QTEK#D?AHAD^%AFSE\S*DOW$91VF]::BTQ?4K1';X?;-#&]1ZY
M $6VYBM7>3@(T-Q7B)]@:7._.MFK,NJ2Z:_%E\CADQU[31,6X>NTV9U#$]1+
M52U*RA'-CI1F.(8_7;B/:;O[,CR2!<"P$?+,D%M=))\@>U?F::=+2;NJ43I$
MV@G\$1FI)YS[5@P8P,?TZFCZWM'TWD5'TTN&D,*GX^HJW5V4P 8*B1+U@Z1"
MRH%].+>42PC6S5M"2NZ^1&\6,*QR7L%U"OG 5J;-J&S247XC'US+.3SF%$D&
M4\%".$\+YS*!*,N#) -:4%NO,,9U/?*W\ZZ7PF@MZ5K:,KY5O#%U]"=]>;BV
M>,T[\!=61]P)/@A)7^%J'1RMS%=3FI$A4"V/ 4NFIY,(D_Y?#QM+BK /[R=
M)N.3Z_!V9XH@E-Y)=27(]J<L:0*?,G6I/YF&F!=LXF-GC)*;@&,J5\8K;()A
M*BYLYH!<M1=^[& OKHB:BJ0"M;*[5H*!Y7I$ B*3HT(8)4W$N*$:858]B@@!
MB100P@!.8%IJ3"91FP/\J*>CY(]\[+E*N2DQ;J(2WH4<D_X""629*QEQC!2-
M2+*Q!=D-,,P8(QG#GK>>PG F:@CEBU#-]"3NSJVL!9I4(5LL>/8Q/NL7>3"O
M;4&7PUQHPT=>U,8E/#Q\2S1Q.>TZX8[8;$919I66IL(*_3^R&3-1FG"U%=(F
MX!W$-[,/+S_/G,T&K&)-<SZDSH?V=^*3+.?UPB&G)!DO7+0="0-6Q*1E,"[A
M&&#1!325B5]%-Y #C\?U:?79SBRXJ:3%=^E"* L7'4J\@Q@W<? VD:WB +1L
M5"O]*=["H^PR:)V,;DF2E*1/%#%:9*/02]4#2B53EMB4#">Y=DXW:C=+HF8U
MH4 FK&/;9=$D-XTR)FN&RX&_YRR%:+T2*<3H8*765M28"DE2H@/F:3_Q^'7Y
M08K,7^XW0<,LL2,)\'X5X,E3DF@=A5;/="[\W)+3*?:NCNEK)=]8GLPC0X-_
M!18"=DZ5+@%$Z\"=QMPC"5OUV,+D75"SK=!A]^?J#2CR9E<T3>6\FR+2BG\H
M.0_LWYH@!/L7>9SXN4K_D' @)4_-R(35(@[);$L2/.20H=21E/J ,D_DOFA*
M/>$]M4(Q_T"*=HZVVW9&I)%0H$PWJ-IK9H>\!5CR),K4:!GOF6W)))^\]B)
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
M0Q($0HK$4BE9FEKI8,:@4W(F%,A<4/AO(\K0H+EG3 FRPLQD^8 ]6KS&P#)
MSDQ%/7C$FUOPT@'NN9S^)6)#,H"<:=N9-&BD5$>Z0UG/DX^'NU *AB3Y7K1Z
M2,+I]F$;TZ,H"J<>WJV'N^'$+4]B=J#O+=9[-YBA$&.(+2)EK"J=$)8>@ZQD
M<%6'Y18W7K=[=1O- Y8X\F 3FQUYA?$0Y;K 71H:?[].+_G&&UK<X8+IQW>Y
MM0>^LV^TL<Y.KK]N[^H6)WU6^/[R?3&S!Y(FNIG;!9IRMA3VFUM/F2B]N)=:
MA2CL54VFRP;AMQ]MDD.9IOE=2R3"<*8]%]G?O,D$7BD_5K$"L0%%)H9'DJ Q
M<12)+F(8LBR9LFVVH&JB9+*BY'L9R*#O(Y>^:8ML*UPY_#]C+J^LYCGJ:]Y=
MMLQ>.D 1_>@'0,+>/;4Y --<J68"/93^%/.2JFSW;K]$'>V?K3HJ &)(B-3'
MFD_GN:MDS'UIM\]BSQ8A%EMNO$(GFPD 8:Z,Z[@@!47.(ES[9^NA93C8?RT0
M!;*^QR(LQRWO=*7FQ&/S-4\$U:AN12Y#I(%87OX5>ZV0\X]$^Z((D/*L4+9\
M2?+59$,Y*O90.PP(30*(?\'KA9-- A=:%MZ$W,[%4"8E%@0\7T_F(?&.<-()
M6;C1PA;$C[E%8:IOH&0Z ;,#8"LYF8^\ R."V@_#%,J8=T:AJ>P>9PMT<<K"
M0R]3T;C[N91A4+Y/"[\%/O&7S/A%[/M7WFO!W:<;6(7/R'I\1$4NRJ:H4B\@
M'$^/#1[V-?X3VY_D@+*7J$RSY1NA[<D7"6E$N3 6SXA%'U7@IDFO2O:8*/XX
MQ+7PB=[_P_I9R;"+4RWAL[-EV'R_Q@\L4CU;&ZE4!Q"8Q,MODUQ-T?-;Y:1K
MD329:B2B*)IC5T8)<; )-V7;63^KN++$W7R[>;P%"91*?&UN<(O.]ZE6-V5I
MV6)"*2)M"DO9$IIN&7^*/9%9S#=048>QRZH37DVJ_TR4M123VRK6PX,Y\/BI
MZ/%;]9[I6MCNS+.XK0<W<<:L<I=L*PMU(3*V(].<,;$FD)TF>?L4;A0++HTP
M3%Z!37EW $;60G(]B4SB/&0N^=R*TE0>.G+<D])N]NPI2G&[E<%-L&!J 2HJ
M%UQ,95ZX+&F+Q!.DE5&UY</G?3X?@K>=)>-I:5&;.UX+DY46^=:!/%V:DL]!
MZELN;S_",R">1!M!%&WX!\,<%&JEF#H>!(5R5+(6G#1EXBWLEQX'B+[R ]14
M%'2D4M._\G0N:I409TPN%^'#ZQ6H09A1SC^A,B/VF+12DX80Y8K9%/!4&GA^
MFE41MX1Z,H& +]:7P!0=M8J')YD+7S4O-L#42EB SEO9+V]E<-%Y*Y/2O)5.
M>X-I-*#1X"=2@38>%B\Y0%63-R1ACBC.R?(43DW @JB+M^7\%8><L0N65R0H
MQ>>,-3#/O%TKEV'\:31<1W;W]I_<4,;35%7E_#N5<KBBSI4T7 882;(.2[OY
M/-P;HWZ[H(18@GD^^Z#7LA7_2XX 2S2$7SJ_\F_<2&6,L@:"]X$NESJR(6!V
MA;(A= B';E'R?)EV1(.9R"Q%OA@EG\OG$%?_I2O6EK;NR;Z+5\**M!,1:H6E
M7O.E7N-2KV&I_!M5&T6_:3CW%SFU3Y'8^#$8YX]8=*(T\D,E330=X+)#+9H=
MM 6064 R2$(L(YYYFR2LV%]2G32+H@77 I-JP*1^#\E#=*S)QWS/POM3H0TE
MW?EX) \,=U(<E;+%V%.3+U*@)ZIV2O6)HY>\[T(N(XW0:T7Q3XEAG[7KDRX;
MY1?BTP(VA_>@%H3F? N[6X"QZE3M)N^!L,3E:0OS;?TDZZW,^-T*4'\*O[&
M?/J5-OJY9CU^ 3;P&1TML$.#MFC<1;S66VIU][S#/,6#D/I9?A;N65#5>V"D
MMB@Z11V/=\PB'Q-V30AIZV+46BQBF%3!C\207"H"F_Q-S+F6#K\T!DD/"@7Z
M(]Q$A#N.J&\'%1<5W8$?Q)J8P#=E35;N.-3'BN,0V@)U2,6!&,6')-XM'^TF
ME[?<QW=2U2\0/3=A,]'XD@0#RD:H3#PPY>:IE2HNESM!D ,E92<BOBI;?5/U
MX<;DA)(^A[QLE8L;=W8M^IS":KA7@M<'B!%WTHTB )P%B:A0J^J2BOPJ+%2X
M!0R+85CBK:58&8AOX0N4<U0P]Y,^+@.Y:" D69X%%R3?R;9P21,@?JHEZ$JE
M^.$&A#[+7CW? (Q)#3]O0AWF+? D=C#=A:QW(2%T]B8G1T,S?>J/05TRI8Z!
M:J&] .5;8EI2"TM3$V1'(;JDA D0FF/'8-M=\2+X% ]2[QI+55!ZD%#1A,--
M<5ECQH78&5< 2EG#AG=F4FS<0+T.^Q#@F>R\KDHDW07X57P789X\<I<':?[\
M OZ,&04'\.<:\\^!@Z3IA=\"W_-C43\@PMF5^E=)0GKW?!/2OY,[#G#@$YP4
MX]&H.P?.'7Y7\B^S$'HIJ^\-3UGO_L5_HF">B.$A$7R\>WA/.(J[??B3OKEN
M\Y&BW?:[!\9;$7PG.8QPN#8^+:G#%8\] A'R[PC'Y>4?>*\1S- 0^7U)RUGJ
MZB\%.]T4BIN<Y";)ZD7OB[1D)AE[PHM='.6>$,L<XRA3Z2Z?G$:1/2?3J$H6
MN/(1MLGU"OEQC>@Q=KD_ [MU)#W<)2,1<O)_AV**;J*=3!G@@B=FJ@!D^V(!
M&.)<EE_% S !&&N@;X#F0WQTYF(Z-X^<P&,&634-&3J?Q+%(YBY(GIJR,\[>
MG].MR*5X#N^&B2C/4P+E%0&+TGX/\&SJ5T 1 !2)8::;/6WOD(K(YA).I1N4
M*CLV>%;1API4)T/HYE:RFTBR4^.VQB\__!6P\U&__>M-@?C2*S<0'>"_A<>L
M4@O/R*+&1.J\Z,1I0>D/Z./P<*BXZ.O&6V91.$/FA-*8;1Z&I8I\F@_E*ODH
M-$A&9)W\!=(^=%RU(W1-I/5:-+':BR(&19S?GJ.VB]C<$A]XDV&:8768!M>+
M=.G.V'0PFO6[W4FGWQ\ZX_&TQP;#V<3NL,'8[HW_I]/&BMTS"^Z<-A)3KE;U
M6@8W6HH_]RV(IG2PCX&_E,7[:FE_43_MM8OZ::]=U$^3+BEY,95++RKC_?QY
M)6\YGZ$K("YD3ICPVP1GVS9&I@Q.UTE3S>(4HZG+&_A:CA.(2'BD-%]"_Y/K
M* -:_O2HQ]\#NMEIXIG(T1,MYL@R"-:Y!EIIK*73_D^U,\R+D^M:FW/F-]'+
M[S]Y#;.DE?#]^A])S]$[G)WZ R5Z"0F5(7=)&1VEQ_H8#^6I%)27P1T[8:D+
MB4=F"X>5=$"]>1DU=K8'I-^)CR)_=<,CJ<+ZD)(O //\FN8CKT)V(W]Y!SH3
MV.7K&]<CM*.;WF4?CYR>W)J@I O&373!OQ9"8#)NM2<3E -1 /\[\L5"1+0
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
M'&?&TS<1/?#R5> _P<L-&Y@*G &\G@,;EV)-_3BBW.;MB(2K%1F;>9@ K?G
MN5Q,J$[47B<6^P4D]SWN1T.\6[ 0\U2W$HO<$ONY8O@FPG;!R0UK!=OZ">@1
M,4#@2GP%5(*G%VMH,DC;?1'.PH=HK%F/+$%0;)DM,71T=3LNAC/^DW+5=P*W
M_Y1T3O\9;4E^Q?V\8 N_$V29\X/2Z+_.'@BG^%*_$3%T,I0)C-&^@6-=PMOG
MZ5:QHWFWD+Y*%V4S\)-LS&B]0O&6X IF(V-*+<>F;*H]4+'$'J"X!9JBCW.1
M@(LU ?FLVY:QA^AHC#R\]T..XOZ4B#1-YI>[.85$.R@'V5K1[D'MDDH:;K(B
MZWBT,>OX/&4^A05*O^J:%4G*6210N"S*;RL4(8QP:V#@W)*-.ZU)9S\'_8:\
MWLZH<3& 86L\ULG&.ME8)QN_,=_U2?TL20%<HI.3A#%Q((MV-K\5#]JV3*YR
M/>T+B[[XGK"!]_6;C3%#N6-.QCI)61-(XPED6T+7,0BD@[VQS$%WSW:.C74L
M5]EC6QHV-->P^[!/ AA7Q60:6"?KOU(BQWLY5CN;':L5:'FWQ,+S?[_(K3KN
M7MUV!JVJ#D["M6KNMXWAZV^C=W4[;E75"8A=T&'MM9'1ZV^D#V*T5<4BY$;
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
MG.9@W!K @:_\T,7[;P*V@ <]L7?/KA/-Y6$K]PE8M--;K"EL.XZJ;U%V;#-
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
M[DUAD*22D#BE;M9(JAS+)E*A]\!#'L^H(D?$WM8+<D><P$,OZN6K*FX'[%X
M78G;"WX'07G7C<=>A?]X#=[I!GR?5Y9->Z$OO4X_;[S)EA4BL?F?7S]:"W^%
M-SZ#(;_U$56-XLWBSP/XT]^ROQ^/![HNY_YI.,C_?=&C9'4P5D>5'E7\"ED>
MU[(H93P8ENROI!)TWZ[_U"U4^IYI5]$HID>8>YYK0Z,L=1D7CNY1)_KL"/,^
M\J #CRV#M;2VEHR4!"7%7Z9H=J;FNX@>I)(N<<G\3D2+BX2QS =P.+C>^ZJ+
M$JIM_GH*#F2]I"+P9&%BIB9AHF!-PLG;%AK5*K/']_?>R*74=C6N+$KZ33*U
M+H*3/A3[V7^GYP.SP3[-._8GV8-/8 YR<WUH'F)F&_6FF4S?<:;CL-:4BY[)
MV\"#ES.75RQ@AGEE;8J[4SKT MDH02\XH[I4>U-=:PK*09T@&<<)6>M4GY%)
M-IQ8]8U[TU&]JN](K_DBC7FNN6!$]X/4W3/!@3=*9IF<4=UIX!W*=7F'+?,!
MKTK=9:N:3ZON],[3"_N0L\G7L ZIUG+O9YI#J),T5V1#])*FAHM>1"<,#,VN
M&^;4NYV@(:(!Z8F:/?$TG&ZV%2.E?'?5C0M&&QL#O''9./Q6\!6/4!]8?-'R
M6_IR3!!Z&'_%G %9 [_X*QDS>J';,EE6MG*UB?^NW#C5?\=N9BXS?]Z82UCM
M*W/]:#YY2/3D+9AEWZ1IN+U]OLGI?\W<OTT++].*:)/WM;+"Y/(2Y(9<6WX0
MA4!E58'47(%7S-A)L:A8;F"4-,7DZ,-$+>\WWEORUO&J%YA,)GO4VF#U5^(Z
M_B9L9F&_-LS&6_2XP,W-O<]=F0_P;\DGC^-1.&Z2R3TW[&$!Q?5OSB(;*M3#
M*]^2[*!^5I_1&&+E1EQV$E4"T@U3&PLV/KC./:\JQ%(_<<6>.&5>G![#U+C,
M"]9^LL233G6&72K ]NM@04=/A3<F=<I@939H"?RRJ/O8V5<4O\KSX1?4&360
MOKH./QM8P .S T8O2"P&ZR%%EP0M"-]+B]K AQ@5\\W8W P\1DM869[ON&@F
MHX<4K;9T=7R[3R'/1B_<JR=JW_8:HU7M-5I=[37?@\UF360VUV]XQ]EW;#B+
M>VR\3*V,,<SVN\#O<IIL1 L;/5'Z:'/AAZ,YI,]&O"'GO:5&KC%]-;=864,D
MP4*IM[QG\9,#2M,[HD+JEI?3>N"[,^N!_/7P/6!6^5OP)?F53\90J5CYU!#-
MRHTA>*:\!48H5DX*4#HA+5#_,/<!WFM1_R8O;_)>5;$E":$?YR6!VE+MI$X&
MNJK44J(T'(R'U9ZTHVY*&^7_Z4H6-=)JJS#31KLKS.HIYMKY,7F<^5PKRI=N
M4[W;$@0457*1=5 N4Q36W-*"_4B*;5K[("J6[O:8&KKKH:72T;(V6LKG%NZ$
M6KP2*J;+OR]Q3WTY]-@W#%PRZJ<4.!QUCU4X^GZ[Q=<U>5N\GFN7,B2I1&SV
MS@EF_C)89R.XMQPIIN)5BC$<]:;C_E I:G)OX6U])RC7*BA*R:BKTTJ*VIN.
M^J/C4=@Z2>DDY>0W^:-+2@I6+?85U6B(I%S]Y();6">_:1$W)&$&L^[A!5UY
M>3*IODO OKK.@^7!0W($K+(\:53N4AOB?I/*5CI&*O%I:F4D!/#HJ\.Z<-X[
M1FH2(Y5, -G-2%E>082325,XY3FT.?S=1>@%9[GDL*7FXI^!YU,]PR4G=%ZY
MT)28\?W\9#JY+W!P^^/T&\/ZAB<W)Z"\<L9Z4:-=K\Q9&0Z2A[VI9F2#K)<=
MX[2:<<HF>1W/.#@5>#2Z/.-<?6#^WEX<>R-TJKDF7>-/U_A3,/OAO-E"6>E-
M]?YPK';-/$=M;>?N.K&N2J#K$>Y+7B_+=5TO-V)T42?BG8@W4L0O>C$NUW4Q
MW@@9WZ,GMAVM(U]=[, 22/0(=;W!7&(?7NCOTSVC&GI[FD%3>V7Q7A%V.S4
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
M'\#;.-WX5K#96^"RS\R//?6J];KJI#?5Y/[$.+I[NSE=<YV 7*N E)3#GT)
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
ML]U]1ZS(O:GM^-E3W03N?&6"@L M9)7,(G#!'D3'O?.T!]*[_3^M].EC(?%
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
M-Z)C"+LGJC$PRK!OHDMP]*_FU@:3C=$=>.78H%JV*0PA,2+_[J,S5A(,C"%
MSPMCY@D6]#@+VLB"%'1B?U.J[("X,TPU]\%LSM?!(K1[[!<LP?(P]RPM S"?
MLR>1B@:W'X@37@ZXH5JUHIK?>CE6V8MCI=.\?#]Q<3;$%>#[15<FP89@(.(X
M"?GI! *3DV6-I>4V>O?7D*D_XIT_L$=U0:*!":-20<H3'^0;8C;N2=,_N3T0
MJH2"._CF T_>P0;"Q#OF]ZRE19_Q?,L/!"UGP1.R'M ;:QCHH]^"->;HU=N$
M9:$[%U',,_=3KX?U\OL RGMP=2=S?:?UX1%KYH&38+IK"YXE! OS_6"KT$HM
M,"GOL@B_AC];@*61;Q0#ZT2%%DE:< (<Q1-E*#@))RUAG)!;JA__"/3HJ+RR
MAHH18%6+ /XJ5$E690@W35I G,6] W2X?!=D4&R<2E**(YWFFLYDO= ]1)0<
M[ =9)G'TP.K\JI.SG3(,+Y; \.)=#Q$Q_;>T"<8GBZ=2N&]Z>/V%08Y+ >Q6
M_H_>6G@/Q=577V3UX*GW7)_!*H%GHQ1[92-8+9_^+7KQ5WQOF054J=(KQP:*
M+>_40[B=&8M$.;P+F\]=<FR %P-[8UH+"3'A+#Y/2=SE690A@--P^J"$?+"3
MPFJ&-X$1^3"KT@\S+Y1A '7AH!*1/-B/(*^3GYEY"U\ G47Y6@>9V)G_I,3O
MC#'[\!37J-J]04)K1)F8^&"^++_CLNBX1'8F_ZP(\7O'67'MZL4\%U[PBL-:
MP9;!1+#E$N&5J&RQE  +\^D4N__AFGC8[[#6*B<J&F-Y27:G!+&)ZA!6Y4DO
M'E>,[JBY>T99.+!3F ]Z&2* H1"?>V]OXW4DMBGG[A/"]IP336XEN>>P>.E%
MVL<DH4A^#/C!"T#I\8^_E**T-L^.1=_FLI;\IG4/<FQQ*[IQ(:B/7L*O^FUQ
MVY'"GL-JC@4P&!R"$,58? ? ?))GV3_Q.<L W^Z%WUBD&;2-9NJ_X;QCWUT(
M&EH5X>EPCUY$#V;XHW!TJ5SA250UAZ:,!'GM<'"T6>!A5BBJ#XU^+CZK"*Q*
M.&'P7\>&3\3.',='HULLRYT']YA)F#/O%;!52FXRUU6H1!E8 _P[F59:Z_:G
MXCL4JO88<<,K2R^0]6@IXAW$HMM??UFOJC]<R:EEEVK'*SFC+B47ZH5=(?:)
M]EA%V4TJ*3NO1&WE:3URDW/%(L.FH(;N7&9R-C;)7SS81:N!CM7= 6UXG#N
M,(QX*YTHDDU0\S5H@U@=X+>J<5;9K6Y%Z:F65-7DWG0)[)3EM90"%5+#=5EE
M3Z&&+18*3\7M*KVIS^SJ;D0BB?4':,B 7_U)7^G/4?&DE33ZX6.(HZC^<,&6
M0%)*/O H%6TRI@/,Z(KOSJ%:3<%(R'[2TEJG&B2VE7G@NOC-;Z3_D5<_ $DD
MX^;_V_YF(C6!2N+]+XB-[3MZXKWE\8+*3!H6RRW^0^Z#;Y ;X'!SC>)"$I*C
M9++DHBLS2G:0.JFL0H[GI@-4"&8CLIFH1/#G8 (BJO"LPR)3AB*MG;I.EMV=
M+,9U=[*,\CM9U+).E@N=ARL"(5(-Y,-NFTVPF^E"$?0^UA[_\.=(M\1!4O^
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
ML?T$=X+JFB.'/CKNPF-V+FG 'C@V*Z@HPF4G.(V\Y%SBO*F?.$7,>11Q<@B
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
MQMQQ3!Y/5,%,%!%(>(7AKVT1T\?^8WEL%(+U1^03*X>'\"M2M@5GGB995,W
MQ2"9B\FEEAE949R*C$<$M,8)0(Z;G,#10D[_8DM_F"YL1IF$X<P?$#FKX0]X
M.OB+T3#\32<).9(PZB1AAR0466P.DYZ'GJ[L8;'; 1RN#Y31J&$8W;(V4$HP
MNB\ '"X/='GWHSK@\ XX_++ X?6RV'-'^ZZ33(?#=Q^#T], L(6M"*U^(.^:
M4%/V9O8KQ58PFH.MD(%/4!2$_*T-1K2*7KL$V,_!Z[]J"(1JFV^I<.YLY6TG
MR($R MDU!O+1( >5&*#Q.$AM@^ONH"WWM:2385/@NG,,J=J;ZEI1.V4'J]H:
MWMME*"8M!L%0QAP2Q&@(BUX]K.H6%'>'I'H2)-7+V81M$.X<FZ#UID8'D]H"
MMFN7-3@>9%M1]'ICARY".!/(]O/UV%ID&G) MG.L _87R5F,CVX&0^-8KUWF
MX4@4;469 &.J@U$1G,Y51PIMN=@Y!D^[WHN=#D\[Q_3(#;[S&0U[4WUT=*JJ
M1BYH]G50AY=](M*T5.9W&OU+H<(>=Y4T0KQ@;: 6P6BV12D4X&47]H(TMSXW
MV898#Y9EM:;2R660'$=*;ZK6C74[42ZSEQ$(U:!H+D6TE^JHE)/19?:C]J:C
MLOU0[_4!+:")%M[#42V;VQ:9JJE^X]B!)WUUG3O7O(\ZWE*_K=@&.6F.XOJ2
M:*&1,\WP$2O #_>6[V-+/J)$(L2(2<P246E&]-AP>O1%/[<H-8_[H7AY.F*%
M2O<(*Y2N88^J^1-=D0AO0='5QGQRG?4Z ?J7Z&_Y+G!=D"=A;7%SE5@0;W;:
MF&"YG("P()*-0R-Z:+!>/TE)$%(4]505_I+C9Z1*\%.LDK-7T0Q![_<MWL"
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
M-CR&#8UC3ESM38U!3FG]L6PX.691B&XO#W(29!T?-I</Y3T&718?N=:;JO)
MR9;1'\F(\A[%H\6KPHM%=9#3C)C#B%=?>?\^E:-[8=G\(G ?Z)+#:J#K)UZ#
MA6[W#9%<WXW%+HRT'W"R^]P,:T9O.DS,B8NNB4)A+=E-?D7GQ78SP=W$'03A
M;HZP-AU[5V/O?.3%2S&$/LQG[XXASL80F7*CRS*$?)R^TYJU&V5O?7?U29=O
M^?>>E\RX7)V,'UBDT2S887V$189:7DG0EA)HSW9W@ _K*M;JJMG\U&^7C\&?
MKX#(:H,%A&82CO-PN0\5D(MO=Y> :$7ZH!.0"PJ(WF !T='M&F:G=AXA()?>
M[BX!H1S!,$<?/.OD65Q!U^7-+N]C7F+TP$X=@=AB>3,>Z_$Q+[+='3K"&/:F
M1LZ BR[1TA0?LVD"8LCY'%.3C]DX 5%P5FT63:"3D,8XF8V3$$Q4U!J%77Z[
MNR0$$Q7[F9"K3V:^"_LA:.A3AYAY1D<R9USK200C/&+>N%@RZ34E)^/>E#2
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
M)VT]WQT"&RT?/-5Q 2?5!'=N*'#GB@"E-7&[]H@KU\3M.CAN7(Y3V+"/6_2
MWL^5+-\F\]MPN,^ESD!K*SGFD'+SQ4T_5]J#I)&++F@<X.SB@_QQY6ZV!4=M
M9*H2P!J;2"]71T@O2GYZ$22QA0B1CI FA P1,N1(94CCZ.%D!4BE<-%'22J-
M$1V5.'2:@83-<B$B..P4?SWK?G1J0-EW89Q#7\G,B(<ZHLR,P]8PGD =PQ%5
M(GPHEIR6 #SS8 7PM]70)1#@K0W$1C!3Z/*G;EHT1.FPS*!X8A -918N3U"4
MHG79Y<^<!U^+SQU+*U2UU4DIK4A\\'$7VJMI'920 '5:6S$VVE!LN"/WI.2I
MQAFG6]EL4Z34AKEJ9Q<T-4CYLIG)CQ8&3'#Z,7%Z05V?*#RL3F/VBC)^^7/?
MTD[I@ZX?=EK]?K( 2>AZ(0%JK>LWX!KN4WL.*IOK-G;)4.AZP>GU6EM!79_
M6*Q,UZN=HJQ?_MRWT_6J?'8!,J E*\E::Z'KA02HM03H)N PJY, 17U[>YC[
MEA( /7N=EM9/5II7+P :#\_\CXQ"Q<!C[>A9=<A2F6,L3K0Y4-)*%I14B?N\
M&UA4_>15)LNS8\SAT5]F]I <+ADUW 68\7T_X5*)E>_?+VI8BS/[.F]DN7-.
M3'9+\:1A\=V@U>_G,%"V@XVM!42;8+!R&&R#]WPG!EM_HU;7.?S*G6X>WMHP
MV?[^KO^"K9K'5AL _?:L ]9YULJ=<7F:%KMH*W*KKR21A 6#"08KZ O>H][J
MKG->E3O=W?565Q9Z2[!5?CK=T(=GWUJ@N\XM5.Z<2]*U770'H3^HF\0=;2"#
M;5\<([AO(R4G?9P'I>0M?!U;SK@\>:&=76@M35:.DO=.)T6]$A^L0/$7*/[[
MC;"%4%T;?,!*9K J%?,K#;ZUNR$[KO291(&]E+E@OEL[I>//[O$OT1Y$")83
M$2S;<7-OA9MSB9/\*-'=#3EY94TL;P)>?&K[3\ 3TD=(GQ.1/EN:-?V2S1IM
M0R)@Z3-98]9HV,NPK>TCK4<(%B%83D2P;,?-@WU;#]J&?,.RIE;8XM)48=9L
MDCZY?,AY%IL3.>5(W,M;ZO!A^9IS0\UNZ7/)MB<P^ZT]S.$.+E>'YX?D$=J[
M>L81VKM<D;(<!2J#C;?U=FX[DW7"K5^-2-F[8E[JEGI@8J.M'OX5_2^SU0)?
MXSF*D,_R8*5-Q3E^4E&?BA@@W.%?_V5I7WIMM8O[D-KOAC5M(JQW!C8:TFV#
M-L0H'.K=T 665M;<TDY&7VF?*M;@D\5X8=7T*Z]P-T%M0'ND#3=T$USMT[2Z
M"VD=EEB]B&T3M@&TS1!^??MP3V./L?Y/_/F,!UB_DG/:D&1":(\N^/NO^KND
M]&@SJ4Y;NO4EV#AG<1[+(P=SAW4<(F_$-4R/'I$SQ_=X=#+8CY ./)$>GW[S
MI!=7M[';B1>,//)[ .P0=CZ$Z;=61M<]VL,I;,HTIXVE=./WP&0(=UXKUDT)
M1^7-W:[X.*L-O8IU5<['Q)F]=N3T]G R;0]7">O'$/X2;9_J(@S6[:<2P2NF
MRXH6;0VF6Q9O,^>%'7C(N)7*5_-%I[)E]EGTYT+:PQ$S&F[""X!SL"M9.!48
M#792?WEQR8ON;R>R-G2B72NRKJ.IWT_8WWT35.53U/VLN"@;GEUH:KN76Y2E
M;53JP5'I85B.QR4$/X:V].3,"/_ BX09[48'&_[3= +/>H^Q/=WU]:*T+24;
MY>&Y;FB41]]9[$5)YEJ10EOVV;J$$<.FA8O3O'FCM#_^YCJSZT6+J61;KI06
M7+VTMIJ]E+::!5IP5=@P>KD%UZ+='SM$PC=*FL!.I77D*M"'*VP0FQ SJ+'@
M"].5P$[&MG^O3F"-I:G^DT@C0D NQ [Q\WKEM+8U7YY>7EF2E)[PVB9QZL$[
M@<$UKMUACM@BK<"Z_39P<EEMDA2EE#9)LM;6Y$%)DU+[Q48ZR*3*W*D-QW<
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
M[13&YWT4I+%#!34;LKT<*&SNQ;>UU!$<!67&;8;U_/X;"+^Q,VO$)::O'LY
MP0AE?XU]PLCSM[_54Z D2:+*4]X;HQY@ ;2I.D5VE5A:@J3_U$V+=C@'F04S
M,Z@QJ$O_#ES3&YN43$!*CG3/3-_V*JF#+J<J_Q!]>4QXC8AE$@3X\Z>Z+X'F
M@ V;.2[V-/N!D@D^MBGET.]C8H^Z;_M?/.:R2>MX3[4./CHBD4:A^FJJ_R2@
M2@STRL(GTB2 '_Y,YIU(^HMNVAY.B[_&7HU[LE=Q/15:K]C?E(I9) F01Z8#
M),&) 5= EV9.'6<<K9IK2(G2%.A(G-U/XM(W;WPAB$@/J-#U,FBS)0$_3260
M_2;J<KH'-GG1\1\M= M8 3JAI:GI^8Z+?F;>I'7Y-6/B$W<&ASG.?UCK=FWI
M@/ ,WF'9H.O_0R>/^@M'> >%[ZVT3T]Q Z,KME'Z_[D>#EQJ7>BIW!'Y2U/.
M-DY6"46T3%:@$L#&Q&N:- -V\W7:-ALH*^N=2!7P7S %":.4P ] ITA?0?C"
MZT*B64LSS()*>X-++!V-)IA.(6D#ZW4)U1&C]V*7M WWS&1RS&J$^GJ*Q:&W
M]K;WMN'9A=I/<6XMW=O:TDH:'OP8UV':;'9+_,:)21NT-: W)G@<^S/=6Q Z
M7U[-L3\- X.QYSB#=A:/Z"//L0(_^Y%8K(RU@*_(/I#5SLH&Q?Z<NN%TYOH+
M.1\!I?PXUR<PV\^Z]:J_>QC+B\LK$%;+>[BZ?+;(BS^/7(P")M^[<CKA8:N#
MP;EZ=B0FUV]4:;/YPY4%V=%.M!)?L7%G.MH4DA>,_@U2!;E8QW]XO@Z;03U)
ML".@W\R9Z;.1QP$)F=UYM4&+3LVY9%"6BOW, Q8&%<MEPI@I40^^MO30OPX7
MJI\F+2QKP\T+?_Q$&/>K R5< #[;@CF!\3%W7#8#JBWI\"\.A3J64-PHG2^K
M\Z$?RU]2%AF?*)XV""3>+1*_Y=8/_1BNV>=\=2"8J=AU)A/$!V)R%&4:%:LL
M7-"6+E'Q@TE!C2?=>D<KYA64 IP""AIJ#8"B?)E&HE;B4E:.Q'4HZ^%ED14A
MO4X)P@?B>A,;'ZS;/ZJ3',,(4 BVZ$FL#@!3).AC0!(V)R9,DKH;Y,A8Z,#"
M4+&!&@DLGXUN>M$*EV_8P$FHS$+#!V=-T/:Q8>,=>!NNX3U.4_100ZLS(F O
M,*9TT_-L:KAUS'Z4?J5N#[JO<A?W\=[P'=QKMM4=^OLGD() W$^&B6:?MX_M
M9D#<*4/@[%>W>_^[C!0=),4$I6SX^\J&'-F]DUWCG85@69A</);' WSP>QNL
M:7\Z=2QJ<E'H 7IN(T)LD!?CR'3R*$G!M&!=U.(V;;A^^60Q$-A.-@R"SQHZ
M@LYP0Q].C4%01,806&MXX YUZZ6-RD@>J MN%JXY"O UT?!.X..UA=T3F*>*
M5E2O'M-2/DO2=EJVEIZ,*1D'%KF?_&;C)>K%QFL?6$IAFY9'Q[*^,6WQC'+N
M&0:[LASCQ\(@&G;.) )VTAS-"S<@1Z OF<N07AMM ]AAB1M6;=@@MC/4A!WQ
MO<%CQJB+@Y:F)WV@EK@3P)S&WL?/!9@'-H#F)"WL.IH !1MAZ7./? [_\@4(
M8V[I[Y]-FRZ'/O1E>3RT?E83GW&_V=<+PZC=8<81S[OF;^9?M^&K3\G/>UJ[
M+RNI7W7:<NKG64/)/9B 5FBH[,\U-?TEA2?5;2N:NG:H7:N*4FL@AF<+>S<S
MI9V9ZX=)4ARL,% _-4?QG\EK(]HR2[F >]FOV/-9J8(IV8+UWDR\9N^",IQK
M)TYI-Y7=Z/#8D)2H2KO2+>:)]5G\$"T'5&OHX$DO"]RZ/G.5)')GFE=2AL-#
M9V45IR86OS$'N;I5EYA)GF$C%JX^&R+$6K^EJDF(M9W2R7,)KIQ)XWA@!RWS
M$"QV$BRF] [$8\K91;\UV!W4?N\L=NA"_257.+^&]MH#K;*+Z"V/A7CQ:,K<
M-1V7169H"C+W\&]"X5)2KQ+YJZ:/@XGDK7@HVN='ZE^#S?GF.K,'W.@'ZC:$
MWSZ$^UR<X51L=MCK%^R<>1#M5*P0O\F4LYWTW3/E=,\N!JW>L* U=%BAN^-]
MJ'9"]RO9A] M&0[T.'AJ.VD<'4!QGEI?K3K4RJY6K?H&T61"*X24LIWT+DAI
M*135 UM:2Y8;' A[-I_(;HQD3C6':3C5]@]O$!\-"D"9-O$UV^TR;)O^V87:
M4HKVD]\/.L=>[=^C(90R3> 2"06[,+6T0<%6:$>%/56'N #!])\2(@(\W*S"
MGH^= (/7 I:FE*UICJ#9@!Q5FJ<3L>Q QW234'9E@--L=XQ' 2DEF%<P;[6A
M0*W3V4\H\.#,NV]HJ4.8"LH*L !F1(;54C3/E&!7U,#&=&DP(^:N,XKPQ,+L
M.2?P,=>25Z@9L( 1X85*,$0P1[(#\Q$K:26/^+Y%<R1I.B9]GM:(!/[4<=FP
MK&(Z*J7*3L:;NS"H:])TRL6UD1<^>U,GL,8X%>+A&9G>%)-S,5O69^FW^&XO
MF,$0,(!C63Q%7M)'SD_"2G RWTT1,&+?X9QA2'WDL5K'26;-7$MZI1,S8<,-
M5@,6QYV),EF+%LETUQ?)9'#O,QS9/W ^MW0Z-Y,)*V>'GSS"CA8ME=$Z,FKF
MC1 'A7$:M'JL#IM;;2P$0IM[0R'>*G!+_EKV,19 L)) 6A<:KS3$VYIC ZV_
MHZ_$HYV-^=?K<EH9/7H@W,P)"#J:G\QSUCF7L'Q7S"R2%6D&!S/U4I%;#@'0
MHF0!M%0@+J.$X3EH%>,=SX"7IM)]ING?+F9Y4]E);-UB L[S',.D HL*P0#$
M@LO*^N+G@M4.NNN'8C952C"Y0ZL")-TPW("*MM2W1O(V%):Q 4-PXO>P9 !U
M &I*^L,1OTN"!"4^"$:'HOFT:E>W38^G,EP_)5D6BGRZI"3>LP['3-EV6C1%
M.UHB"?"B+OA!"\9UZ?C ]N&A8_$"_)\6,LSU=_88?IC^PM5BQ;H;*K3<[1?@
M#!<4Z7LK%$Q+:(2TX"QL+(G"*@XV@*4TR#G4;47W^W5J(DX*YSQ:*8<CQ/%9
ML,(</G6)]$)?C:?B$BS"Q>-@U29Z@#\'"\FT6#$'6#K8AI@7LD>U.+Q,B=@<
M>B2JPHVF0I]F=>5XE*$A@Z^/\%X*E)CF/\>T(DD<"-6>.2$CK3_I*LI0[G9[
MX\%@I!*M-QD:,M$&ACKXE]S5SO+6/.R7:A*)P:SNM-N6F$9-_EFP=(:\(%\]
MDKE#4<R^FIX!YQ6X*34R6D=E-@R<#1E?^N&'..IRZ<RMS:P0))++$1C3TB/H
M=7B*DN,OQ'EQ]3D0B'2)^CUQQ>"GEE'.RM^8-A&E(BY>2)X$]:ZMS&5S3EU*
MG0IVZ8B?3414,W)0)S_K(Y3&(97"1>6%$RFU@$8A#@Q*N!&:Q""*X:KM(H85
MMV6,P(/E$+<-M#[!HF%'NH-KF:3R*'XX-@I*BI]AQI@$_H]5SF[R_< D("WU
M(E+R) OQY7H4XN?8F\+U^T<N#KX[]LOY=R"\L72YW".D>*4GCD6'8B-=O2]T
M"54E&=6=6J=[=-6==.]2+V8NVLUPKT%=2GX/3 ;"1ROB%R@)&.64J+?OW)F<
M8T5O"-)"=+#)0-JT4L0,JZ!?E(,6J?\,2SC1+:E54 XZ'+0[PV'A:M!N>Z@4
M*[Q<4\+9+58,FEG"J;7!,JWCI'J[U)7F+.!K8I7ILC>L:(%I&1N7HT#RZ*HC
M<]6:;EQMONU*[?)1*!I3^^TL5&Q:+C,WIVAW&4"ANO+=*D*S2X@>AVX%=P+1
M_89&Z=5^1I+-Q(-Y/7![]\'2;?_2'M^$)N\=P7\NP'_1Y'W$*=Q/?O,(NR'0
MYFU%H_G8^[W7:W7E@FE\)6=,'S2G1G!/G=96C'LRLEPJXIX>!I2U5G]8,%MZ
M;]QST-+<*JCETK(DA^*\&9C7XII;*M_3[71<C-\R<L\KXC?L8Z^UNIV=<\]$
M7^U:4EN_5M0V.+OHJZV.LK-PKU?;;?K>?KNOU5G./V-3(XJ+>6Y1?WH=>FZO
M)*>N]8BL7N8;:FB6N$'-$63UNN+1:@NY-5#VT\![ES.OZ051<+W@^M(*,*KA
M>KD#7-\=M 9RR7A2%7%]CFJ-]$21O%EPB 94-/1;95J<5EI:7##RR.\!T.+-
M3TP[34DID--RT&0YF0RW&$NB@V6ENZW/ :$C'TG6PKTM?2,C-\ J%+E'4_Z[
MRRG_-&K#\KI9%X8G!+$>2Y? _F.:S@"?LR:5TN6+2U;*:[XC7J_+DEN?3,N$
M9Z6_ZY9%WJ4KW?Z!O19@HU@ZN3.1OIFNYY]?FSZLP?;H3Z0_ZK/Y%^G9#3P_
MG%5+HFUO+#HXP[R'?X]GIHU(YCIKH_02YEK0_ 6?9>G2#\,,6#ZY%DN!;6&Q
M$>*74O^,/T44])8$Y\0@A_$!$&&!BXGJF",=II-9CK[<?V)U,V"#_AK81)*[
MK>6^LR)#+#U#3,G.$"LB$P>12#R:O+(ZIC#?^F0F#=M9XGK]G]>\WX?)JD6^
MFIX>\@4O"KDTJ"M4IY4&=OA/FK8)#WPS;=TVL#7,(M]Y_7Y7+U3O')NL*7$H
MF >_W5,Y>423:YT]STCO<@/M7<,X+MRI*,& J6J0,5")ESR!:A9QLZC#Q,2B
MB(REC'D??-KI5+QB9M>4U^X#%PR(:$N-^);.%Z2 92QC@E6&K$X7C O:3(G6
M)\:RNU\)_:F+R9HN^RD?G98CNK3X@M<:PV\G)EP@P)CP@M',]&,VP,T;KV&\
M-'AQ)&MGV6*3@GL1_)65_[(.]CA?-CJOR^,U1K2>)ZP;PJ+-J'_/T\VUY 86
M+UG&)7AL&#HY6LX37QGV#C&,8!:P\CMF%\UF<",TPN)E)W!C;63B/0+QF^NI
M22:P,&($U+ZZGTQ,@UM?B^\7\II_STPU;&<\=TU:N(=-OS!EE:[->J>W3MJ7
M"S;@17?I"Z,#6)QM=G>@4@5J%00<W_3(<L;J2],PYY'DV.D0"!-"W(XE82VR
MS<LBG'QL]$&G_4YI93R0X".2'Y,3LJK#U><#^<C^B<_)VCC^T8(YX 81\&K[
M.)]\E/0UA<AM*6KQ2VF;1%*UM<O.L&ZS*[VMULVCE7>O,#^;E@HRN1//^L8Y
M1T> !=OZHGJ:9G\'+BUYM;!S>UET7XWR^S79ENJ2]?ACA6QXGK=H&F,C,*X0
MI7OLK;LXJJCD+6--Q\CH3"EX<T2["/OI1E 1H?$;-EQE-4P@$O'6:8:[Q0E/
MHIV()]%NN>%NA7J!X6C0KL?TS?S:FI !!09.2($E(3#Y*,7X'_Z5KA?;TLJ6
MH%\A,)AVRC-A9,1"D\YDZN6R,0.$$YRQOH3= 0O=<VUW9K%..CTEN(97KU%V
M>F'EPM]<?49>'?='E>W$I0_8V?$C4+P7L/Z[W+\$)I-/J!OE"?G H?V![]T7
MW>;] J.*O6<0CV.XI[.G/(\VO+V*GQEK8<CHF*(7A-336J&PN)PO1D#80C$F
MM=?JJN<]TVO4.Y 6@+-=_4HL!W<T=)@YH":)]/W[ YJ%$@K .:%2$.TLTV-N
MO7D !&Z@:1C>NB>F.Z-&&ZUF'X?@ &QBI5UKJ]%&,6]$@GV<)BJ=9]JEDY:*
MV4[4?'5<H!4W[E4QPJ6LA7A+($*Q:[Q.^0 O.0A80&]7$5),V)G>23[0*O;:
MI)E4JVMS1?X3&\\?./[[<@/BFU71%+HBCIK8+^V8?$X0CO<.(F^&\"5(:SZ:
M_G '?266%7D&6@S7)-RT6-?F^&687LXHPA$'K9E(TP F+Q'793@H2*.N.>;-
MT,(+0G@[A\&QERO%*J-8.F/0@3;%$4NY ]#[(,=K8O@^")>#%F,*#TA7O"<L
M5X/I2RG&SMC-&J%DYK3DW<?U(3X:S :854)M'"'%Y-\E%F,R3-<(9C]YD]HU
M&P=?35Q0=>T%Y296X&VYH72BL%R=M_NF5K-NNOBA!U.+[M^+S5FL>$] 5/FX
M.\O!N5;E[NHP[IY5+M4>;Q[N'Y^E^V_2[=W7FX<;^./N67J\^>7VZ?GF\>:K
M]/#;U??;:^GR^OK^M[OGV[M?I&^WC[]NM5T'5]B,(#W?,7Y@N^@P=HH?7CD(
M$$A]R"X0K^-2T?U-]WP$);JUC2P=6"L;['X.%UH&I+$G&ZR:D_L'8;ZDT")G
MJ&EYI>S*03(XJ6#D@3#4L4I ^H#CX15/P8!'A#.@R%_6^\U:B[MMUKVVT$UR
M/[<YZ</U_=/]QS:\DJHGAQ')<BI"Z Y!16W:3/UPJS$4Z%YKG0FPU5UK_QN(
M2\_V\IUD!H"ZO!U'AA&S_6,Y\@/J+/HLSPGE'V-1 \->"[.+J3:0;:#((G'P
MP%P0(9?'$@#0#^SA>[CJ^[!4M?Q1^O!P?7E_]9$;DW'TPC1;C7-YW"NZ\?;;
M"B<9SBX,)S#9(;&WA2E4[%E%#O.HR!O:D!YS: ;V[P$0 @W?.0L=Z$\QMKC6
MMJS'T:=K\RO=,QFD8*C7ZS7K_& ]ZWWS<5?\5AJ&4]VR<W)W7WQXY5J 2B//
MT97A:[<*OV198<QA'^T,N]<QU%E.Z4CG2[2=W.;\6Q:I7>0W*E7:TC]8?%[/
M\%O&/9N1P*%"@B4)KH3V1V3)+9IV,PSY/D.8+4& >HNXIJ6_+NQV?3Z'N=)K
MZ")@#S/%4'S<+HK%1?$74:PD9B:%0](UU4Q 9.J&15PG.LG\RH$N5'JF4G+Q
M+3_%*!%C;NDVQYAU,>>![3M]$R8VC"C*:JH[0*>@EZ]30K,^MV%MC LL3--,
MRY1Q3[AZSK-L9DQ L# 972._$120 DRFA(X7U_1^\%#V8B*O8"A1^4+>@$<0
MDA;,V% VA>%T/D R9AV7>YE2:BF,QJ:$H+4PFU;\=' P&L1GJ;;Q/!V,F\=[
M -@$LV4P/9F+-^8SPETR$$@8R&L)BWQ!8=P3Y"T'UT>1OHI=,VK&2.F:]BM&
M7,W(1;7DT9TTZRI]*1E;:PW,<PJ3K)92OD+/8*H46&0><8SR!23Y)%.?KWH.
M,WR$++;_QA<P#URXD/&,V!4)^!)"3.,W9$XCX0L%-X<;M6'.+23[G7:("1^/
MFYX4/3[4.3%6I.ST0?Z(3,O@X1V> X^OLG7>:8)EMK&?MZ1E*3LF\*#5HHEG
M> NVWB/O*O7.3BS"FU#X< P>J^_A+3A,+^JX&.H"5D,;H;BR#?@"]^F/ZP^7
MKF3Y#=008"EYM"M')&604+#WAY_K9'<XPUBN'LR$F'/>Y 0L*3!'3)^>P?)2
MZ;1'A#GE0Q]WRA1X.Y.8UR5FV[+-C?D/E_82O_V@;MC/!;/PF #WWD?Y?!@=
MX-L6V.%LZ$: UF:'VI("CU#'?NRD5Z83T38_>-;AA?:+8-?-A6YCJBG4/$=P
MFTH7?+G"-V6$;I;"-B!.X.).4U/_38R(:&CUSU+N\K(! *PR"9!.H_Q4I$\O
M&/T[9C\O+)$H3(.S&A':_0'F'*8UC19+-Q91>C0=S3!LY7).IO8)5A&P(-$,
MK.ME*S(2:<Z2<8$OIJU]3 >E44&*2$^.[[1EZI9C]8'G6!O[N=O6\B:A%AOL
MT.3XR?N4G562N:;:3/\)7OD-19;I&4#>U^A]<5S;U.L_]72/4O%Y;R"_PL_E
MC1+VCZ"LY&I#6<D]O9S$&B34(/^A8([@LZM3/7WINBA2J;0O(X$K5X4N,<:?
M?_5=ZQGL*>]^\NR.81IIY;EI?15D)5F>6Z^4$]IRY^LBDVK5T67IG@]:&6O;
M)5!QKD_<5NH/%]88O6ZSO/347'M)[NGG<G9&[4=I[<FH_4'\;.X<&P>5.R--
MAI.Y'#MHK7ZS])?E<OV)^4;&L'V61V*'IIY=Z.R)U2IIU+H[S./9G=E^[FET
MSRY8KSX];28\+N C= "UG#R@I-#"<:57%S6;3;U'B[XX<$.#+?5888]ND940
M0'1N,7<?F*?XN#\-O10,3WT$NO.UL.%Y6"QVN=-I=U@HK @8N])I]P9J.6CE
MG;8V+ GXO-,># :E#-5K]X?%<-WW/U*)RY/E=K=?TOFI[<Y@_?EM@O[*A]M-
MK90"J-Z=TI'#&SB#WB%G4+1[?76)"0G#D75??)]3=9!B5Z4WMZ_103=N!BX[
MF!TG6*R/\DDFXW1%,DYJ,DXF ) 2 @ )8ZX>UHXPY@YNS)VRF7"GSUC_S <N
M[8L:!Z>\>9>&V+&".X9^&-BS3](S=X5L=%;68-9?=9^(4\Z_7\P!V!EIY_*?
MQ+X5$,:.?5Y[9H@?KCC=(C=R"K3^--5YNL2UI7N>=$ES)L$D?\(Z*I[J^>18
M8[&U>]G:!^XR+WE_=[KA'_OVW[S-39Y^E*$JMS;$MVN$N';WJ@F_;0@S#>-A
M)A9_O+7':)W'(D@:2%_'UJVQ]#?3LVB&Y++_I[4IFI7^FF?3M^+OZ2'\1"H&
M52)L]4'^6 (C[>&4:^2;*GS^!6*=--R\.+G^PL1>CPA]P&-*[Z992<.3+3DQ
MW%(4;K'-'IQ=R/(GI?.)-8W-V&[!#ZFG\+_[MF\:LU.\0K?*_:HI"R>;17C4
M!$RTNQITXATC;N^^)7E\4=%T^?)R^5,WK<O9IF80D2088F]/M354DRT@=I(#
M@L!+-<B;0?RR\DE%M1-+LA0F]F;%/I!SF-A*!TQL$RZ([ABN,K9)$&>JF(V=
M\9X5&UN1SRY";)2D4:T(H[KT$]_:J%84853O@??2C6I%I4:UW!=&M3"JC\WF
M: 0+YS>JE;T:U4KW[*+?ZO=ZPJ2N"7DWUZ3NJ)^488DF]0E9U6H>JUH[N[AR
MB>]+3U,3$;X+6M3I[UBUJ'MG%RA82-A X1$K20.2[;I6"UO99>>A-D;>%#G
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
MI20->5"98L'PL!E3+H8#^L*ULWHCIC;3#ITW8>AU$C/5? RJF1[+5G@(1G
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
M"53G+;R?N1P !_0U5/&J1HF$C<&9!L;%"\443G,SUONF\_4**>PEK"%["-;
M7<@75BN_'$*$YXZ(538'/DZ&7S+<]:>Y&4*5;(HVG10YI(:LPG@6NFD6WZ\+
M8@EE4RUH:CQZ6Z,H7J2)ONH_05+\Q7%M\\<QH*ON]^9ONL3P'<9?UU/=='DD
MR9E(3N!*5X[NCO$?X0^]NFS9R2BL8^.Q0_ 7^]FF\+30!"=_[;@TQ[KTQ_^2
MA^H7ZZ?NDO^<IFD52N_37+VX9[!].  S[%<N";E[]-8!%<JNCZ8E<5]@N+K8
MDY69X,PE=.D:4],G/"4E(:^%L2V,[521?@A6$D)="/7-#G[3F**OX*MNF\0Z
M:3>!L+:%W-[D\C\,MPC)+=P@*)P?],#2I>^.,S]-F20DLO!_G%WLDPN$I!62
M%B7M-:AU"X;\E;R36+#LI.2-D+9"VJ)?:[^<("2ND+A,XKJF!PR#59=7;3!U
M3<\B[Z<I>X3D%9(7)>]A.$)(8"&!40+_'=O,>[KT-#/]Z6F*'B%XA> ]NQ",
M<,' 8_>=C)V)3)0?V7L#I,))0AS)V1!'GT;.^!W^,_5GUL7_!U!+ P04
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
M0OV:Q(TP_KESIFD@AF%XO1+S:H*7=KA[QT?'Q_F8D2*V7E6\$;BD4RC,IGP
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
M7GI_G;_S*G+F8%*__/+_4$L#!!0    ( $6O55@F.X$MDR\   [N 0 5
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
M\=AZ4Z:[O 9DTKJ@X)O.NZ#NO$Q!^^" K%J7"GB(25?('+OZP"$+ZMYIJ ?
M^PXRF,/3JH_P^AT[PNFL:<G7LTTNGA>$L:V^MDSKJC4,7I^5FR2K?>;_ VE;
MXRXJDH,A$P%+0:M1J)I[%Z!MA^Q[2'3V)M4 ,NMWL+'MX/S"3"^MXHEFR_6Z
M3601M:SOM$+7@FF1(%EE0"0&8W16U?9NX'<SDN\@S]F;+AU$<C!CMKFS;))B
MM5E0!!VR <,Q'\2J)*A2"H54I*)#V[$-LN\A'WIH&[:#S+KQZ3E]7%">KE?K
MM_GLXV)>3M8G/2;5&E-\R9!MNSHXR]ANGP^ 'GW;,A16]"X'OQ7, U.@/P)I
M^@AF0+US>F?B6;[_QKL3)^V 0U*1IVP%8Y4Y0;#)05;21*H.57>SM1O2K;*$
MXH=73-V%VKT3>^9UN=RP6V$6QB8+"B."8?,+*7@#6>:0A;)6BD&*]F\"LQ6-
M'KM$MC>-^HBFWSU*Q^TLP+_7"_2ZGN],K;>-6@>3Z?(T$ZYU1<Q904VMG5J[
M^2M8(LA>E>J4=9:Z7Z"T);:M>/2#Y*0'E5N_DW.;J\&F_Z9RUI6Q(;L(>J*C
MB4D0@G<DVIYD:%>+:R ?B $*(V+O<]-;P-J*2S]8 KNWM Z0UGZ#7]<Y4BJF
MZBH-1%7;M%-ESZ[PW',L4D?E5>JME>X%M16%'KG0]G )[5TDU37?>/=%.>B2
M**W=DJD86FE-YOC >/ B)N.3M15[!VY]KD Z6,?^ Z89^XEJ6!6T.*%R,9>N
M(UHJUH ([<QD)@.ID 7IB\R43)3=NV5M@VLK'KG_!HIH'WGUO+%T0>O5O^2Z
MG7MJ[+5Q0'D\/3E>?KO19#DIK5NQC1&T;S<LN=;$2>@*SE0A<W8UQ=Y)@=V0
M;L4V_X-IK0,(M7_;TRM]PM9E"[$TQRX[P-SNT=150V(8K0A18M5&2#?8_5DW
MX-F*3.''4EW=Y#,08WYO2_VZ\N37J:V+C#]+8=3 _!7LU079.NLG9,5JT4$)
MV1DJJ=3<O1?6 S%NQ:P?+#T^J!P'2D6]G*UP]KX=D3A-I.;".E.&# 71@HD<
M? :+"$E6E;TP9$7W.][O1+15):3XL9C444:/VZHTD]#>8P%OHP:#4;(%#FR+
M8TQ(A%*J>UN*#-VJ5/T@E=8'$U3'C=[-ELYM;>M)6H,6-:@@.105[6;!5-LJ
MJ'9*-)<H>@=\]T#:BD\_6 Z\IY0ZIKZ7']I_6V74)SRB=4WGV8GS]@L."2[_
MX,(G)X)<4(K5IDJ:(]-F<Y-([.:9%)OIM<[TKGS;"W"/U>+G7WGJ4Z;/8O&5
MF?(//#JAB:<80C21%Z2UC"FIG<+@KYS4LB2!7LC>FY9; 1O3:9G#\>[Z]D%O
M&79[&2]/>-.B=34Q0918#6N:TDP*>[/ &BA##LK*J*(O9H"[,*X#&=-1FL>C
MS_XR&H@N%R>H2=8B=0(3/$]0D(40JH5$5J5*)I#K;?"WU+F/>\1F++39559#
M'W;=)/TNNSP8JD^Y2F FMSN/L$(L3H/%Q/&U3R+: =JK;HFNUZGQ7^>+M_.Z
M^HP+FNC@A2BB -EVO6E ":B\A6H=H6:)).H]X1M@? _]^/:ERVTGPW>51O=F
M N_F3S._J@MZ^V&^6+VCQ?'%M+A'ZU.J&@)%W[;Y'$1A'$/SM7H9#,7>6G8K
M8&.[E.V0U.DGL4X)G_*I]=UIE/[6]^#2F10V.=^.I1B._:JDUH.G+8'&YG:V
M&KN8LTG*%"NO[&O<EN=YT+C?0Q>^7HP96BS#*:&S9BNTZ8R\]E<VORF3=BVP
M0\^^I_:L)FOR@)X1!B4LHD41=>]VN0_!]SV<FAU<)?62WS!=_:Z?EKOT"HC
MKJY+'-(8UIJF%@>(/@ %EREB3+7XW@3;'MYW<'JV.[T&$MYP^NMV?(&=/';T
MVC4>K:.8-QY2;M6;6*J5(@JM!M=>>W'KL4_1#JZ[^LAN.&Y=V]N+9,C46J!H
M1^T@"T?4[?I2Y8IQ@C6M-KU/2=X+ZH'G:W],)NTEJ<%,W_JJTU6[[.?KZWI^
M#5 +1"]= S3QLEIT@D!0"T<%"DC"1TA*!<UN(KFK#GIW,[@EU >>QOTAN'8
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
M.*0[?)X@.+N%H;=O?.L  SC*VTVF4];WHF4['_CL I_G)S2ISK%EU!F2;!L
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
M!Z3"^2W+/,UGN%A\K?/%9UR4Y:3YF,):":FNY^P<H&R9OJR+$[E6BKT/Y3T
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
M*GL1,WX>QOF/49Y_K->*OO\XFN8W83K_\BO._YA,?R?,GT?TE*_I1L9\X#&
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
MK_T'SC].\N(>D:N8O-&192, 913UPAFD'3A;B#'G+)(*]G;M[ I3Y-['[#Y
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
MBMQ#%PW9WY$6R5WQ0CO4H?7$LF'(]E6ZMB?6K.)N.^WU*(!<=F[>Q7M5\C0
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
MQW5(:\*VCA=.;R+H4 =O2('@<[T#B/;N[+)D,C>_I>\0:/;PE-"#9-DZZNK
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
M)FT5T?MRHGO"3E>^V.0.UW_%>9^0VJ!']@JSK;_>78;>4BC!HDI0"J_7<,I
ME%0%9,A1":U<LAVFG1U2Z VED<+&2*9Y?2D#$^"TD2 ,ZH3*<J%;%Z(\TM#;
M.ES9(O2VCD(.)?1VSZ*>?_E'^,_)],5IF%W,XS"2A(89 ;%.$K9T'@1G"M N
MS4M,@@[U';YRM^$]@A#=6@2Y.V>PBZ(ZF%[W0+T&^FLX^WK]S@"XG8)X:T+=
M3TBOF^J'4ZR9W@Z ;DDY)K7)@,HCO85D<WJ?)5@=4C+"&V=:CTHY")H]$! \
M5):MHZX.['IQ/IM/SG#Z%B\F!<T^CCY=#7?AQBD=,QD2.?I:+1]J 2KY1DY(
MS%FP/*Q';@TFW0/GH'S'[55Y^XJ,1GKH<MG!X@J76A>2/HXGIY,/7Q:3@*_@
MH7)%1.O!&VMK56/M8S+DY 81A4HI)&Q=SO, I..F2DM]=-A1WD]#QKK4KS=
ME123$P:X$@R4U *"$IZTRA/#+ 1CK7M0;F,X;D)L)?&&->6+C JM%J=CG+^9
M3N:3-#E]EO.TUIU]W<P*ET61D^ 6-[<8M!!BA6JU2 6]U;?O;UZ1EGK@0<>I
M\N8B[E%F7C_G]930Y?-41?X\I-]IE[I$ESFFP%(FE;IZD915A(YLK2"#C,(Q
M97SS0O-[$1TG4SIHHV'Q^0!)_'U:\W!1*8NQ*-"\YNN98>#H!U *\RX8G[G<
M80GB M-!\:5-%+"I&CJ8H/?@6W4+A39"*.9IZU.9-D$FZ9U1+()T07(TAC/9
M.OVU/LJG1:46JMIM@.57G)]H1)>M*,#0U6%>MH O,4,HD@D53/##FN/;$(D0
M/2W2K*N"WAG4GS#.7XYG\^GY(NW[#L>CR?0=IO,IYA?TO]'\EY!&I_0$G#W[
M,,5%/F.+].E6S]LJ=]INI8T2I]\"NF9>D47+'!P81?2CG823K^LL>;V8?2X&
M!6]='K4"RO:AEIL?>Y%5<:JXZ+B$2@E06DH@<X^#X<4PS9'>B]:C^Y; V%7"
MLX6.[P9,MI/JH20SOUW'(E)=>Z\D>0=@JX.G.")$+S5(I<B*K[>QZ];.U%T4
M^TI-;JW7>WFRMGP[F";?(KKA$0[!U2FGN K3?I*'V^KL7@IL*?!=$@(-<Y$L
M+-#**U"B!/ A!<*'&G-6MO#V0?A=$N&!]-ZN>+".G)L/9?GG\[?X>7+Z&:=7
M%ZAG&Z(3 @*R BIE!S&Z"(+'DBUGR=R^%F/5));;'[U[)Z.-R"?-Y-5XXMKU
MW#_K9$+/+%A?[_GU6D)(3($IW&#((7HSZ"J*0Q\]VNIXWEQZ#7,;MX?(#8%Q
M?"-'UQ+^BI&5FTBNX\C1F+F6D9!PQ20Q,DCP!<G%R#D)-"&6,.BBAGTK<-#(
MT1;Z6T=@74>.FBQY8C'2^6[=Q;D0LBK@$^$)BCQ"'-2;_SA&CJXE]I4C1]>1
M6=>1HSE*P:I=9K0RM5;4@9<U^<23$ ESD6E0>/YQC!S=6'D;RZR#[_'/,!W5
M0_QMF%_L)M+PH%A!<%[5W401%+*XB5$V^,2]S;YU?=AM#(_=MFDBVPXY_)MX
M+LWP(8@ZA1SNHME/L&$[+=VC\BU$W/E%OT2F Y/,1@XYY@ JBE K8NN%I5SD
MJ"2/N740>E=*?R"PT%OGZTBV=4#AU62<)^-%.5$,X]]?EX)3S!7<53N\LEEA
M'7*=$H*RSM=SBX%P0I&S+%RZ70&\:LK? T_:?;AA6U5,>LFQH=EU$06YR-B]
M_HS3<2T3O9PZ? ,=LXSY7.O;-68ZN'*$H -)@/M,=@4*%_0@+3_XJ,>MYK:2
M[#$?I@Z2OD;#L61-/",[/U9;TUGPENP;[86LK$/I6Y? ?(O@T:J[@4 [S&I^
M-1KCZ_)-ZOW+I8?P?#*=3OX8C3^\")_H;^9?3F1=-7,(4?):5.,U>"84H+:&
M>9-<X,WGN*^!;]_QY5=-,LO=--*EC8-.)4)ZN6N]F,RNBOM<**78%,#S6G^5
M3"VO2088+UIQ[@/M\LUS1RO ' <OVLBZ>_Z0MK?1[-VG*8;\>GQSZ^0G.G+.
MG0W 1"8K-U@.7H<"*3FMI29CM_F$F:'8CH4B'331NIEC)<AG^3_/+RZ$/^')
M9#)H(TAN8IV4)"&6Y"&1]2.Y0R?5L(:. 0][W*KO(M(.P9]EI]IOX_,9YJNS
M['H2^2^(;W":Z*OP 4\*UE9%)D&HDFN$TH"744+V1;,@3$BZ]:W7&X-]W%S:
MK:Y:7SM0)?%B\AGI=)Q?\![S_SX?I=_?UHKPRY3%6US,4UJ\$<%)6Z118&VJ
M;2J!'*M(AKB-69O,R*]B:O FL\Z3'S=+^@N[X;4"P\&^)Q7/ZM72[R?OIZ,/
M'VK;-/V3<R0;ZX_YQZM_?W--*6HN4',0#FL+E:_!>1(A-[Z48+1A*;4CT/H
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
MVN=;/]Z]*?<]-4P2G56%#%6(E2;%R?GP67E@)B27&#<JL9W,_(=6.;Y&3Q1
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
MR;X\N#;#P(,/KD-T\50>K';AZ>7!=="#ZR"8'./E:A\=/Q7\IBAYM2PA"Z5
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
M]<B4GR&2QXJ+>]Y36O7X;,WMV_DL(>;%SZ3=KYQO;A=B?J*93]H("0D-[?U
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
MR1KD!HHE98(:2&.C/:#OHI=!QM WV .&+]OYV/VD NNY!:,3DL\L9B,Y@Q4
M"+0B_.'<'WSZ9V'XE7LP ,!_3_Z#<_\L:@!0@#RLTR*]]P#P$JD[KR%C(W6=
M$ITY!# J*_^J?W+?GSQ]O; B&<MCG76I<ZO#->"W\@>'_]N\?W\$UD=5 7Y_
MA-\#?.Q,1UA#F!BV XQ\#$Q\#' M@$+FSL+PL_RI $G7F%E8V=@Y.+F0!L6;
M 48&)B9&9B86%F:$-3&$KJ=SS'PL_%+[=%D%S.S8MGL+[@^/SV"7/ORJ2NA4
M&W&'\D6?" [.+<);141E=LK*[9)74553U] \H'=$W\#PJ-&QTV?,+2P1>F;O
MX.CD[.+JYNOG'Q 8="4X\OJ-J.B;MV(2$N\EW4]^D)*:F?7DZ;/LYSDO7A<6
M%;\I*7U;5EU36U??T-CTH?U+1^?7KNZ>WJ'AD=&Q\8G)J>F%Q:7EE=4U$IFR
MC@O)*QG^+/\F+CX$%R,S,Q,SVSHN!L; ]09\S"Q2^UCY=<W8[+P%MN\/9Q<\
M')_QJHI#6OD44>BB3QOGEATJ0S(+Z]!^(ON? Q;QOX7L%["_</4AU/D/2(S(
M+Q,C(P*)"2D(>ULOK&RL/PO;OPK[S\*Q7KA^E?5!&-9[,C&Q(+]<[*SL7/_+
M!>Y'&+0+W MP,R')-!\3'X &($@N,P;8J/_G5KCU]S4JQXVP-:"O$X!R6:6X
M2J69-[T2C[;H7&E2''T(Q#]W]IU] <JG=,1NGU!W*"L,41-]LSW/Y63DP]'9
M>Z<]*IOVG-.^& .%5FJ 5?Y:V[*-%5.H.B0?#QO\MXH.T)O)ODU7*?(' _XS
M5@P&JFQ@P%-IZWECQ<1A+@_&[\>AX>:OZGW+@:<ZEX(*]GR<?&=PPHN:NQ*
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
MN+,EL?FA.I;ICN1[XL=9MZOR#R1E>YF7J<2.*-U(,-,7FA84--,'!"T_HR3
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
M1T,33H:8ELYJWO=-]RV5<]6@E+;@CWM@:>9(U*4TN\($<(:LMX"OM5XE2;
M6.=DZF=L(A%[86FYYXQ%[J=CHA^C-L9+/ [,?-H;A'G'F.X0NS_F76]R0ZCQ
MD9W[7U<1Q")R(WSI_@4<PGO?GH.ML3G'__:F@^VP<\ZS9*#\"QLE#>S!U2+L
MY <;U6A4,,?DZ6>C9@J91.Q--,UG#LHL1=SHVR=DN E;LA2<,&3UE8)!J'R*
M/.2[L!M"HAJY@6PDN$#(]00G28I$34;/&X+C<(D>?,>3E4A'0['74UG7_[+,
MP&=MF0'P>7J8L#I!6=W]BNH_MX(>!9:1WK4T(=T"1AZTLE$_A.#[Y-XTY8QR
M*C3RCV9!P3Z8=QW3"))CO6*C7(D2,!F)9 MO&V.>!<=\[7MR<##9I>C1MKKQ
M:\?USPKR;"6.3%.Y9B81)4*"NLIMY5N:!HD]8[;\.!_0+".O9>")[[G+;A2?
MUN;7SRTZ(\2-Z[*_ZJV+UP)> :!RU,RY00JH+#03.T3J\:VY_KA7:_K+*\>!
M*HM=_0<JAUWBK_XXFMCOL*!& QC'$<N<CG%%1Y@R]H)[AP!^SX'-X4:Q,GH.
M'WC4.PO+1N]K-<FEVFWP.8*?L_G:MJE_=0/5 9((&1ROHX"*;O6D7M-!\W!U
MXW5T8# ^U="SQ+I 6<3WX@GA_O /ZA)I6V0JA!O['>9'F6H@AB$,+C!UO=!B
M&&];A"!)XY4A%_J9CN_F0WF;N2^^C0;G?[MB>?V=_HF&*\?<MKEL$&== 2IW
MD:@4:R7&158<?A=.EO4RL*#;V(L^51>*J2DNXG@PFS<R</2\ G]):=DC^I-F
MOPIQ>LX,G<F#@%9!H=E@;YTFS/@S-9V"U6KQW.D_1A>=O.SV=5_=;7U#J/GA
M9Q0NYX;_G8N$9^HF.8EP,X%V!-WWBG$9P204,>])0Y[3N@.[:8+/9!,&6>;.
MYE%')/%93/&F3?4XU8/-NROG!CX(?8N%!9Z#XLP+2(V[ LB]KX[3G5_BC<#5
MKG&GCL+ITDGY]\7E'D^^M$J$Y%^LO'8-=^_;#M)3VR@"S0J;@)$D41\Z[V0E
M8*B96!%*';R;WN6C$2AU[.33#H7HXK[ZS34'!KFE&K8H^-7B-4 U!A*F1]S%
MK\<WIR*-TXQT5J)U!'-B"TY-KM*2FCX5Y2<V5!V2:$ZX;# \=H;>LN&] 0G4
M4*HD]>90N2"I/BHY$EWD&[.'M!4<WD]7S"OK+4KR5^_7JE*0/:)E):;1G'M3
MX6FKVI(I8SA&'S%Z/11Q.908SB1J [SR"HU&(G.\R=JT L?IHK4E/%-880UC
M,[JH=8K,14WAJ?D&PY87=6,GPI[$8NY?D3]AL WEM:"#%+.VY!U+B,>\U<UE
M<D#GZ0-AV:#IOGQACR/[\]\4GK@-I2R+SO9OWS9O^50'HV&B[MY[&*!YI%;K
MQG]?)ZM/^O!9>B5/?A3.T6'>9'( E;)X_K6/8^'7]2 Q^R%.TBOPU5#11YJO
M?=*L@\3.G9D=/@$J<L6%PJ[AVXIZA#$SBUMU6H/9*)C;@WD)C(6Y':@44$DW
M+> B?>SFD&.+S6!<J[I)D[SV#C2S1EA(^KK#H@&M@^$#Q@UJ@HH#3YC;/3G[
M@XLZ!I."+9[T%,-?X&;=&S_0E6/+B\_>'L7$D4&])L8QT(IY$=$ 88P[(AD@
MF?$Q"7'FD9]T0HO\MR@P#SZZX+T'LVO<A[X@.%3J"^ZIAWF6F/K0$5\9N+-\
M]_M20BV>OTNI+0 ZLZM0-Y4GZI3<Q'A_]ZPO)&P%\Q@Q]P&5QB07( ;S/FIV
MKV+, #CND/*#9T]/V>))Q8);_2/TSZY[2QQ:*#0S-@K<08#$D9 UD&D]S4;Q
M%4X3A*8H'-#Q%]8OIO1V"7>'A+$ZS#]PGLFMUGR1P8S2J&]$+#J3Q0?S."!&
M-YCU@HURT12]V1'@]<1DN%;R1.5H3[V'ZZF,[3;Z-8VOPMH1\746& #V#KI
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
M8N!5##6:(HUQ%TH@(01I/4AD9!64%=&[TMY[7+^?2M_BHV%=BM9PL^-J=KG
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
M4 L@/NB]%\#8M+;CLW/>=T5O)8<5>11*N%,/-%A%(EWCS[+M3U/.("F;K"6
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
M2XZ"]&-K,8MVXU#VVJP44'V[S)Z-,M, &M>FDU9S*DF+& "4 \;0?:>667S
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
M!7-# OI^;:B=:%G_T+G&?O_HEN3SCG]$M;2UVFZ/!2\4U"0VL4FSF=C%ZB:
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
M+VN5&3%^+I#4*[V09,%'@'4+;T+_Q._E(EO#B.]N;K*R5I#<)Z,PP?5^KM.
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
M7Z+BS6N2P-F2F8<)9XF1-&_%@7 'MQY&^5OP>Q9^=/M]<"DT5,CVDQ1L>\&
M9E:GN)-.*KCP/!\:YW(P>;)F F_6;M##55-HW24V?$BG_#%CV@YC8NL;>VF"
M<:O7-7T8BFJDDKIY1/?8",I$@@]\0KW9ME)HXRSF@J6:FGHX"3RZM:!KZ?.<
MP]'O64$.GIEN>89Y40M>1]N9"^7'U5/H3@K^ ; WC%TB6N-Z 2*JT@OJVTX<
ME. W_:"_V6'V^NKNA50R#)#>B0AWT%0%@0.':$X[IIH,:BN9[\UD]L^2V=!Z
M(=F__,LDKG5)U$Z  4PSE_ZZIW-W6@-Z"GW"*5KKCY75YY$A<V+$W'DBU"<X
M;T*&P!C B9C*#V//NDTG\-R-Z7;WBJVC_Q8&]*J)C:BYUGE,=7DO3>R"^H^[
M OO[PU]9\84<9[H6;B#'WEWWE4''M7J%W"D+@S' F_74GMA.47<@<5B F-T9
MUS@QB/<?/&>SNT5WMCO8XV_A_*W&YU%DUAT*'0_)BM)M"Q#O9 H:_"N>.1W4
MTJ1L%E[[=$'CVJP[PDQ;O,?Z0?SKRJA3E?&K]78;J-!X"U?X35ZU$P4$&YO2
M)W.7?(&U3+E'64B$59L:Z<K%\,5$>-KOG)-BV3G'?9KJ15 @_)[M6;@+:C*3
M$(=7K45OO6Z2'&[0^N;O\;K08DJ'U_)%!=]<HU9?S&V>@K,"R!S ]T5L0$@*
MU9W&)*E.S!H-'F?=>=^<VCIL[\9M:E1N,-.=EO^L?,Q _'3OXU&9+5XR6[1>
M;>JLF_)#4T,F%@9$_7SY2+#+[I-Q:JRU_/Q 5M!71+Q=10"Z9C8_N*!T7HV[
MLYY8]W*I?FHI5[NC1!N%J>[IZ:R([^.W/!7:>D-F13COF"HMU<TBT*;YWP^]
M_M_;WOG_2B'Y;1 /E![GWF8+\G?!V""6CZF<B#K@#[V]"O$O/P[@45_*;,I>
MJT'BV?R+U(\**0Q_..5R5'+C<@,49Z<[)K1'7OSRC/-,L@T>E^5H'BG(X9(9
M)>_:YD54?7I:SOS]HTCRMQU-CZ00ROUOVK([B5XG+ZE9"T7]/1APGV1Q3-5=
M<G)N67F0X3'5(*/M,C!99P2./@'C76++#6,AZP/Q@\[(9-Y%G/(/1+8G-G^S
M0&GR+#=LYSR]ELC(:VY(!!\JD)UQLB=5"$(I0D3/W($/XXJ;GWR>,@]=_.JN
M_.+U6RP?4U(_3 ?>S A')V=>@J/?(\XW\4'EB6&8: D6?2SHLEPM\]BMR@M7
M9"0[RT.5%A9I![0L( F"OC 5("[,FNAA,Z!S<'38G"P.L;&/%57C(=;N56;,
M'?:SV.D^.S?Z:_.\\O@0B+T]GWS/I%0V#\D'5:RX4,$E)>[JSXY!!  3$#\Q
M_>N8JAJY7H@IFPSJ3)&"$.:N5@NSK/-QB"T9^"HN7&Y6#A$]@.(09*Z3HJ\
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
ML&TP[2@^GY@JRS[MJ[-./?/JRPC;Y\49(^F/*?]XRO[' LU!G'!I]@&DH7W
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
MTD"K!$M9_*-LHVF_ 7LT% AI@IY0Y/7JU<',O>O/P6[J@N6<!#8'I9\RQ*L
MGNK((A]KB6F9'T,"^+20(H?0<:O_^9^M_E387ZW^BJO55341VH[7>D(SK]+E
M8#@-SB E))[#_5YFN7_/O76$O(I&S">&-%[T8AR81P;5;__:N/3=Q7O+*L[!
MO9=;TS>ZZ,^:FL_C^I'M_H+E.=4=M<K]D5=Q<?[I<H.Z[B//YT_-F3LZ-4^+
M>;TL=L]7^:/-7WO<YO>;7#&K-=4HVW:1N $LI];CEG;JFJHJ/FX$I$O.T$2Q
M'HW'K0E (]T2H Q[YX AK?/ZW$Y8W;4<-797:[QL>#>>Z.E($K5P6/0#D6C@
M>.DUSX2#L1S#7>$T*TUDL?+CGU8ZANZC#:E,VYX.$/H%"A#HQFL7+?"= WDF
M),<C/;<[$[.387X:"A<>VJ2-7G U?@=@R%O(4RFR+:T.$YSR?($2Z,F"?3Y3
MH_T.2*\@CQ%MDD:<)ZA1L,B+N98KB=VNL2^Y(V2IHRIVD(%0% Q8=MPK-<[Q
M&KA/X7.ONX/0AXFOUNI/*EK?49%8[R^-U4<EKT]5K;8'M"Z59<H^+V$*5H+H
MY^7Q92<F*CAZ9O<?I^"9]M&B+(CC=![CZ^GC,@2+Q7E3M=H/#QP\3Q6_$5 M
M[.1NBK-PPL!0%&XICWM NA#-Q=X>G5H&S51][M<[O,RY4*\QK_)+&OT A8PN
M)/%ZR:R#)J7XA5R\#S1YO9(\*O717FMK#U>,]=7%M.[\4;EZ\I*2@(7RC=JT
M).,W631E&OY8]W=P8%XU<K2^?-311>6CX+RU]F=+0.\O>&WV;_#:@AVSB'7
M.>&5'WR]A[DP$SR8_*(*+[3)(+XY4^<$KKWU!'0*9 4+(@/*MAK<%T0!''/E
M%DH_N[$I(4D>/[E/K V%RLT.]9R+^P,-!(D=.C3[J#V_4;"QY2/9VYA.!ORU
MWFZUEVBC/!2R:8*=_6$IFVX0'0W^%+:H<!$#GH>W\XTZ-G(XC-6V)4N0 58-
M#LHB5U)SGV:A3CK?0\5L6^AAX-B'."#^@5=L;QN"]?7*R&R'Z/4K=F?]$SVV
MD^28TO?7Y\Y#&'W%<?(9#.=]10<=7YMR_FQ_Z7]",8<J60WI_G+H\;:GYTZI
MQK9EFD*IS/6;(WE"#RI32QY'U>*G^W6'G3SD#L9WP!,#V!>#D)-@'*P]42YH
M<N6]K[G7JPHNK16BI3)B?=ZBSC*:US^N6W%T;Y_9L-RVY:,^?P%/'#"ZS=*A
MERD,)C%33(A5XTUXSQNK9AM[?/9W1L?_7[\F'OE7K_HVEB-]JIT-],N4;:JK
M3&"$SMU'C&7;8VS'@C[:W]>V0BY#3E" !3T9\/,E+I.T!SV2,-J[#N[;)ES$
M&U6C&3;=,'PH;.FCVS.F9H<ZWYKM'%]1XL,7?WO2AX+F>6^P:,!Z:MS^LLVZ
MA>2P0_@M%L7O\^HZ?L,Y+-#F8,J\[D(>_^_X&O.W_*^%XET40_DOW0O_@$0K
MNN@HWH0HR8F$2_+MD 'EPJ>#5,;4TI1!0LB^.;2RTQESG!-6U?S5(9U3 ?C[
MO&IG+P>S'LX_^7"2A'57$OFX!$T!F?9"W>?[%?4&]=OU='9=(N>F(14Z?\N/
M+D;_N>ZGGI5')Z^K<Q?8+TU@UIA/C(1: 2<+'A(K2)>FY.V2TWHDUR*XPE]_
M%N0-<CY5@N)?BP-7(LK F^+H3FP6SI,Z6I$;W"F4?Q)L'/=^DZ])* H1=6_U
M'MP44Q7@*X@!MB3.GL54?'P3E9C;\3R=1GG)&C3B(4D@'.]U%O""- (J [5Y
M-XI 6B>G$UDOS;YLRY:O?LM[^!+FZM7YO(U[?!LL;AC%)]*FU<C-N9>]?;-H
M>!WILZ_R:YP3HM->8P$4[,.<8XAN[8R--R8#Z+-8?^22>J.Z23[ P6 6PK+=
M'%H/.+4[7U3^!M@V$ IV3&:(W[I>93M[7YZ0W[HCF4<&,+PE9B-6/\&)&#XR
MX**IR(UFOV(KO QB1^8ZJI,1?*#^<7%(I^@<2%.'R# ('J F*%)A4RCAQ IQ
MT 8C* '1.(9))]+[6#)@CA&*828#QEY2[X((9\ _M0GWHOC) )@^&8!V!)%4
M2:&K\)5 $O $7I,2IF^#\0O:I&O1.%_J36D*P>J&;K\'X<) _W8Y$'-&)H?D
MIT<)=>5DP"'/$? +(IWA/_Y\'@TLGR,R72<#CK</6:!$?>-OP.^4.[)#/T#;
M+BW #O>UR8 SPQ0#C5Z%A)&\_I,K0IL@P]"]1XDD7!P9\"Z3^*()*DX&-%F3
M[I$!%RS#H"NC( ('99184,:1X"'J?[K@/S[2?LH)P@ 9<"+QD/JW"GZKX+<*
M?JO@MPI^J^"W"GZKX+<*?JO@MPI^J^"W"GZKX+<*?JO@MPI^J^"W"GZKX+<*
M_N^I8#TA,\^N5C)HLK+$A>OKUU+VZ\F&M._"NWG3FXQVA_D(+*W8JA&,P_QV
MR*V*YE6Z5VZXEW#YL49N:/-C,@#U.2Y2M+V+Q(IN557H*OXT,2607A=_PL[O
M_C>J-1U%GJ_77PK+CB1:LR;VE;WAOF"YJJ8_<.NU6#GK3KQJ]Q2^)'P4.\I,
M!C@Z33(<?Z;PCN S"'HA.M''._*:0_ [QZ<=GAIKF5B/.Z=N9FWRY76Z@0=A
M+;"02;;F[9 CT5:&\ZB)U822R4Q+CAXZ<6A3E/8B6![2B2A1:648)P-:J!^A
MD81'^U/E.M""1_Y62:&/P^-*%?;,4M\DXV_4WBX\;>*:+LB\;>C14!EFJ@3)
MB>LTT_-O'VJU2N(T<[[DL%.%T4_!Y6L@OU2^;X!;Z2BQ; )3_]@'SGN[?>#P
M.C?EC7US["0%6@3_AV;/B#[N^FI_(1N^3Q2CLJN"=ODONZ>D-Z#_HO5*TS3'
MS4.:(0.FHM?FLA!H5X0)(EZ\X$N8X![/X5WRV#^WM_.7G&(SK$2V<:S&^CHK
M-'$<+N>1 <]MH;M+3F0 !$D0U HS?*!9Q"0.*I$ '>Y0G@/A0&*&_I]_(53'
MD&X^D41\GT$&#,0CB'@P.A//](!BFX)0/!8Q;_):QWI<=FDF"3:>#"0<FI(!
M<Q5D .V_'Y(E1XG5//#W*+]'^3W*[U%^C_)[E-^C_![E]RB_1_D]RG^S4>[?
MX5,+KFJUHQ7;RCU!,LCJWS[HEMG/UM%J<6QH";OY^=X_R,??:%D=\E]"O7[+
MOTC^1I;WX[?E_9NP6&QMC;6,:6Q,L-Y\KKNUY9R?F7?CK?K1M7:6PSB, XFV
M#B]*$!_-_E'>FU2QD>(A0 98F77&K!(95L @:.NV(OWA+)APS21];MM)>REY
M)W_E$ZWK4KPU%+&CN'UZ/I%Y(4]@Q/4H%6[P.A.GE@V9&@2G@LIR",Q(%'23
M R/]"*<V/V7:>\?!R+BOW#5# #+ ].CPJ9A8F+;DT1WSZI?FG ]E5S75''/<
MELM2P\5Z' I%K._KYTM^_YBPOFGN;2X)O<&LH_2:6_4_W:/>@@K_R!<R"'T!
M#4+.L=;?LQ;)<'BJ+R'V@:OJ#5,[!,R $Z%NH83<VQXY9 "4L9Y@Z!C4JCV!
MS/URL.[W2JFI!NL6ZE58=D[@X_!2K<N,<46!^2 >JN0;C;\*02JR$^'U['Z+
MH'-KGI?U#:6!-K9;E\29UF^!S8S,:=%%F@99VVQE"G0#PFU+N/Q/0E:< LV3
M.AZU4.&38;@-;"NQI%X8SX5S4L/PA;TNB#2\8S)?-"@\SJ_[F3.5Z(!2IA@>
MBL!C(.3+E8=R(Y4(AC.E/D7O<PF,ZB8Z:G_MKK^SP#EUCO,5.#!>7=>1GX]#
M*BU]TQWD?!-^@9@&D;$#EH-;S,47QH)MA(.+LVE47URI]5]78=G<G]/*LK^G
M1;^V'AW?\4SPF<-(ZW.>7MWS'1IE6GVGF74,W?Y?/:CA?[?\C8J)_^13W_[.
M HX&HXV=(B<'6J'^<J*M3O33%47(B*VE*,/[#S@T'F<;G'(57Q:&M"!W.\F
MT^,?TASF]?T"-OAV6>?F+8",AO%"E>6?]P?]-OEPXGNPLV+,+K[@MU\MI,/<
MXNOGM?2B28]B<-=R"X9R0F;7E\(F6W8O(I\GD P,/?BIJM>9DTEU4%0*]$PC
M^P2I,YT!PUPK_+4="W_YJOA%@MA6_\H=[6R'W9<I_%Y'_;&)PO'8&F+D I!+
M;]ZL,5WN*YM!O^][OE>1,W6*,]'=0!P/@[^(I--D@1[&(\-^M9%[T#J6+^;L
ME'"O-^_)-XP14%I29D'Z((%G'DP_K>8^3Y2:[%!31MKRG'W"8.9>'(+0Z=Z9
MRYV/IW=8G\%.DVY@J"+ 3"]VOA,3R\Q*PB*WK5EF>SVFIG)U5"<F79#40!.2
MD^(=,J!9BPQP& B 7:I_@)XR&RXL,M6N_VB:F2?D:/P^.!K4]@D4:6&9--BL
M+ [WN2-A)%NM$K#+S0O78TBHWFUVD^1WG;&8]*RR0*KLO5>"G":U(]"/!R9S
ML DX?+:O(DR['*8::;)HX.5__GS5#+T<Q2RI,/ Y&]I+P6OI CN$CH3;*07*
MA*K*_ X%HY8G6USMG:<_R>!56 25S<8TZ\!E0]C-%U)A-XL7ET7^^G;DA/,?
MATLZD6B;*?9JO@ Z^$)R)T32!R"*P3A!:D*2)R4ESX8?(G<DY&@)K1&(N4P2
MRV$97F\50P;PCH*/B*+$&]1["#+@E"H%%EQ< .)IJO;AD_F$XP\3>*'=9S$,
MQ*"I(^2F@1^"@0SHJHW.(,PM=!+B)Z)Q9,!#R&6*TEQ /Q-PHJ0673)@51#<
M]VMN/675X>@^98 %:+<P&DP,^DH&_#!$I$P@1J5_(%<(QF0 #_^1R@XHOYZ6
M<M<'YTD"L"-3T#<XCA)0"$FAP:!IZ KXL\$A_OB8$#(@3@R=@X\F;.S1(M1[
MR(#I53(@&**"&> @ [H??**X]CKL2(_VYI>ZZ,3_1X?[_:OD/YRLU4!;?["P
M0HB-9B0#QJ46R8![N7EHC<&T)Z('R>"%Z.5HU"+IN0[E<4? 1[<<B.?JJ<F
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
MQCW7?.$&S3NM\.ZJ['LHFQG,GLCMW<9JO+\T1<G*DW/>A. 0]%'=HE+K;81
M'@41YVC,+A^V.DE;'FYA<L(K1(&X5GU,QS<WM_SI;E?<):#L8M3T\\;/Q #2
M"89)06S2CWJ^O+LO!LO7SF3D65G3/?[PT'&*WHL@N%@<3Y2!-K,W4@!*RU7T
M_8-%PYRSIG"6[TIE%W?]$KBI44]2C5:\66D6;PU&[&O,0D5W;?:KWD^K<'//
MY^\[DW[]C!?P6/U96$2ZE(W,P',+E>\_'9RZG_5:\'($Y'[AH!*D!0J[]S>
M"O^E_(TZT?_DG;W^SG*\DP^;*>D!XAQH>@P47P&]-YD._VI;N;!A5!,U=LTC
M-#Y Q.^V*GS%C70N%&[[9KD.7;]:]6'FT*Y@>\=,<:9ECKU9IE]PQ2L/_JNG
M@ "B(+TQWXLYHON=I^7E38H;0('BZ-@-TITL,N#U<:;X 4*EP7:LH/1DP*_+
ML"XCC+\K3>4'ABW8$G@<26!:[+!@'$900EKH&-M16J%X9\ZU<B>! OXF5(##
M4K7PU[ \Z!)1!Q\]),*8H!*D8T0\T$:KXAQ(Y_Q1&@6(DUZ@!3-+L;4#7>/N
MSIE=;UU(U@(BC:JK'>H,JI!N:F#"?L*=*_:].?*.6B?X1=DGMZ7I]MV6Q9$S
M )@.N%TZDL"TH!TR*SJB<'KQ[.4IW:%EVQ?*EV0M(NZ\^WDY2JQ9/5WX.>/!
MB\19!.K)*IKJW>K"#E^\.K@Q@R_'2VU&<NW&\&:.VQ'E,0/ND7[4@MNT)WKF
M4%MYUY0*<5(J%5%"A*$)3HE7U,4:)Q7CCQ(7H#0XAXY:A63J<*$O(T)?.W O
M'O>X_'+ &> <,!H+#,USK/<6HT.24Y,M<EZYEJIT/2..Z;52K2I!OA\_L-WB
MV7H:$=@"_/Q]TC75@';/BR>IG94U^(;O%(QV>Z70?QO,"/=P,6PH3@;GH6>O
MX6ZE#,CD)5OQ:[%8?U_LZ[VI5E=5!.>8F9$O[MQ[D&5[9.&?W9IIF[#FX/ J
MXUK8K6 #+@ +SI2277.)&1+5"AP9I'YN8/R+>D3=Y:@LG=)G87/<NIS0 67A
MF$T+>8P-Z9SV8I];BV &X>8/RZ%]M:</DTF+](SW,[TCO;?3:N#MVZQ>=>W<
M"AB6@7!?&S^1KWD6M[QS/BY]@OV\$\J2#FW[*/!L*:2E;M=V[F&=+U9>00CM
M*=[RHGPW=4> -LXU0K2/7SLKK5SMCF&5HV !YR;T$0C]$'QXQ>(&)?5VDY01
M2>O$/(KF-4EC)#:< =01+[ONP:0-72 ^_23"Q,'3(^X[':V.EGG>(&<<=%UG
M0@+9]POR=5'9.*S3N?A: B.];D2F5.).>Q7?C@ELB.AB(8]S0T'?3W*F<V"V
MDL[DV5RYTBEWIL-/?*C>$UM*_.I[!\_G*PID5M"Q$]XLJ=70%@$VU-X'W&EP
MV*U2H\QCF, UXNZC*;5XO[XJ:MGJ_=?G4AV<J)*5S^L.>X46=H&9(,MWR9I[
M?DD$EP]HHPO+$JS6\<]R;BJ5?V6-3W7W&)7/A"[,$2XFHJ0CMKZ.*G+:(R'L
M220GWIOI7','0Q\$48AW(+028I*Z];&&-ZK(M1.L?ZK0])$HA2CYN8$;W_!M
M.N!E'+ ;;L\6STO3G6CMS_<^2BXK(HW"RG)""WE')44OV07<]'\Q(5?V] U
M#2Y^,69)$BYX?3D-80IT^(B+ZZSQB3RUKJ^A9?+Q$/9ULP\':U>)5CB]0 :$
M* K4HK6C?ED-5\B+O[_ZX2G^XCI#D9\L)1OC<7'YOB+$8@6^@B?JEH$ZL%]L
M]@Q'7=F+U!C9 BCZ,6B2H1587K5YU7-Q[G1[E49II<;9ZX+E_1=^=OGLHVPJ
MG!$E3B'%]6"\D1?'_8I39>O\5WF^A2_+$@IV>W0BA3INM?:L:1H?C)#*.@SS
MHN;5*]SL%?O=,OAT@3V'' Y+B->$02+O<462DF'HS!=NR[&^BVY#[MR6HR4U
M(E#Y<F9(1(ETN,556"FO%B3,!=PE0!RT0+*+8L>/&XHO"2NKV[RX5Z7F@AID
M@)H_490R%"/H9Y!7**G%D>B S4=0\@*.3WMS'S4P(7YWK)X)P]KA_4N29FR9
MIJAC6;GS^]D#!>0OT:8!'#_E4H;H.5:)N2 20WE=V(8N0ZDQTCX@S!08);CF
M2H<\^^VUK=Q[;0?WAH%.7P/4RR/?>Y]>O$;')G!5*;JC=W*S9XG">;N4X,Q$
M4G,*H$3+ZZ*D@ K";!\IKS$$D07"B=SDF?<,:-[,TR D(%*ZH<>=U2X7&T)$
MSAJPBXAO@A_RBLTM4'SB:QF>]OBH/S*@^Y.7'K&3Y'YT&IP"1C^:N^2E]X@8
MI2!LD[MN^./1N_G,6 -#SH-3RPC5J\D<GQ(69@(SWQI\_'G!)Q"<9>VHP,4!
M*D7PX':C['H4[GV2O1%7] ?03"> <4Y9OF"<91%!<NR'PN6&P@^^TV^_TS.@
M'' 6&,_@?=&3N%8CM%3I5R<)A^["G%-/0X._><&WOR 2MG%"*DV72)R$-U6X
MWHSFI;79V[I(4V46ITQ\Y\85BDF]1?:[)%!//HZZ(?ADE0@\!'TG0E=WVWK/
M)R&["S1FBFLR2#*O$)NK%%1P0J4;^DV[TX:81@;8@QB\)G? HJKU+[Z-GI#1
M<[S9#\EH23VB;2-6*$KWX>^2AA2O82;5&EOX)_L[88?/3DS!,B\\\;E\:!&&
M$RT>.8*/BF[MND%8R8# =:BN"&=SX=)**@+QFAA/J*F!;PP1R^6C0\#TD@@*
M/KDH 0[AYNJJ'=O*K*3/O"'QG$I1_A<G\D >O=)T)-JJ#;"=8ZB7OQ#2JUP>
M-<:K\_8D/50\#MQ?1;CHAGK)+8J++R:XCF;L"M?+*+;:MSF+9)E5,N0:ZN&0
M>Y7?<[].!QNP\Z8"[O1!_)O'6;3/"SVJ@OU$H& ]4%41/J_OLPG::OA/[M[0
M*#M0BY2%T?-!8^SERL3\,W+6WXTX9)R$6RTW DU8L&P@6++=Q.<O83<O_*=K
MMOXF\G?: /:?O /EWUBH?XH26-./CEJQ3X:ROJ5K>#B^NB[,])'WJ<L'):C(
M\,RL^:9TU>WIE_US<LIQK]XLNL@,5$#=@-P@RN.'(,I# ^?1HNWRRO7#GZM-
MXY6>!ZE6-W>M5/C&'6]528PD U9/BQ))3AAXV$"U#U-DN]Q(UL>7"45[A\#!
M639<12QZ2X6SCDLK,S='UN*6IHEA9;':'BC&M\AVPKZVHF&TU'1N1KE XJZ
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
MCUO#F@HL(X5DV<8^=W[J2_;O%@U:B9FDFO: .P72JZ>L-FMWQM]QPH VS<6
M-"HH!C_]3G6:Q" O-6Z)@J2)UC#S(*&H4T\[K\7_I$*P=:&Y'"BY%KTR('KE
M*C,O@H6#FR-*^ID##\?*Z9<O-!@*MZA#K<U0,@O1PX!QKZP3-&U"/JMRS%,_
M)9 I!2VCQ"UCIB1NF512(=U_-59;XQOMOC%/@W[_^<C94?;[67[+")@^I^3T
M8ECQW$^'8C.O/8WB\:[;@MUC#B:Q'VAE:!TY3SN.;R<0;Z7IN(;3%UQ6J?[8
M8Q]TO;!&E7;UP>:9:E 9?')V(HM%JP-7A+V-YK.EQ_1R/MRBU#/6BP<4\1OO
M6HN%<'YEC:^NN+L19D<'F9X4/8ITK_6#T41NI%IAV*3U/@'C <M6K6DPNI()
M]5K;&'2^0KUK S)>;"ZD&,=E$GANV<7G1HH+25O0C2U%D&C.%].._=VY=/Z_
MRXXEL([8#LT^Y^E7HAD8*LQ(1[*YC]O[6.'#*T[0EDD^5K4_2+6P5^Z>VW'4
M@6\%[8?Z1.M1P:UDOF& OL-5LGQF-*=VZ^LS*D>^&\NLLC;:0WK>4O>\CJ,H
M*!,8(V>Y\KQ@).TH_+$\ISYK;$%8:[C'IMSO8Z.&7_BA]ZD<\M+J9-965ZK<
MSV^'"_H)!^=(F<2E?=X63@.EKW2<PKS&Y_-&I_93[R6T47W>=AGQ6.@W%/YV
MCU.]6SI%VR&YXRKN)^$477M-*B<F(@'JV[9#^EWG3.?AY7SC("FX<[P#=K9
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
MIM53)_D[V;!8L8<[\]@J-G;:2L&;P$9=T7ARNSH?"05GG3VO/J74^#3WSI&
M(0:D<BON@TW]^V2^U>R6;6A;R';*;$;0S2R$H*9:0Y67]B)K613=V8F(%M1!
MGDG%A:?=3T\$R.P03/ZG4[^;!<E_T&=5%?,^)\P<\C0]-@YEVS+^HP[!>"EX
MXCJAC$6P;LF;Q]!/:498A^$0+F"0Q]*\6:#=L#?S\K;3W%:9/7]'@*)85;U*
M<\DQ!83W!QI*B S S#PRUI*KPC 'VN;1<E^Q79#S(M[GBE$YZN#FD$(0^(SC
M6#K^PX*!RYK=]S=1VGJ/Y)#M A30S8M="N10\#=DM%OP8X(@\<;8SD15!2RP
M0^A37@=?')+HEW;J&5C!F<,5O$8!:4+SQPP,)NP_-IHUY]\R/#+TUMEQA@:T
M(UH,T0[%,E,H,M,A+A;#-OJ]+JU=G7LDM_*.?.S:,WG+;\+%GD(OU3K@SZB0
MN10!EB8K4QOG@VD+G2LS8G=/S6RH\WY\T\/B()M$#]F9[N-,?")Y(O@]TDUJ
MJ=;S[<8C$F,'XM(<UO%E5-M<Y> V#;9@+M:(/=@8G<"SE?TY4HEXB>=$EG@'
M87/P+]Q8A3B/Q!H;( !W"@A0=L'[DF)6P"^QR!^DBT3WLMMPQXY%9+5$=Q.C
MNF'2_M0=E702B&HNQT2/C-N ZSPDU/+1--CF>\C]PT=[3ZJ/+S%,YCV#?X4R
M4>7FH:["Z]=_=8;/(JI3L\EOR7PCI40N)_&E:QY_U,J9$3/#OPO=2P-JB>=R
M%^AFY4EUOB$<\+5@Q<))IZ$X+%/<_3G@H*#9+K;\?H*-2&VR,0F*29QMCI^D
MDU>_F6V2T^B!2X&F5]D=Z>NA;L -AK0,W=W5_JR[.,>+5%Q_I,7_PNX'B#TO
MG0BC@.YEU)1(;:\V9$FY&N>E:C-'YU[KAX%H>JZB72#/P<"EU4Z9^%2_605@
MQH/,_JN09GC.T>7X[7Y6870+M3#AVI(\H$;D(&J>J/\%YW \!SY/5C._LAJ+
M.F-D;W_K=:)1_.M'*:K\T1N(J,\[+D?FH%QG+#T\ZIW'*WMZZ/EQ1PH(>1Q"
M2EP8Y%5/2OGR3,)>Z,J5G9I\VY[-T8=&!C*K_NA)TTH$$GT:@OD +2]LL7),
M2)X7=+7$7Y?W+^*H[M7=45PV(Y^B#PGZ"N-JL12-1)4>Q%_Z.7ENZL$Y)>/;
MK6 -VWB+6P><?];,:G[%#XIP2B2:/ J#^ALPW(E3=M+0"A!!7%H1,DA?@:5
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
M&)1V)#<='Q1J,V>)Y?,,@7\JE[DG]./D.E_PY)N6U+[/<,<1:R!?$J<4\6H
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
MW2]K#;6SDQD<ID$^T8**8O,<6RASOU!/Q75^TE/7YM5+BBPW2_EVLP?6SC7
M@3L/8_[9AD5_V(9][6T3!:9/0<'-B._J5B]X91NF0.@$Z+S0OPQ;HI()5%<B
MJ"36@P"/H"C?2,2'N+W: 4CS,4,#<E*DG_>8Y;[Y?>0,G2LSQO1KB ["3:;4
MZZ&%H7V^KK*-UW\Y7FT/I+3RGGU@(=N5"%OY;ZUC_3/P!H[CFT3XBJX3O5K+
M^>KTZ8VA$W'<TK>C!KKR[L,LRB29/R#<E3"%66\ 7\VIB!X4#.GAOVJDV8T]
M&A-<W]KZI.N1XP P<CY]<-G$77; Q@_&WLDDS9!T+=S96@;=_![C!/W6ALTK
M-U U.Z>)'7FP5$\6L8\G^Z+L+D>V>QKY::LJ0QW_ +HM&U7)%8LDY2$JO:,(
MGD/P9\N-GRF=?J&WDR-++CY;;\@RNK#"W1-QW8$HO(N9_/]7J $KQ%_P:'8C
M_I<(N)-AG;N3E\1TAW[CPG))HK747+O1S>]LT;"/R ,_3H,56K.EF3_MC0C=
M\;GX-_@Y2\<<7L>%P#>O;$@J'-_@LR5T6RJP5LM0#B/2O6FEESZ@R9$ZC@?#
M]V)R7_*>.;BI>I#+.!N_G,7FO\LJ-;Q1S#2F+3,%5Q?GRN I;"Z_(*>9<WI=
M&2M%I]_!#-.E=G,Q3N)73Q.>#Z7BJ.9#:4YPIJAW!T"]#)^&.XQLOM#_]27
MT+?@R_&SZ(LI&5H!XHI/5)]OPPZ\A'\?_(\7:_R?K@9T/(ZO319SC5H[%&6L
MXI/IQ$X/*U2J:8OQ3FC_;<^UL>KR"1KN?O8P@>J/IARC<755,\U8F;_+(DAQ
M"5_=Y>;" E<RIY"HWXJQ>^\ME"S%$TC/4-3;]91/["2&+GML0E9WY#IYOK_K
MF XUOVCI=MH$ ;^EPO&75P!H7W"R85JNB2VD,-W3C$WK^<S*>2]KL0=PU)#U
M'B*8":XN<D6WR9Q"PG6>),B_-+K]+5:;%7G)!-'W)QK"RR11 .,[Z4;S9@H7
MT^-IZ&Y?R[VY5K4-$<YB1O<>IP\QM%E<[ \(J@UB:I(N2?V*E69E&^XI!-%^
M:Q$-K^#AAW^Z>O5G1) >K*%\_[.*Y7^^$&G;,.IE'"BO28%(?8\^=4!R*%'4
MAIMI.IR%32*OJ86'3HPHJU2)M&<<-2$]QU_TI_:WXZB7\*"J&5. UZ$.U/[G
M-I?U'L1#>JGZ)A'A8^[5F/HES$ZO]U-MN*J2^'XM:\"W]G&YCSXB83-[$R%X
M]=0;Q[GR#V4_W:^ZI=MXF>XQI\O=1RH8<[#GB52+(?#P8+HO&1Z7I_'YM_H-
M8?WVT(.CM4D.1GO%"Q[$O50B6+7(DR*].^J&9WW8<HV$BHN&-:VSMT"*X?Q^
M(U6:';T2HD%_@/1L&U;SLU$WM0;./\?4I9U-]G"QZ1C-U5)$]K@A-+"Y_B01
MR/9V;</:[0C>Q4?9W;BZNZW>Q5U J#]Y3WCJ\' 08WAKPK5'>F[EZA\C^)J5
M\^N*D3??K /$UA6_OUC[5<F*,%O^"[3-$F9/EMNY#F,NE9I^ONI'F'[3R=EY
M(+2W6O?,.NK#,O,HD2ESN A.6=6<L>QTN)AJN*+.!E@<6Y?O .TR!%(;0HIK
M"O!!SJIOMFJX*M4-'PR^ W<ID-N&?3]=<[NI6N_P1/"W3\+XI<=,F6%&-RW4
MA74?Z5'4 +8SK,!J\]HQ]5UW"33%7S9W7E#3*Q4B LXSY<&=P%L4X\PJ,71&
M4B -P&D->KZ%XGN^K[,($5?G$TY7\K!V<E&P0_=^NNW5P]\$9;9A>]]ANUQE
M:2*$-*0_7!C$+;HV"G%+U#)Z10>^F!^+=7-@<ZINJ8#'J;RD8LKZ@CB&FZK;
M,8.."7XF?&36=V)E]Z-671$)]Y]=.8G!K_@/EJ*3!XXY-AYV\VN<ONI2[SFM
MD?3!!S "J!>@P,GZ3RQ6K9=Q&QK\2Q@KHAC[N$M%8Z)4W7'?)KN\TUTIOYJ5
M3_4,SQ"*P,54\0F5)T?>P& [.4K%PT[2-_[;-9S_[_5_[OJ72W'^W^O_^/6O
M52LBX#1!C2RF*,=B*%-0WA8T6D3QA1VWH"'O,V^_FUO).]C2ZCNQU%XV( A7
M_G@]IO!!L0<?_)/8+1^.+?[7E>68<Z^N@O=L1*]]Z<KQL%]:^YD$5S$I:?G0
M7/2%H'//C?"4",J),:5OD_'@D:$UW")R.JYW?O\(YK"[9_Z755>IQNI,KX;F
MQ)$?)Y/MN*]F#1P=J,+<C^Q=2X2QR[_C>P!0 V"*:#I GL""W6-/J$%&USC#
M!< T1QI_9G21[TQ2WR/S487JCVO?1# *1XWW'0Q4S6M OB96A7;9)!#$"%Z(
M.*(H]KCOW29$8LNEA34#A_$3LT9LZQ>?*-S'W[?=T,"\9G K?(TV09SZ[RW>
M8I6 ]E "J1!1(\84+*&?'R;X:3[($Q@Q=.< 8XFFXVN_O5Z(SO V>/H4V_$6
MR][TE_(V[&M8-T'4!3ND8@>)$L'P&4T25Q32!\ZSR-#MV=K_ N]T/S0@Z5*]
MQ7C0CU?4R&Y "PIM"$SIW%+L&(+JI![$YJX&%JPE>]\O7Z7MCWL)QG(7Z68%
M?2\Y;OI3(ME90W3>^J6*GH?,O?O U6"'93.F2!)]%4FU)DPA>@FUK*<Q=?BW
MH)^J><T7X[5LN:;6ML;$&06WASJ?/31FS0TNYXSM5%EDC^$DD &XJ>,+ZVLN
MM%F3"FI;ZV*)7NVQ(M\B^_K$3\7I 8X2V<^SKU]^LI&&XRB$81_\LTJ.BB+4
MPIDBS>3Z]P"HOMX.@(IY<0LN2HQ.A%"+D6AU>.G@!B_#5R' ^OS9=QURA.^'
M_SS!O6@M^?/N/H_*Z__250H(Z+2T(=K0//%2ET5_Y1X+PBG,!1BCLNOYJ^_J
M7E^64>%P2V1">B2*#W*+;FQ( ;0[&BK2;*S!A04CW797'?!&V:RCJV^3_\<^
M]?*14U(GL[,?1OE'/+PI?<-,8O4KBGK+@2D6T0,).K,RLP5<=!L<=#"CQ<4;
MHF4+(R+VEBGT96;>]1).>!_SZ/&)#/.]%N+QG[DVZ\^% 91^6J<)JPCIC=S%
M'C86Y6D"4C'(HM7/<B]FA2[66]"%?N32'X5S'@C'=_^SBUD4N:C,%)9G\]RF
M;=!M/K?(YSMAU,'CZK^?N\K5A\_3?_W@)5;.QNYAOGP<7^[)J7&WA^N."=>F
M]C\N.5RS=RA95H:5A]T3-KGX)XF<$:#\?F9_(9EW:J'W&7W+LR5+ZXAW2K?\
M0>]60 5%/8^<);)Y(4FSYPKXXB5V,D<!NX<*1:[*B:FX-[ZFNQ29.0'Y'+?J
M?BXL99@4G/7R3K#*]DSSF35!3+7^EU3S/Y?(WS/_;-=K,M[)"]0EW)#QIQ-
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
M0V;5":7?+S/T9,KMP33)/3G?++;' ;EC"#>800NXV1W9PWH$>*Y/C_Q4!YQ
MFY*I'VU*C:-S5G6[B1>3+C7&FEV+R9B?&!JX;O-QY!TN5^Z^41:]E55+(.6C
MJ/9H\$A]$D!Z E"MMF'QFE3T>Q2/H">M/J5T/(4Q-ZO?>4<^G>=\VY5.5I[X
MH0S1]!$+6>O[G'TT9#L>U QE"CC3HT%@$;>;:4TCK+VE1G=ED4>[)8T&7X2_
M\Z,?C2HRNQ*.7W[XUS.'._^YJ8=+1F]4<TL_),46B;SL3@3U-F(MFJ&"'<ZZ
M[2.YW&WMMWZ%^FGP98<(01 U! 0(!X)[+7.=AX^H((^E//&L@&\^A29+ O*(
MW=@^'-6J#'+E>\ 9[32!,'QO/> YTF*T$':P;5Q<4, S@SM0G6[Z2ZM70EGC
M:PR7OP@,XJ;EM0"&M2,T=C.RW*S'-S&A9=W4'D:'[;S-0DAS>G"CLJ0ZI<.T
M?K"CX[+#!XFYE[]%Z#9,Z6^,4\Q;K&>0XGW2M WK1D\O=]_#11M:HLG\HO-&
M-N:-$<X%B;[TOJBSAZ(J2*F_P4F&)].1*D;![VRD9QZ&O.B?2W&=LF(3AHK\
M+4Z%C/B B\25IE@<KX6\S+O858'C&2(6_0=V:6\2F#(K##?L8#K0KN/&R@T&
M1%::ZE,,G<G\6K\F+2L:4Y?"*#>S"S)^>";79^U?JRS1T6V^W]AYG>,30'I'
MH-H39N7IUW:"7':W*P<H1>ZB_DE#^J1Q?R\K"V,XR#E4.FZRCLX-C'PL?ZOV
MBQB>,:=5+2?_=->4%ATX0" ]1E!=\=.6'?<TUPXQX.QI5Q5P?=%<HW2IE5J<
M6&X^'"+E^RR\C(L>^^JVG_S%:15,D4_5L'D5IST=G30#Q64"RV0D4Y! /\E*
MWBESWY3CFV6,I,*C9SN./],\F#FSP= 9G"Z7&[N14+9VA:]/B7$V271B[[DC
MN_#]:/"P&5/P\2*<>4"7[M'$JH,>\()06YS<HE<(1ERJ3(1S^=>G?Q MI'\8
M.?JH .M2.-HC/D#]X/%Q6+[-=.X ?%UU(1"_^ 58P,75#B7FG'7B2E@_,7NU
M-E*+NWO /G1(,GO!(BM!4(_W2 /C/<=\<Q,8S>8N8YB';= )K =L0?8H('QB
M:A-_ )SLM'?*>X7F$5\XWO?,5\Y>H=1.8*F'^Z09AW)9).$_MUWE,/8+JCHF
M;BV2(8FQ83U;'^>F$6)K98Y\P14X!)WNF'$-&["C//)NFMS8<0^5V%E)AP<
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
M:?R<)<)PQ7[<AO$B _#3O=W(JLF>]KL8=3(CK*QVUPW=Z9\ZY[0N-"L<F;T
M3B(/+\JU/7I]'WEX9TT3&JKH-@7L>U?I?X[I.$/]/5]+7>^ U26H?QIFCU4V
M$-6BP@(?';IZ*GORYYJ'HLM5"RX2_ &*ZA?*%/Q#:JO4P>-=PB;)HOV\)?Q:
MQ.Y[-;KV,S8SBS[)=8]F9YP/9FK?<?,]&Z7+0T)?D=]R>'W?6)EUGW =>1^@
M6N.FV<CI$GJ@9"+H9W1ZV8[C<J.8@VSD//'X\CZ<YL>CQ[HQQ0CF@7[Z[B0V
MSQ& 5+R2_P-%K;I0$)*F#*DNU;6E6<H24!T>OH'\5A>Z#2O_RRJA"R;"%MD'
M,<949#? \8/(;ZSDJY/S)^[W[-6;M3+Z6XIY,TOSGD=H'Z1VEY;NWZ?-[ T;
M9?.Q=O1(6&[W9--R; @ZWE5H>'U)R')A3?[:_96'A_NL7*[.77LJ4W_!G.*_
M]0IZ!P=6ZLY".8Z^%U3V9B"Q'_/$HCO8DK7IY0JI.K[>34V/8'_$A,R=+(IN
MO>-MEH8L2."*F3/C G8 Q0&IK@=;ZY05AIG/ 3"K0U;^X;EPSV,>>J9PZ?2^
M&%<]]Y#]&?)[[6'1KG\@\]:"" L@C1) 17P[,4$2G?);BB %3IJ-:)J^\EU
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
MX^[]=J$=US -E_@4[%3TML@G)WBKK39(Y$5AE8127JA KZ2F8O:S^["?%MW
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
MPQNGZ(_CO_#W$^$!]JA%7CD/3XA*Z6NC$]$=BNT4^@GX=T>F*R9VEF;3@4Q
MU!(ZR E_D0]PFBON,A_3[9O]OR^TC'MFSV5J326CWJ<<>9XQG'\G>LG]!'%
M#S2U8QQEU^,]"%$$L19]YDWL]8DVS9&R59FI8_8I.15#Q+["5^I1WJ:&L,&@
MSV7A)P)5KJS]"./9-.6@KN@0E@,3!@V0ZY#KO^E="_N_=8LF-(UVBBK9T!2]
M:GKJ&IL:<K7>KX:HCQ@5*<'GC^D]G_+SYOF)@H3GV+6_X:!F'TO"CC'-KJCC
M5WTW::X+*=AK'(W]GE+T.N+5X(=<?()$^(>Y.P:)UC8N'%DX X>S/,&3P,M9
M8H^>]'=(P=1;3/C*7R&$T3>XYHO5YKPCE0NVGW[EXL]%NXQ5YK?6-IU4-VRG
MG2FT_)#Q]'$[8R^--.SP'SVGK>F.+-FITV R$X.;0TFSK-_,?,TV;IVKM;G]
MFKRBWZ7</6Z[?[ _;;8SO3NM1P%VYY]S?I$J9$C @5[+X#9KD><6Z2SF_' !
M7.C)4E$#;].0DB[@#=K D$[94$6?4O;Y K20H4[+#^]&R8?J!LT%,H<>O80O
MRWO3+:G%^30/2IFHN&_ZZJ$-\:J4'QI-HF+[IP:%28>D,N7Z8=^*W.F.J>;"
M%*?\M_2V6H\"FUMGNZ>F]&?CM 8$;WH.R'^3AOSQ57!690@'_DU;@QG;L.*Y
M&R0[/ 5$_MF'@"'6CE?BEX^WPO!W7' 517XS-UWF,T*D1S*Z;SA5JMZBFP<8
MR%^5*#KS5>QVXN8V3!@W1H*U>-/" &0T*YC*=G5)3FR-R2L)/#Z>-L"KGO8"
MWDEZGP,)W6>>PDW 11"4.%157 <^+CL&2@4V>MM@]6AQVYL;2F%;5T)-$%YU
M;^_V_>BTU8[2,/.\_C;JAAR@%_LOT@-5&]=MF =!/4=V,L*_&<T/C5VR*KZ*
MFF:=(B593<3\7#.]8"E?EXCY&C,4D4O-_GKTQ+M]W8D[H.)/+IN;H^?K."M_
M(6-OU"X#6_5'TN*7;V9J1L*^IJ,D.9MQ!)+"?23P(#Q2>5EJ[&JLOP==MD]!
MN'9FE&;&EVE%JA>QKQU0'R2JEPDXS5^13P]B['^6#1W$4WZC9H083\8MCK .
ML;-??:P7UJ*JE%(G)ST3/]>X^KDTS=M)#1W>?<7#?Z=KDYK2OF=Y0EZ1B#:]
M72PL*$TW=,KJ(HN8^[\$HR]$AST/+%ZYLA6L,=_\1--+;B.M)R3O$'WK 59
MR0 DNU1]R/Q:]9!\M2](7>M1C('!-WGYOG-3?PIG_ZU*\1A?QQ>+%: A0'6]
M=8+W2Y9CU.:,\PTZ5-ZD,YQ:E<NX:.7K'RX\?D[63_.%8'K<8"SZ-9ZR3A+
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
M^A+-^3@,S^+#;WO;EHO,$SF&;Y8-Y9)C$I>;CC_2%XJH3K@S&-FV%13\2.0
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
MY./XG:EG)\$!I@"N!U^'3%V#M+#W0"153Q[,.1^EZ.KFZ/)A'8W>%SLW<Z;
MMC@Y]Q_EZ:<\D<-GOF;#Z$A0FX_U*IWQA -FO&D$MBD2U4YDB:4SCM.SUJF<
M/?-@OR5YH6,_)+#LRX:H]]=5)3K.;<W8C49([4B1DI\159?9N_./NH@_V]0\
MD$+@8YT%0LN GS29+/^*[\<6"R<54G(C)$8#0_QO%>U/=/HBC9D3N')EE]@M
M_WX+&&X 4?-MK<"S=)E4"^\BB6 M&B?S#J(7 $8.[XM&)/]UQ;-[3XM<,-RM
M\^+F0@4,G]?'4N0@F]VS[#P$Y2E^=]L^7 ^A,?1Y)1A>T6)SN^+S5=?E#?.Q
MN19]5[?/7SJ>9AX4K\A(/V2]=&O1I!);RU"H ].Y'^<(?GK?^AP%(>*^C-L)
MD!+ODF3=OWS1'+I>@@DZXC%.R\W23\HIKGLHE_%LL?":LYH7\1><_1+/P?X
MDCA3UD, "- '.&^+&FT](M+QX\:OMRH,JXLQSIJ"^T,N=L;=X//[JTGI:T='
M(6JSHE1!?X"G4\$T"HO@D9<\/[:67]7P4W''BS[!5UD!PL,G/;YP0Q_T-F;0
M"Z:))&[^QUW-1)(_\E&>7,O'NC*DW*K*_I09F(3=NF2/R9:^?(7+J>K^#WVA
MU)/7BGT>!0Q:BM=OP_@4_RVCQ.'8NT, SEJ*X4;:^.F\R<!0NT+18D5O*TWN
M>L.3+9>/^38R8WU[)BH_[XUL)ARN-M!=/%DU &60ZA!KP4Q-:'+2Q"5L'0&0
MNW"(I'/:D][N$]?:[M\ YQ;-7X^HK G/GIDC&_>"J?\*)TBB>B4 9CT(7JPT
MGC(J/+QU[$J<19S7WX@7F\E$]<-R+75A\/!/EJ9W?'C^&+-+$91"&4(5D9L]
M=!; ]Z9.9]F#/P%B'TJD[@!:+R3YA*6'1^GL]&F/V#/VR>\'W!2'HZYK!V8\
MWKO;EOBM#Q*,X6B!>I(XXF8=R*V-M5A+1T;C#%&VGMHX62&\!@&]=(Q=H:=.
M,NC<:4,:,@FN,MBE&"K3][<@]0%J%X<\7.AB(A /C7S-!= >*L_A<3>K8WX5
MU3S<G;+#K__ZYE.8M$D@3$2+ML$-L54B43+<=]$?NIL#Q+4MBI;;E7GD,7E\
MM4[NC?2CPDI!R0H&>9??1+56GX"_( !^^#B\+T*$HZ2P>K+KLHQ?L:O.'W6Q
MFC(%S>^3NI[PM[V70@Q7&]&H5+YHR8.HQQ58CA#R*7'F.0\I0_TX72!U;9UY
M#3=XC+,L#]NTH\R8*/&58UF9C^?5DY6'9>B*FH?G+66FKMB]GAX_85 0BJB0
M.IV\ZW;DFP*8"&QGRQ:MI!,> U=B28< LPN.L7>)LN ])MQGPKCL"'%M<7;B
MKJ%6OEJU6LK''= Y,N!T@$29#_2@:L9Q>YWM>DKH_HM/18?(O2]X=77_G_'U
M.D;"<)Z_W_5"R?(V)V3MJ#:&G&>2_=<&$I*G;LS8=9(!2_1G,RMV&>Y+GO8C
ML/J)CD/8[(T)%=?0B8(<_+#@]+-39=C^G,N4:-3W<( ("7"H_JX>4&W!'Q^_
M#1.RX,&HV4P%?)5T(=L4S+9,CA_LQSA_:"GA*] 8-U. 4"0* PX#-_KP>TC>
M_2VBKU"K>H%O,/'##2;C5^6ZK#RC.HT#O/GD5Q-A"WAN+<UC]RFB:]R,\SX
MO<9FG@ UNQNV87(0'&-H/V'D=MAE[\1O?ZN:1]^W4#X&I2D"%0ISB_M-KV4^
MLK#"W<!WU"%J4GO0LJ EHX)CH"(Q-8,^+&-?H+D;4JAKS1"TB7BS<E&HE%7P
MR#1-22Y=B<<@;)G]$M>-!Y!ZGZ<8+SF?\<,-9Z>N>P-Q7>Z'I^H0L192]2D1
M>-O8^[.W57)W',Y*,Q][\//9L_7W=UK]?Z]:@E9 21=\SQ2E,19K6+3<)FIW
MU&AQ;%V;%GW>]>CELG:=M"O[%+7$+NB."RQP=8,!!QE*0N=X($'$-NQFZ+=M
MF'W3)QSW,B.9L'D0&B?]WJ(BV#R7B6MQU+ U/J8(2QP@)YHK V%4T6@6A[_/
M=R_G[:L=K_-W/6-LI^$LUG$WK;?,R&I_6N@1K;CK*?8AY-JMM1BF%FX 6&D@
MU\IV$819%JEN/JX74:*^F7]O-9LPNZTO[M3X"7_&#/,.6D@ICD2\WX!$.6S@
M:3E6BV,[@HOPRPN7B>](%'!T!Z9AXPS[!:0YXS2D&W-=+Z%NJ*SGTHW8E37?
MS0[%QA/CA9)2RMV!RZCI;WW(STB&-KNDY;HW78B1S+5:RJLS$6^<7584&&G^
MKZ]V!2JVE$G8&@4-)FZ:Q?#M>)97.%7/<@!M >)"UH,-G#S6%YC/HI%%_$[H
M3&:5NUA%>!]V2&N3S_A0%;XK150M&\:M#?YO]XX+""\B>,!F+3F?90KN-3:+
MN$_9AG$VX!7X9.K2@^OB7UH+3NW1KCF2J7'?.;1-BK(G\CS?#T]L,_,(KIM0
MP[>&9[\FUY"[D,+@3OO@(6@LW7(BOS;S^RFGWIH6/_E/0M56ZF]^'.'1:'OU
M?Y_9OA_\ [P96FAL)RJPQ#XNF4S.&XR%Z(@X1PXD&RN&-7KU8?E&\&)D  UG
M21$IC2P)URZ"))[RE$.R'5K/8 _0PZ)9CB&EOEO9Y9>2%.-_W$@\JBJI:O!Z
MCC]/WE5\1*J]0(FS!/="-KW7]S-YH1YR@])D&*%>MG-C#_AC%8G4G5QUFLA_
MVQ1E_K4PN.;/FX<OGNZ1RCOS4G0!SOC,?HF5YV@K7GQ'$-X;\0!1S7,54T8E
MM">1US<D,,5FX?MJQ =" F_?N]#_IM,@\X)K^UK!<.[[L0M\"!MH@+SYCKPN
MQ,$VE_%_ \96_RZQ.<S"<V.ZC^$ 1(-"#%] -XYBK^(H,>*?_[GK9OH97M.A
MQ4//X4KH.Z[*R]FF:_5,8S!LH;B$B?QNL7-,NTUMU80VN0WK!I8!#6(P[,S"
MYF(3OT;(M)1_[(W#B<=V1(HNV4"B'++SU %C"0V&IG,CGZ^02O2FPR#['.H4
M.TG!!GIBY8@SP[V'<V-(+2G?+52@<17!#^;A+V?=BE@NN%8/D?R K(L%K\Y5
MOZ]\966K;+GCL5S*4JO'F?&[K3QGZ\?JS#!K:^6OSNA08D[92%V,?!U?\&]F
M+F7'"7B/)DOYM_%&5VH2N1J_KE_I?'6 "N?!D"ZG7VF.,J#)^/[*>;WPBZQ^
M)?CI5=:\\R]B/IY"0<QZ,-S8K7@*F9! 4L#?3)4]N:"W9P;,.CF^U!(EO\YJ
M[B>6+V*RS>)ICPTX8/Q.J]S]J=]6=$>J:"<AI6UW&WB=3NQR026UF)8><*W0
M<ZI+9+R_5J+5=C#C<<9>:6ZFP0AV@TH&-5%K\E1$5';)VAR5'-TF6@_P-M[+
MSBR@+GY83\D-"Y<92;??\:CPB5YFCO,#-;\%.:D=BV3 AOC'2G:-8[1N3G1N
MP_ZBHTA/N.UF4]O)H"\9/+@-8TD[,M"R0C[S%BKZP.95B]#.OWFEKUW+X^2/
MG**2!"$Z5IR2RH<U!D(S@)_4I2S__._'E M-CH7F>DAT^/O[!^6K)AX8^_\2
MG(DZ8"!3&QI!\4*J8!:'JG2B8""^R_T0_<7X5?^9MN<E)_WOEPYI)QNV?OSP
MJF5XW/"HKJVV[8H/#XN)H"0YD@&KT0=M0O2P-6XKQ!+0FXK?S?('>$GADBON
M^A.S@;]?/#3(?R=XP5RGV8LF<<;%-.&%3-_JU)HEG0SQWZ:3(,&R5] ("3@/
MGTXZ0S^=)]VHL,!"?@C(G.RR::H76>P<3MJ7?-5**IB'.5 XDW@9C1@GKG/+
M%VS#V/&D .%34\[LDC8IT*-/(>8)_\O63W6?O9M3]-.KO;66'@Z\'V$&OS=T
M3V!:0$.H6O1:/O6@N0#3$)0\!:BDF25X-8RM[:MQ_LJS8U'_T'.44M"=D13#
M$\I9O8C8O^A>Y$.+0Z!E^>"8,TBT:?OP+<W:6;4MAN+%\^BQ4O8V[# "5)-=
M;[Z]#>-=X:@]*]PA:!0/7$"*^&6[9U6XVA2L3#C-/B]J>#>QZ*N]H6I]P+LN
M^ZCZ(?K7FOZ4EY$GMV&7S_X)9J1RZ]QPP,'LSOEQT9DD*B&6A9G!:/F:U)=8
MAAQO2G]2?6[E9K+MUYAKHO=@$$*4I93/].1,=P)!>:,BS'Z*ISR942XG"?]V
M31*R6R6+^0KK4!MM[5:.I:\_B\B;.:#(7VDJ$;F C=+_PU$.NU_1D=UP4 //
M4NI'!*;*@Z$1=J>.+3U8T-%!?-(M*>GR1Z/O/NX_>5'55NK#S6_^N]6O/=J&
M%2+7%IGRT "I1B8KK  :(HN8FU$.H(&@]PDE7;[[WY.;O]DJQ&6AN<[>1@L$
M- 2O=5QWI9;A^: )E9UCYO>+G?N]&AJGZD"]20&1'9B6KQZ*8H>=^=5O85Z*
M_LSDT(18;DH2B:,Z*97DFK!8<VGF(8QH]Z3*+L F4?LW0FP5VA<E=%VE+,0W
M7#CYA=VN+4&['D;)C:N2BT#A3O]?C>UDX(+9Z&=12/@U.Z=^0Q$W*H. 6RA@
MFB:NC+?8J91@]U9/H)CGJ146'X2<YK43S,(?J&OH2U6_W%5;B2 *D"BYV[ J
MM]&.^^CIP07*:!2YW21LZ(TE=6EL722[<259[AT3D;'XG&&FEWWRCH#\4FMS
M)WP'CA_#0U5'P%HDJ<**9P'CUI:&-! WV2OWJZ<Q]_G7>-?=FPUF9C)N;_?_
MZT"^2FI$)",HTZAD4M7<5 ]IVKL+V@]>9YYP=YJU%WWX:^+U52?+TMH#>4<+
M6WX&C+Q)9KK/.[VHG!2/_9+Q]S='XH/ D\QKF E(.))=8JY)2U*^Q+29^K4A
M9D_1L:"Z+6:/FTG[$ZH+/!])?%&+3SOB^S#&VBF=[>G+,5[6:%"=D45;I+>F
MKJT";.-=6>\=V#%^UQV5!=LO=!X.ESO/,>%L]:JJZO&UZQ-&_1X-#0W)-Q(/
M/%6UCC_\YLWAG9&'87([(Q$C"Y"PY/]V3=:TO:/!/V?1OG]<9_U#O]]SSP43
M2IO?G3GP[8E&I(U1K)7/0,2#\[W"S<I66#Q3'GMQDD29)H&ZIDEUR)F"KIET
MC,;?40?@I[N+Y9)M,)7)?%89$*+XSXTR@XV&N.%_ H>8'[=A3C%:;,5\SHPW
M.3)OIH,S<(7&&D@\+''1Y IT^N4XYU3+.KM"4G)WPATE:_UC_3SE).R1+XIA
MQFN(.KVU'*8^;C)/,;H37O<MTDA497FR?#10YEU)UWU&6 "OC\L_7@GQ<MHQ
MMLK?>5@S>$H; 7! "W,FNH?P'8U&U)2P)!N[FD83 N_*Z^VK"5\7;NTM>>.W
MM#OP\1,7L_N8B@[?FY]YE^4C3^^YA:"LI$9V,5PXBK"4:<PN0BNV(_B,1D4'
M[CR?-<^^.WYB<P^%.BUT=P.UO)MI"G4@JAW7'H2$O(:&X8(L?8KK[$?]+^Z^
M"@$F6W=ZSX>:K[3Y:UB?DCTD>M*Q[3C4A:K.6K]($]*3AL:W88(M!Q?82/M&
MD\PLW-YQG7KYEY'5>!T5S%R&J<3LR5Y;HQW<<&T^Y#9LD%LLC<D/HK9A9U\5
M0,(<27@J^AW^FTTCL ]EDUXAD[9A.W "N#&$Z$W0EC[:Z6+SR%S'\-1&X:K,
M;?=I0]?''R3WO.D_*R9([U"Z""11]#KT(N$B"Z -8,KYWX?F.D+GZ,L*QU]<
MN7)V:E==H:7$FYUKMD%'-;E@6I\(&M^G:.$^SA]@EY&\WE;*O$>IL!0_&?$'
MP<VN9UW(/J+V>$&3_X<<?:;M#F>#+Z^2 7OXYVA&%)C++7D4:B&"/,XNZCX\
M39YSF4.:)(=[W72F9"KZ2L\K9OC,'_1PYAOD'SPCC_^82M%<,V;*XP:AO:UT
MU-H'H*PS#_;QM]9MW[ P*EMU]GPVAH=O<XZ2+)]^2[CNQ4T>YVU8'7Y-E"F%
MFYH*G2&L'^=\ CK:5GM2N76)6-QQ.TSJVK<;YX>6WMS\^C*BD/%2E$KD8(8B
M/.41OEZ6);70":^98DF2&')U],ITW5)/(W>#=Y\V[I;>!2N^VNJ&:-;Z5-Y&
M^_%^E1A2/-OA(#C\!A<QM@U;#.8F>21S[$5Q'_'7278NB:/VIUT9-A]TL6;,
MPRPS8"NR0N]L3M'8+S!@_FO)G*&YG\HEPXX[W:&5. 07OR<M$%E&+)0 2YTD
M/O*A=1OV\(6O3($CTTXSTY/IF/4-?2#TQ]R+V^.1%A7_A8BP?Z/"_DQSM'$9
M?I&/++T-6]WJPO_%U!*7+/_U8D8Q6-R6:NY0[[VL=L2L75>;:@/PHZP"M9HG
M,74W:7]+%/ T5FM(@_<,8T#J=66)^@TTX=IGU-\$SE<68$UI>C*<HR4%'?SN
M+EWU[N-&<2NPG#(_KI%]1:AL1K]SK_:M'9H\D5J45- $R= %]>E;$/]["REH
M&K&GCBSIW+'0ZK4B;-:CX#(\UFSE]\HIDVIJW7T3?4["P# 1!H5Q;$=V(-T,
M$N(*OZ;>>A>5*'IU.4_F PLIFQQR4%TQRWZB#C.I8R!?B'H\:GARE^MEUDAK
MUJ%'-OVHFKA$T@TT]V8,97$(DP.)R!-<,N=T?Z=A&H5>GTFB\0=]D- JG.AR
M%\)0)=0/BFU.!?C99.JC5A8!688?.X_D2>3%=S:S<UHD7V%D+0W"1STY&-M#
MZDE:M'K4?K<?)SK"AN N= 2WW[0]X3,?XS4]&VO#?M4F@K'IM=AW(C'DN-W9
M*-<!B<,[M=,#R:H'Y/ZY,\@'N\#W!XGON *I0YUD:1*:S,/U![VCB%/P#V6N
MN'AE%5W=_S ;>V^-,361DWQ2XIK&+7=D[4;65EQ_EX>B#8.'8^^WN*$]N!'.
M3R3_.1X&-^$\'=?/P(OA9+XHFJWK]4FNG)OR1C:))RW7@>/C!U7SYK;ZU,7)
M!R/BAP>5M?[ZTTDLR73N?0M= R4ZLL"-J^";5.P,O>C;I#?S2_&@=:ZW4%UU
M1X""ZKX$]="0TYVQ-TX,&*^3%4G>Q$C..6N,=J5^6Q>FC$CV*4@>R5I36']H
MREC=*R=2:G#$49Z:M<=,@:,LU#@@5XL1PS%RIPENP#]DEG@4LT?V7D/![4.K
M"H'#CB/78686[QO67[]L,>4]92U==$H_2G$#?Q$.7!0%#VQT;\,^V_U[*60"
MO4<!ETG37N2%O#0:<=>R@]_?K?C?ADH-35_Y!XP+XR<-S>\]DH%<ZSH7U3/R
M3H@.KJ,^F;:3P/U]+$D"PYO^%"'>QL.2!,)BL98!P>C2&=_#$34\JU+#%>JG
MMSX/Y?W^W=@]&H/?@S,"=7]2^WKU1'SSM #&J_R@NI$;XUJK1R._\L5ZW@U0
ML3[9\5)TD]M2KJF1I5A$TWN0;9K"H9*CM&0X[3@C7\CMNV'1GXG \ERY8<U
MNW")LC4!AG^"I%FL"36NC5MMML6,:0NB(.%5=M)=XLPC5%_E-BP($VMOH>P0
M-KOO0Z%BW:]T_##?]."SI^S/Y_Q[#R/&IJA$EH0:)' ?B.ZMPEJ#MP'1]K_N
MC;Y[LV?H1OYA3^8OW%%1_MZIP5>P=U<HL0A"X 81M?!UYR+?&?BZ,<#L(HMI
MUR6XWY<SMRPY^;H/K1VI9>Y_[(CU-9CZM;03\&\Z'$'*9,>V'62=X;S80:@'
MWJC7E6L2X6@#(+K*A(6ZR=Z6:LZN;E9[&K*T9=5/J?_T2!L5'%7!;<&+MN!
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
M56[F:6R+)LB#;4UEI[$TQ2-R>WRDYWOC.FV+"^>EUC.<>K[<NF_EK7D+=EZ
M<??_=LS;BEK%%&#QL@D@S U1@:(>\/+SF7E[/=!3QOC"Q,1-QN+C^T-[?48;
M_\S@VDB'62>!H&ST&5I,G6OPOI=J@K&20MZ'N'AU[;O/BV6L_0^0D7];7>5_
M7_^_7?];-O=_G>N_1S97?@O"7N&)!'(NMGJ==81D""@R+V+Z_C#<R7=M43@#
MND?JU#,KQ7.[CO75Z<G'#[R^%T.]SLE\EZ"'-1D!G'>JE((])-H(@F9 B T6
MQ'DQXFU;1LV KNO'/1U">1N883F%BDY*//:X3-H[^-C*-NPYR#'4)&1"SUH
MD8#^N\%,&_?O/H@Q2X16#[B>OADJ#_1"/0I&DF<0$_4@UTXE_WUTU.H4TYRT
M5'!Y5$63;=5:S:@VL^GQ\G;V%F6_S8W;G\X6F'M@*_/'>LU5Z_[.&3C2-FQ_
MD#7:Y.YE\)2'<=L9],D)VS^1OF^6;D9J!U2_%NW/*M#:,,$\!F(9UQ$T?60T
M@78M<3)!'K6:\V&\+3MP[5&]B+!J=];:;+^69Y*'G_L'?6S8B-7YW4^0'U#
M>2;(%4#W 0\$,0^[;,..8)U#)HV5Q0%\^VB&VIL__DO^29,EYG?N=,\;I=X3
ME$Z4$A/6%6#N8TK?1;L.(QU)41D%5,3C="R/LI9F_@\@P?"=K4MG@=8!Z:\*
MAKN+<N.^P(YQ:!$W%*&13 UMPV::L.1&7#D'B\]F++1&CS8C+DND$E^>OG/=
MTW/VA>\/!=^VRBQ89D*NU7,0^OK1*A2@9,42Z*<DKIK3,V=? _+,LRRNC-!3
MX%>B1<W@1RW=PHE>#Z>MCT<-SC4LJ74F22<<E;A;MI[ZY@DVY);55B\XAH#O
M"(GO7]@ILDQ-A%!U%OO]1ZU0LB@[6%&F$P''-UQV+%;LO9ZHM@T[-=1SF3^I
M0^J!951OS<OWUIRA.6P>%H)2*M2%X1UL\)JIU:)J6E>$_1V]=*9)]-F1$UUU
MGU1V#0R@^M19 C+@ 3,F9$8M^@3W8M'$!)+X?<"/*?5SE,L3C9Q9&7^HZIZ9
MJC?]QT0!Z> C%5'=(__E4_L3*<VI']LP-5)55Q0(P[804-6)S=NP:!+-"#MQ
M>+-C OE<U;^27O!TCDCUBV[JX:]>)KDD]$IPKMFGZ9EJG)%ZG _@).=@$#,\
M)0_(0TAPRX!Y R" AW78;YO@F*\ZRNDMTZ?H5FW,8TH]YLHGHDPU(ABU7MH_
MGUL'&'MY]BN$'OYU1WR?_S:L>GUU<T=BKXLA3U^D\C&56'IT9+S..71(W1!+
M2C613[6QN>ISO*?21]6C.3R12F51%GS&:M*!W3\$GL+ 11<\N7CF#XN'@[$7
M2*'Y]^^\\=9CNJ'N8 ;JJI))TX')\*.N%;:WW9(_;L,4%$J(YKE*_O7L(K44
MS_F-BLH='2T(!=#,O*!G5"741HC9AI754.]35.FX!)W=*V=<DP(3^X6\BEPK
MM-LY;<A\C+1(6^LSCZXOV2>?-3ZM<!%9./%/RK% %_*-%W#!@+'&KB60WR#*
MB6%(5\(8\599>97ID7C1]ALH5SI*(<GNXH:MT>M=9XJTN(5/Z5\K_GF&V4.S
MIZQ'-*FQCM *NA(/72W.#JRY4D8LE7(2U2ME'7CTK.;:7N\4%,3[6CP(CNO
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
MUQOKDC4+CORXOO7\6KJW=&'&Q2NRAX>$G8*!?O#@)FT/R"G$/([IX&'M1/^
MI2S141WYE;J\N$&[GQG#H&3=T*]Z_Y-!'SW%%^85TZS.7"E\Z7P675RIB@U&
M[J0AB0SE'0G/0,NN%E*U4!M5O9.18:LYUN.S,#DU\=J[0=?/DW[G"N)@@U2,
MJ,N7\T>WHOX/TMX\'*H__!\>J6Q)"%DGV2I;RM(BTXXD2T76J60/"1F9YD0A
M2R:$4"9;=I.];).]J.S;B%E4L@QGJ.G4+)XSG^_S_/N[?M?W^<?@NLZ<][G7
MU^M][O=]OT>!I_"0.J%3_V$3Y3U:""LY= ,<B-=LS+D<2W=I;LYY70<<E$E=
MHT?H)9S;0!SLG;\E_H6,X$7PN\O>VUY= ;27$&I9>:]=+$V/.L2 XXN,(<L=
M'>3SIY3QG@?/QZ?-/%A%V^"&<E4A%/]])YR7 \/TI^99^YB!.7,$%0A%FW]D
MI#@C:/76Z;>V2Z62RX!&!:L,.YI]MO9M@OI^L0];9][#%-2&P3Z.W4&@'B<M
MDP#:?;,_-$8#7BANY$3S(]<IP,OES)ONP*'^EH/J/F4F-\'M(9^Q_6PE.(7#
MT/H:$=+ZDV!Z<@XUR:9];XP.0^[L5E)XT3"1F2EF:G<DU#;S4-]CF?C=>ZH.
M)3\3X,!@M%V%Y$F C 98M=QXK'X5;_0?.K;%@.G=R4+?8,8TQIOZEOE<LHZX
M=;[^6_#'TNF.H8MYGII;1!0-3NU,<EP$.)(A_ YH@IABGJCDW$MMGH@;^+!+
M%K</0A=_5FH[[G;:KA7\WET_9:%R6&7]$B&DK[O+A6'^/,4TI=HNFWN-;T'1
M)-""0.Z$27<WA3\TNRZ'(NDG5?<G,SMLC)44Z!62D1HZ4A60ZK1K;6!/K<&W
M5/]5Y%0:ZSPWF^2!BAWB[.%FM,@406J='U6S&*$?SGCY/D;T&\8=M%9%"*I7
MK3[8>AOQ2B+__W>Y)6(_"=)U6^W&0UJ-G)UQK+?<I[R=5RW($HPK ?F+#@L"
M>Y?_3+#^)=;Y"8@W+015&B>7JRX,DP8%^1TN@S%WYGG"<R8<:07RX:M:G==I
M%D5SU\?4:D4S79G-C%<VN3GE/U')%/#BP"2!E0/-T #RZ3F8E^EW\0Z#5^L5
M](AWU=<KSZ9WNIU .%[V3+[K+3 6:[EL0:SS$>34D*BQY,9N"6@OA;.S$68Z
M+WE[)_NY,6RMG\[UG"5CI\Z%?S&?O[=4%(K''LOZQ78K?O5 I?A_LMHH+$8O
M?3BEWK9Y /@"T#[SF"K3T^PC6/2P;D68]N2/UH;8?MN:>G_]7!=YU1>*=ZW\
MXV5<?L2>4W4M=>:-\@>=0EK \B6V-L>=:=Y+G%JES6;2T'+0P(#"EV(O]?7
MF$\4GV<[5OK*UA'?]I1\4+HFRB+@";6D]R1R)JUHM9U"UN^XYYW$,<!=>3U2
M[Q_V-NZ>]ZV$79[J%UZFJFXO3M\]*,0L9U_#]<,0WUM_.0K4X02U@;R'<W-'
M'OG^DWN(#2OS(]>#Z1UI.PV63MK9689'Y!HJWEV9O6+SVPZVIT'09GF>BIR\
M1&MXPE;':#E 82!]_4* RVF0U;1N5N 95/998T$Z:T7OF[AZ6EVS<SA92>#!
M)GR:V7:@O14%GB,\H$@&M.WG'(6D"\7]^JX'!_Y[^2.O?+I[_XORHGKN6'=3
M3>[EQSQ[@5V['9=G$ #,,L$0H>5YT)M&XLBPJ4*,6O8MC,-2-[JV,<%P"1"%
MWKA\#!-NS!VVRK>R\E2_E&=1Y?'NB61G/ROB\E:!C-9.5BHWE43](C%%8H4U
M<_/GASE&<V*>#=*^_TQB6\++_11Z"K3O?\BKM_:XUV"QW5.X&N@_]9:X7#LG
MU(Y_1*J3ZVRUHFGU(L479G7!'N*NY/4+8P'#B^1KVT_>?"KYSF);A9GG->'=
M#_S7@MXCP<!PCJ0CK1A/@[)H^ =-9[)?MG2$6I]CVXTN/WR8PHN)"#,J1?RZ
MM)WBA^ YHJC-.%GNTU!]R"2<*A&/NAX41Z9T(F/;M*%TE>:BG[@]J;Y&6^3N
MX4JV#<S/S+YUZA"YT;5<J:BM)^C(.L0&-A!]\CAC8$J6J<5[/D\LW$#X 9-I
MK,O<AC857Y((_\\M5Z'>SNSCR_>>I,=,I1Y^U92@%:..UIC;77&G*>K%]:90
MHC>SN&,@CB)I)NM'V=SB6]1=@G%T&RX>7/VU("9</+*2=\!*<,?I ,SSO'8A
MH2H?P;^C<"PV1WW?AML%(Y,T] 9B.)M#Y?<:!_H $C6/\'L"_M](K2-+GFW(
MZP<0* ]2S%W8=$A>P#9GR+RCH?9SF.Q+KYL^&?ZQ,VJ":L<\<](^WR;!F0_&
MH7+4N!Z\(FYP R&*%??(AR;H1YY#F5=BB@[Y:=+11VT.&"8]#(T+)I=_1@#;
M = 'S=E9S@K@9IC)8T]QLP _E-15#JJ.>:[%B+C=/WNYW*,([78Z8)O)..'6
M\T(1TWTLI\VWJ#7]2W7(B_"2YWDC2!$2M9K_NH P%<Y_=[#-WX&P0[I3X5?C
M[.X)0\LM/PB;9OIOC>Q:4=,\(O5E>-SI-:9?ZTO9KJ8:_&+9*D\X"WZR\E8N
M00\&2ED\T9\ &#V[6%EE_*+R-E$EGZDN'BS^_KGK2;6S"FJ[BBZ4M,\9+9*J
M 8[4.HO_4CTB\2_@,1![S_MAD)$%)Z?Y5\1JO<B-#T'[JE8U<N?ZO@I&X+P^
M/0A^NE?P;S;8R*FJIMNPI6!R/")>'RG'4?[+9,_]Z0B:RJ3)=1(0F+1+8/@#
MT_OT^%\4!;]_3BD:LLQ>Q=.!#/EM0Q]BZ0Z/)7_\W:WTX"Q@":OC#67YI2_;
MT88=/ UI?C33<7,6D\=:**#KC=[&!'1(DOI[GY410@ZKU"]L()3_VV>*!F!
MVBEN124Q1&CWC_6HR(REGQW/*>VH??]]^Y4'IN5Y?U-&XT[W/85!3047-L8;
M +_8=Q\W"GN%:4+S_!.+T\*LVX*?OQ-C/,TT[P-71^LCR\.3/P]WB.%5SW_I
M6SM<=S9Q<\.!+;A;6$'NL[8]O#%8P\0$&N3B:5Q:QD%!!1%S@IZ!13]RQWN$
M\YHF"U)O1-,M'R\Z'$IZ(<A]@Q6$%RD*M.\A>=GL]%,QA$Q F_/58V':5CGR
M>D&!J_7FR6(?R/L>(0/?O7#)?#(E=KJZH1I!G9C90-1L();3V$=P, 7:AF\G
M3D5V9, ,O-/="A?*-D[)-SD4(V69Y3:M(WER7LE6:,Z1(]7)$^.K?H[?$77S
M(@30@Q+0LAQ=:I DA.IT4'!\_"L@_-)#F];H]0N-5SU]KF6-6]*?]_XX==W)
M9*L([\U!?!QO+^XKSPAVIF04]3FR?KX=/T6@.1048(".H>E.VOT[D2/'H-S5
M"ZUNY_>JUK,-S\D7Q@[O&9*_N7=",L_T!\D)I_<_(16?C)+2,]/!GH2D"U[Z
MK7@$'_-MS/QWI:ZF^NLG5H.)K8N!1[^TY%=+K2-&_[) ?VIQA_X4A=:3!3ZD
M.L;^6A7!H,V3>KU?^]Y=" C8H:5S:C>BUD!G^<ZGKEHI2T,!#@)HET7Q2< E
M5B4W*11FB[>XR,Y9.6B(%O:VENE)BF^Y7N8CY?IQ&[%F91?%OB&J -,0$2VS
M:9^@]EYJXR*%(Z75 7M8D$,CG"*-F'(/4=1,0#CL![.QHU\L)P:*\BU==.3)
M^^CER];JV+LMI@GY;AL^K;)D7W,K8L^-,A72#9(O!5*UX4AYL+JA)V',$-8#
M2+=PT5V#]/1S1,E5U]F?:S-],S??\KZ\;9"VH'2M;?7XFLTV9UWE/@$\29-I
M-!KDR-X+*9X'S>+4HWWS1O*G-;I>7;,,/I21'2[X8*WYC9(WK-:1_YLR2^#_
M.&.$." ![==G](/K+"'NDY80)M"%TQENT:5G@+P:4Z6F<O%,,K<U:61JNM [
MWNG[V;^HQ\'H+R2.(NQE0K)0&JM[O"68&@3ML^E"B_J8[2'8#X92-D\6BKRV
M+K$I,?H48JX0/>L?$3UCGA>\= (YU2K#%,=S=A:PA$?;3!>1M5N*NXGBR,<*
M%S*'W']:WXL/#R3?M+<)_Z%];7?TWL+44Q:B)994QRP? +PZ &G\B<>*T%$)
M"EH]J]ML:"01/^/LBY5E8ODZC%7]KLH@Y(O+:G\[1,X?E'40ONTC^*LJ80T9
MA4::;<.- '#6.\0;X&E4,\-CC!RR=(VLC>V,ZCX'J9W>[:A\UR*I>/"ANPSH
MPC^%*L8;(L@%M0EPMD'\)I8[H0%KJ\RFH5_L/-VO5E[T(XF[OT4$GFK,,Q1@
MO90!@QC'8"LY!7OR/5X/3DUE&[?83!_R[W"FG7VZ$&Z2J/GJ\=S^57^)K(/:
M@NE>)X3AI_1>IK"#>!]0#4*Q02UH]@&.Q:!IL$<18J+7LC4Y(D#@XU9,U/J-
M#YN)SQ.?'GXE45I"I.:P^)4[K\QT,?H\,2':0#2I%M\5).Q'J T;)]%<[IN[
MN%BLV!\_NCP-^)'(?S:UV4;43/XU8*#'C.OAY3V'E^<(A70VF2364Y)YDG7#
MG+,[1WPS[='[NT,SUNH./I_>%9"JK>:1MU/@G_=9#+H71?9GX;A9/%G"$PH2
MBWZ-L>E0I>+9+G8O;]3KWPG>L1VCL8&(4_8EU/8R4.SCO'&"1 Z=M#PV)WZH
MITW1JO16CMUPL?3[QATQWDEO?O8I6PI5"[4B(F']HY?Y1?#RW!C8+R44T5@3
M;B9O'P;H=5[)\?H7,Y:1$JJGD3"F;I'M(/;>=FW/_%A,!*D7QIG: QQI+98K
M<YDBACO&"0 ;'M*/.9GFO#0B;NG^7$&8>9LLH'9B-M^V</L]6Z&?WV6^ 9O;
MS#@[N$6F6X*85BPL\V[*''J[FX'%;V79->WI.TM//KAK7JMZIYCRI@^S6^%O
M;2<!O,3'LX1$G#J42-L:Q<1WU&+2.NP6I?T==$O,E;*QSG9[F"MBZ5?'OY:N
MRS\62_817/FG#::Q.F'Y+N Z<V6YT6V:O$&@9K['9IL?3FW8D.'<V6FC)A>[
MU'6W(1:CFZ)^6=I 8_O.]&L8H[]I&XBM$-#>J3# >&UJ1]6']C9VV8CY\(Q'
MC6:T+$"OK)W[7@^4M(*83\'GQ"*J1G8-W9]6_BG(ELPG#8A1M1CF[+.N0#OE
M'J&]-82N_YCR?A#3WRUI'&=&# U]%BTNRSISZ=9PA(#DL\.*MPLW'3@+W'#?
M#B^T%VC7X0#,6-2#-G&(266<[C[T5<Q"UV/T4E\N]67^WL#MNM]3<KY?23[G
M98JP1N#2A]"2G!#XPE1>.Z56O_L8$(VJD^L.DL"@NC.#3YH>=2^]J[NBGK"0
M<&:Q<LPM"C$OO_FNT6_]+F*\NP!TA"KN02_N/NX^<1*<CV-HM(W6*TYM=F"-
M@T\&U),PHJ]LA8+.8FO9!KQI0HTC@^!=X8>L*>X21_:^P=RGXNW2+%Y<S!BX
MH]15=>*]CMH-H?K[UO\_!H,YIF-]H070FQ4,148R/>;F$T))6R%_F_=O1W\G
MEBPS4G)6JO[*G[QKNG];K0I"\\%QAP3."@2;Q1;__ZJ>@T#S!+,]'!UHA'8?
M;0&Z%?@I?"O%J*5V?+ZJ^C9CWZ8^U6VG_N:(WHQZD8(^@?N,:I!8;F??Q'C8
M,HN7Z^=>:O7><T@/U2'JU<5W,3MOVUI^KU96]-C:F_=*HM"'^$4?3P(=29 F
M:KEU;JI-EA,&3=/<Q+KNUD28./NVR,D9UP!WZ8<WQVY5[FH65OI%?,,3X41"
M:FQ+:.LTG;#,I<^H]>0J-=](\7/6_>;8T#VA^+3E0KO;'1/5SGW4!SZ"XR5$
M.!+X$J;-89J8Q#D60">0"^@J#ZG'CM'[?;G$".661IWG7W<_)AC?>*?XR&]2
MV7_@O_VT??K+\FQ_OTL_434#W<!VS,#EAJ3/>B\],?G<&^XU]S.LTY:5Q9;)
M$O<0[#L)Z\1$I!Q/!BL$;L]C7II#/_Y%$8'\SY_4^%%:[F;N[2N:%M7DY'19
M5GV+?+\4XN-N1SK *((E;,]-0ODA(<T!ABJ,:JR8!(N)%C<:,:Z)R_'-1]>W
ME?I=;TB3VT%<F1?%)UGOVE^(?W[SIN"?\02>+HKZ60*/4FH[RMD)S0/,YIY[
MJTG>(_6M"L><C#Z?F[/#2%GHB>EXT;Z^NB&@>EM$:>+W0_9YW/@&HM9\.8RZ
MI/\858]\4D?<]#,[G;[ :FQJH0M[-MV,V'R^MWSGDVF5!!_!GV7:ZR0ZP)$I
MYHE4@AXT2JR9-M::;P;:)YE%[UH&JU1 BW\Q-<WGO&+W=IYG"MF_/I$CN$TZ
M^]\(-:YW(!I=U]C9;Y.(JEU-^$64A_R@FLY2GS]V,].UKTU4,1]%EUX<-):W
MV2QX0N7=66PPVYX_1PJXH3^9L_R&-T;8:7J<&ED.<:;]CY]C.K!\HG9_5*X)
M?#FXXV38J5?,%Q/F_^,^^@Q"OAOF(<L!>O(*6A';M(7L:Y(R<+QAM7G^-,%8
M=_)O>/X*XP32WLX=Q>QE14/R[$,842 !56>2^ O8#-V=>114LN28XN3R]TEJ
M"5%[K_<MY9)W7LOB6#S;#&AW0U&S2# FI4-H4'H.'=-RDGXLT\#%-Q&CNU+E
M"FR3_*+FB\>>V367^TS@G\%9[!C[ FZ24D-9#J#-F'23ZDV2Z_";?)NZ^YV=
M7!?7'ZOEAME_WY%;L5,:?QY$)0*@ Q'2)+XG",/9!RUK9@BAS4>POIXJQ7G-
MLR+J;=7/:'IJ"0?6GE^-WERTZ:9D[G8$ZHP/,2</6@*+YWJ7ARHX'EP"UK$8
M4WZB=5B_L&;LEU5=4Z-WLM:7J1LW! NV23[MZ]R\21L*AQ.I,>P% /G8'(%Q
MEIEH 4TQ!;MR#>JJP?IGXX/^V97C>4H'C2;M?]9^H%U-%D$H!9] _CQT%FO$
MMH75<@%U#379Z!K70:F7ZR9NQQR[^E+V\DB0O@R1T\BN"LBG'"RX>R?*YK"I
MPF^8'_:SZKFPS_E3A*WF!J: WFQD\J_R\*LK6D-$CR:V:=)!J9NGW+5VW]1)
MJ$R&;W/Z?_]N+**WFY)(V<;;A#49:]/GW!ROQ!ZA/1&5-,LK=6_KC_1)W$Q1
M"XGY^MZ[P4=PZ"=1#])E-M*T&/)@OQ4T &IW&;OO!U\WU!R/+2\^K]GP=L>'
MP8_5O4*W'G^832J\2]2$Q-C!O ]HV$^P9\%Y5CB4F ?UNH%I >,ZH<U%N?X'
MU7U(F()7LQ7O%E).(*]<DK+XIE/R_MGA6TK4W^T<<>S8''%:GW45\F3^Z:34
M].);P@M]T9(MCMO"CYK'>;\0/[4F[WS&/%G/TG[P@\#"FDD1@.(/]2+$ J"U
M#:0I%P^KC$@^=(I;3F?RTDJ@Z'Z>5.]85>IA4U1(2%AHQL(]&N5+2[97JMHQ
MX?Y;:M=^/$"5)FC_%8##MBK0WI7MS;":LXGG\=LN/N!<!'/C2[3B;QF2!%QT
M?(L_EK2'J3/I!T36LYZ?$)C+^%.!$N(-HR0Y)C#*#<8Z0!%S>)5%!Z3X+_U-
MF@5Z6??+^F7CO*I_9H<.7QS\N+OA\3[OE,+]!ZP,3--.("?'9/YV@HX\T;_\
M@T3<_#;MLR"*VMBS@1#UY^U_E_FA?H3:*OSGS@;BSE2A:.:V2!V=;\GF,O^.
MGU":F4]J42W&9 RT9\>6>V^M+CFW1I[\>%3W$[/W#_EP_.QB:U^TT+T%;6B(
MVP9<"YHLH =QE!2I*#(  Z3ZC!PJ47'27T7F*<>,\-)M]18GRL/?4_]%_EXB
MZ:[3A9LKZ9.!ZV;HA4BW_R9'=>)V<0NE62>80MU("3+6)G6%W(XUTAA4B'K7
M_$0C%J5=M:"6(F]^N^.!6<,XQX1&D78I*H[7T:T7+@A8S#30*:M,NBFT63#Y
M=PU"4/"!]OHE'I+?H^?-!B+F PY!P+N+J^R70WFP#48+UG CS4%I+ +$6C?!
M-IO.3+>Y>B?\C>2)3<-AWPKFLM'^N*Y9=2:R@[#+)QO5$_FACHT7]57(K^S*
M'-Q ^) [,<SI:I5KR63+JR\X;P?\$-S/^:3G:,@$9K7XU[!3GF@3::<2IR7H
M<K&9<\E$NO7Y$4N0D:V1/O8EQ]]7IJ/)I?38FRV=L@.J$D6X:=PH";0-FLQD
M:5J=Y9;CM"#@_1^YGY[UM:-$F2"M)"FQWEO-Q:&;K]7DV6*^^ @NG]?^CI]*
M9%&X3TD!X@I+KMQTG-I/E6.QG4A_:\VU(\4-,QU_!V]:[0BBZ24V-_@7<@M1
M_A)3Q2P4> !*9]MBYL^!>O'JN1<<C[8.N\1_[\&^O9+\%ZVT_,2I^HO!">3)
M(70N?W,JFC]AQ(CC#9Z^S"W@'&*6=S2ZBPZN!#",="^@]Q<]^^-]2R18\<;5
M"X62R.>)S4+R[555?WBB3FS!!4KMYV*&YWVF1V<UUH@T>C$MB&[<;'==8VWU
MDY@63$Z:<:@I0X$_XB&WH?X..;-].>_'_U6^R)YI$0O1RZW-:TJ6/2QE>&)5
MV/+]C0/66#BZ0]HDCC2L]&A35:9B]P9"@:/O7X!A?S)3>1G(&2E1/]1:EWI6
MZ7JA006SQ5K5-FJT:CF!%XX3Q74BW_0^ *AS2&G<Y#A0WY99"GU:<N;E:76V
M]U3+_,H(W[32%\&A*XP/JZJ5"4=)]E3G2@<C> -[^23GV?]+<EQX8B<+..(0
M?.\.A;CECZAX4UW_B*K*PI#\A?!@IY?V-@V!']9>K@C<PN8$DTEE;N$\L4.P
M\1'!GIA\#*$+I<S1\"[&I))=/NO]<*%6N[5O6W.Q8!H?:->,M9A6EK=X)3%R
M7CN#*9%LBJ2A-E.PEDR]X@#/5[X9!Q?#G1_5;&F,_;+K$_$0ZJ1"CUC&%^.D
MB<] K1;C-WL7;XJ<45F(ZR-)&=JH?/UI<-8X/_OX^[?&'X]X)GV,BIF]$CU?
M-9(<^\"L]7]=ZT620U'?4<!+UHH\D4:V%)33H[*5B4O,P[J0:I.#A'RSRRH&
M2DQ-,H9F(FX;J 1E;OODDGM0' ? QM-" =U^ D'X1XZY8MRW.%6,U_2<<3&=
MW6K22=Y2X7L]+**HV\/?,$A)].(&8C:'D&/Z2 WR$?Q7D-^V"?3FR-CP1+J9
M0FBF22RL]N*.\,S9;=5-H[\G-Q!U'B>+G28_/!TP7/[N8)AL*;FK>I>78.L]
MH?<#TZLL VYAF^@2H2Z\'8A7T*RFZF^;M;Y>[L\(9KF(:2=BYC+.9OM'2;VZ
M^N-)HG3C]NT^@DMD[;6"3B3H"D#JYDFF@22)4'VR=/N3TI;\G>OU6QH;PK40
MNI_R=*>UHN*WVURL_V/>:T.^1-5:[@?;;)X R!:7UY!-AYVI9$-ER06U>HD[
MI[I,ULSNG$ [(UC_M-?[NU&@0Q"D28IN$UY UX7'\XPP#A/MSHSN[M=9I3G?
M/5MSAQJ^9#"K/)]W64A%^$S?.924\$^1Y<^M!+R :;GW3YCZ+#?F%_Q<I=0^
M;'Q5:.(SPH<<^;4?)\*[H/F;"971VP_ F/">-FT#04[DB5YA"_*Z[]69*7-+
MS72@D/:F.F9\FG5KBP/)P,32K%_E;X?*ETN^R_Y5W,P-1.#JY#1KM+JEC?N,
MIP$!O=X7;?_<]G4LU1VKJ>ZH&_\K?:X"XQ"*R!6@/S"K@=-'[7_GG#L:825<
M)M4<)W3;2*"ZW@9ZU:1U1C-PLXVRS+KA/'RMNM^7V0?2[IY4(J0CQY%:I>OW
M:$!;J/ADWO91K*-N[Y1J;:(]_N:?S0S)TT?VB!1ZT>R/R#\'!0P%_IT^Z^G?
MM!)/NR^[VI6KT?+PXDB%:F1B3GFI[*[KL0;O9LWOR%PYH?'\*4+>Z&\PDB.'
MXHD(:CT9Z!SCYIO*<5^IK[5TEI34SKP >FF;)N1Y^B;*ZPD(KFM^2SC=FR$$
MGJ;.MS>3R(KTH(2Z&>3[<6-P9J!JX#;IFDMDQID$FR.6]LG#NQTV/WSK48F-
MJ> /7P>HSYN$VBU(/JV7YH"82^WA"B^:#!6RW>.E(B&I(Y[1ZB=NILPE7YWI
M4+OE:'];'('##Z'UL)>Y#1N(F^@HTM90@*PXI]45(-0QNXTI7B=WSZ&\S+W7
M7^:7HT%%M6*PJH2VZ2VE/?L"B@\3#;G/2=1B FA#F#;ILJ%2IA+IJ[$MZ,I\
M0\+4W<:$3(;"MMJBNF;-4+O^@WEV7P>%9D8=X5Q>U\O9J<52YS[!GGP-76(5
M0R]?0=+VX[KDE3Z*8],.2U/A:?E!E;)='F;U/T@J*&HE@=^K&4]70HGPCG%\
M05*<J?G!+D;Q5W>A["U9I\]Y2\:M"6IO50F^4"H^"&.7,R55(1TJ!F!F%U)L
M@7<8E"WUK?S95"<2Y@E</^I*_MJ^N\]R9W6&^3FE6/N3RMK4 3*2)SK'?^'%
M?88-T>]$XN&8W:)/6Y6</F#UTH"XI7NF5B71U%9$19HBM>7P?!$"EVB'UO;9
M0#0BER/I-E.KMMP*TT-,[4YR<>=]C6V9LWNJVY)_=(QN*NOPW:.CYJG7G/ZF
MG_!<=(2;M8&XA9_R9O6!O"(Z<<JC-QN%-V2HT +TBX?U9&FZ/\)F2Z"?Y]>.
M^P@N^&G3]9,HH'W0Y"%6!$02>B_QA"#3<IQ&5'3EYO0-Z0=VN).FM^_>9)#Q
MZ=&3AZ4?>IW9=_\OSA/\'X;R<*[#[O*+UTVJ767 4'_S#)1%UT_.ODQ^.=%!
M$872NGG*/H%%#;+_ZF,S[PSVT37M]I<J%7RW"4;W%',43/A7\+LO! "[L);0
M#/O43\>CQ,=M.Y9PTF-8 U.Y"=GR@%#WM;F07K&R/M/^J\E3 DJ2@]D;B%/Z
MTP4TFX2V8[PNPJXV(4C6*-.%28CBG,[S_;DLZ;QD]R9W=O=5*L+MO3JHS9E&
M4:=)T+X_G*/>K%*FS7((^Q36;+2 !+72@6W0O47_+/&8GJBP+9]851/&PSU.
M8[BIUF<[/=>87U80ID'TXF5B.6^: H;T=N&G#EDQE0=B5)D373;2"^38(F]\
MG?GK"!-[=*\*SFW$6;U:_'T5^L?FFTAR$*0/1P9!%G]TJ#7_1!C'K@C7M^:?
MJO6$$TX[-SKMTFK5XSUR;?3,A9P]C_>A?.Y3MZD<V*I-QT]I\1Q-QX#E @P,
MV:RSGP N*/#._'((,YPURC^VCJE]3]KTZ^/O 6F,M_T;IE%#IM]KJ\3)9?D,
M#.UD_P?5#$O)G;)W<B[+[MZQW88G?F4#\0Q.T1L(XH 4L/"#17I&@HR?NR&A
MPVCZJYK]FKPO3&(&.EV<FR=[*#DXM_X3T XG11J>7, ZR,V^!8<'@C!NLR73
MO%>LE-))D]!<<_%]]6Y4P]==L=FH,>7[U2H5RUWQUSJD*FSU_A5O(+9V0I'T
MQEB VD22Y.RC1S8?,0TNAL)[C#/##VI;>9$K'&\7IA[,>Y*K=E@]9N_Y7_OO
M(7!>N+XFRC(!U.>)6C,WP4M3?(_38=[O[R\Q+YONU1F:.4L7J9(A+R[<>%N?
M[>-DVO%D9]'%[Y[F]L*\5R0J'JBVX4B.]*!!^S!^BX8,9!V#]2Q/#Z"/N4_:
M!(1K9@4'U:Q\^ SHA,R>V+Z0GJ)Q@&ZL]UEE?1W538#TYI,X8NR+& *_E^'#
M1#BJ$44Q&90+,8PZRC*PW5SCFY2YV@U_IS#_+ ?ZN.>19!\]M1Z!+8T[4"8P
M20=J*R<8?V!H_14D,A1AB_X H2NP!R%MFH2\K]F>=^PSJ=8!A;[DH#2-T8.N
M&:%2Z&?I'O5.ZF3-R4-2AQ#;Q7BBTO!5/[G/VA! >V<N?],0ASTPN*+3)K?(
MTP;UTL.*+2--1XRJWHZ?8I[M?/=<;IVP^8 V(7.7#-L.IDP60+LZOS: ?UJE
M&(SL0M4$QABGT09BW?>-&DZ]ROCA\M%^NFMIO@5O^.F+76"EW679OQ<FE:VQ
M ?#%^S'^<Q++L(5L60"#.#M-7,#*+\4TB4:,55>3=>]GY2)&;]PVE;"4MZ)+
M2M.5=RY']Z5J,W9/_$8R3\_%1?'G\P5!)DMT?)=$G+L2X4PS<SN^0O&X[(\K
M3;F4J^#7'XO#*".9DX>.M^@^+1#3FXWX(+0.&^*6).Z[L W$M!!/.(4MQ/O"
M$\FJMY'B6*P]^670X)G+[OAIJ"&Q@4#+A5B\#]7)6M8^S1/V9WMAB#P1+BRK
M7US2!L)+__'Z!L(3*J9YQJR4%[NL;B <*R^F_@SQ.'S8ZL.RX^N+*[TR?^&@
MM/4G5H-)8+R$;WL-D@#GNM<_EF <J<Q6Y@6'Y4/*+XZ&IJ+/G5A87[1O?TM8
MC11P6^4HC8")/?R2/IG:.=DL:M:W88X)<\)\I'[IN=HNJW[_\L=Z>I+0-V67
MB[YOV[>8MYTX#O!$;.@#CTF@#0E2S63P]S!5H0#U;'122T#Y E*\Q:"T^*-1
MZHICZ]N8IMBI<'8C\J[/SN3+$S-H,-";H\AD*P'MIU$> 9&L=FY#_AC6,I*N
M&_C':H@1$"92D3JN?2#?JACS.,([-3PX7NR<C,#^[F24CZD8+(V0"1R,QMN)
M[G+<:%-=)0<ST_&60]YSVH=NGP&8J*:W"DWMAU1VODE;OC7_R/V>+G"$]%]O
M6'V;KB!(5:MC59[W'FC M\_<6ULZ/ZYG9&T\^G8DJ*(J4,;>/Z+@[06C%ORN
MU"-IAW6Z1&0R?;80(?6!QV8:0#MLZM2Y&31/9)Z&W^&VF"O(U'H\#\9P6SYW
M?Z__I'E__^*974FN7>[*7\K,'-,=17^#E.49MI0)9Z<C;[L@5,Y&+LYJMH'$
M6([C'*#0^+BJ;CA_T4VO@T=G4O&8FS,Z3[M>-=444_:S[Q)&;:#=?Y8SV;"=
MME]&4:OY,](=YP9BO<$_48:,0';7T-=^Q=Z R)(^O/B3],0/ MG'3MCEVHI&
M"3NH?G7,@:^"K>F[W\#C#03K(!9^^J$_EP78]>S[?!2/ JTI4Y=X(AK,7*3
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
M?DF$R@;BVR,.L(%XPXK;0!3^D8%!%Q@IP2E(HV5RGR6BN4:+1E0DZ$'A/"7
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
M14H@0SW#I3107W97Y]==WY[*WJ@(EUE'Q2+7BC.[T&R=V\#*T0=F(_Q#Y+
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
M[\%U*+J0UD(%_:C%/*'0&T^HKB'GRJ;6OJ)9K2[(J$=<1FEWY\5/.Q V-=P
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
MD"%Z)89<IF4],+9D-8,5;/S%<X1[M^=4+@&NG;1/'WZ&D1=%A+*OXE5Z*&&
M*#O=KHUAHX<MV,)3^T+NOPM^7/59MJ3QR2O](&:A7^F2P#92VJ I7&,J 4L6
M)8_EGPCC(7)D$&+Q$HEG,[J+C"-^?/[==>L;R6V>X/_$ZH6CV<:;HG*G49<4
M)!K5R!>[ HT-XT7<!1W>@A!S?&;E!/S&5E#3- =,GY$A:VR)P8EE_#7;UU<5
MP+SPX%- XVZ"U*"Z]I%I27\O"Q++UC42HU:6?)!Z8A;]< 5=!K.STRI3''04
M-!7;+;0KNVJOJVG!M[3Y] 1#Q9B]'MIX3@HKUPN+J"6/B@CAU;2Q:<X:PZ2E
MP@YMCVZ6[I4KT;X'QAQZK&S7RM(O&E.5DA<=!37Y<7N]^=R466B Q(;)?+E3
M/XKP*A\"C/=CYKT>^OD(#7EYJ\Z)9C[I?\&?YLR2 QQZ_F??#I6L'.&'CW0C
M68DRR%6D,#QF0G]<<2@PW^2+;RE'+ZUSA8)(7E[Q4X9SSXH+7_H,\!KEWISD
M5O-H47')JFJN,ZAP6U\F"NE@(.R>%,,.$R+JUS:G[>^PV:'JOO!3G55I2^")
M?SF*+&Q=.[QS)8%86#/F._>8T @>48S%!RQ8KE/9#L:^V"'2"0\:5&PUU_+U
MKNB=E@H*7(/4SU=(NL0A=J^*\<S%]Q%]CH$(1O)4'NT7&J+0E+^Q\(RB5T2V
M?NFBU.HW%F'T+_C(-7&Q0VJ4Z,B#S)])W:4*5$;F987>,G.6AR&-A9-RE+V@
MA9!:$:I!5[-WX0ZY[Y8[/70DKAJ9U2>K#N4^MO*QUF^Y.?:LQBO S #;2C*A
MA/P 19U&G$0O&T=3U?V^(\L)F:PNG]O#D#2N;1?WGRT6':-<E_B<!:D.#>'+
MVP?' "T?J8SHNV+G<0RX"QO<PEE&"Q4LZ_F^T0E%7G#A3),6+S33U24@LZNG
M-AW+C[217:<[E,E#Y O&<X+DDVUX7AN#8265(>R W%64!9_TF:?AV:9-JA&F
M&4EL"F=TUH(M?;/NBCXW9EUP0@9YV)2^- UI@_F4:DK@EV/;O9]98*4UO8VX
MO7XTFGV^;1ZU>KG;@K=-Y%Z'V%R"T>]9Z,1-*4SJ#)K,9(&%\GO6$OE)#8K^
M.)7$JM(CT>]^G:/6(_*Y)3X<9*_S?M-!NS_3;R%D0C>]_;P?>PM_S>TV9/XH
M<O[N@\$M76WJRZ=3_&"E=Q2$1%P-YIR^AGU_^\/K-=&@UUZPQYXW]7>IEU;7
M!V<9K!)Q-&?<8,*B7G]#,T&R>O5K][^_K/=?B-H5"$129KO#D3E";+R2S -B
M$:JKOO3PG.F>#J;)>_;=.='O'\3+,9SH&KE\^4YQ#%!^J/83E8IDU[Q 5/R
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
M5.U!6ZU?1KKM_N=+H*^>7.ZKMMV$<3,'XP";2Q?A8/=#3RZU*'NNTEY6\S*
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
M_8=*[@,]O&5!/F)X>#U<\DMM#3U:4&SBO+^OC%^)T;%W3DJS&3%T@_FH]1H
M/&C=BI0VJ<0>0'B*^!W4?6.8;>^^QZRTVU=&_PM#N2/9-^UZP+NGT$5%LP1_
MS!(L*"M/**_ZOFNG/8=;7<JPI:U>U:O<T/\,:DVO@$?"E^#3<E.$<!EET&5J
MCK:KKJJ.*ITWMG(S,,TM^Y2)7_O.%Z=6'VM_^-M8G,6?L7"4[H,%1)EJ],/%
M'O4,I85-W_7=W#: %+%6MQ&@>!LN#=TNK_6@%K2.IJN9YS$3OMM17'.T&<"!
M=0(/E%>$H<Z$E9$<'<4VJ=C9.\^-5D86M9KEBZ\((4SNI%02T_#\!WR@JD/5
M[S5%E##XO@+P$ZUW@,4!I8<K4,JV.^TM#C0$ +=6!)<=!,]1,=5-R]*Z32]:
M"\%QT_V<%(;R-X;EGP50&9JAW_1W,!,W5 Q>$^4^>E!&$\S,DK7O=?<A8D-"
MIQ&@0N"2QE1=W@5F$D-\1G_1W?98X*<S:[ZULY-UIQH)_/72X/Z=&%Z*0'36
MQQBE^>#KFE."9A,?LA;>F%J3FAOATZ%LV/I;-NRFGLA7@/-P\QW$(DUAA,GJ
M.+6&9,G\&0G8 2:U-<"'92>=$YEV@GO<TS*YBFZOAI-BS"$=X<'B(U/M6!>1
MSTZ GLYL6+ZW2>FH(/.Y303+?SOT(GP8-8IM;>T'ILL Y7#&18%]#6Q8>TV8
MCR^9'+3(ALU?U4*H =-1^*DO;)A8%36%?!@>OA.[* IV%)X@QVH>@3_.EX6\
M)8SI0PI%>,=B*\K\)$ZG>-8M0ZDBZW>TQG;(1?A"A1V"=,4?T:*U?1-!U/'-
MA;,N]G\>1FZOA><6SG_+Q@2!9BQ^ KC7I9(E@AWE;*F.TV?#:*9)A<F8S#O=
M\8-U6I#+SP/#?$WI0(6>'%$%\$:2O45,TNOQSJN B?70NK6IJG2'(D-=;LV:
ML8Q"K>Q#7_VF1O:S+6#P0U[J<U<(@V[!DT7?!:IYTQ!+Y=-&%0]9@Z4>4&HC
MFQZ!@@;'AQ8$E:<\\910]$%*?7SI,N ,8D8)WGU=!E$+BK@KR8(\Y\&')/B%
ME%_H -V(+\].X8=.^+L3MA:N(K<M[_XK*?E0YK3@7U0T4@IH,(1",\%1G/G9
M_Q35;UJSTGD:)YU3W1+@]4ZVZ^8%>X4WU\3CK&"*KW9W?K#(@^%&RJR/Z'*&
M?O-9CI/5BF; _4>P!DU2EID^ =Y[NHY^G!^(RSC@^ZC5:(Y(U\_7N)>(#,=3
M?G6#BD@:U(8(AM)WY276/0(9"5ZY7]\=PUP*RO329<,*NLM#YJ%L/@4Y[S*(
MI"$&N%JZHVTG4B+1#P?)8M@1V2-=AM8.N%\I'-E)3Y2<#_E\NJ[8H4+S%R/.
M,(Z^FAD.M>7I-/9R>11LH]8Z.R]E1QJ"4S'FQRKW*CW,-[7%=*JJ>GQ,?)6]
MM/UA-;<LT/9?#AR(K><1?_UOU^Y&4N;G:@[%FH>(^1SM_T^^XA&+)*U$(@59
MXJ[11+6(R9-]979'%6X>PII7WWS>IQG0_/A-A]RM:5%Q[:D#L+'W7]2> F6$
MKX11$>/*>M"&*F**KTXW><KRW#<A2Q@]KZ2<GS:>0:5\O1M;-6<:6/;_87>M
M_^,.CO,M,F(4?.PZ'XX7U=>4?* ^)61OU*9I_U(O<7):T HU+G9[R0#W&/#
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
M2HA^!\"6POWG;B=X33HZO5X<?9APWLO]OCQ!<V<XHRQZWN@*AR'-#-EK@O6
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
MG$#8'7]3@<^6%,B#&5"),0O!W T27^]%1(/4!FXZ17.,(ENP6T2"H3U^BOJ
M NF!L?OA.3*M^L\J[ _&>>96!(-=K-977L6;LEN89Q]9^;EW!8+B6#HT<+M
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
MO<C)WR$!5Q!H/J.8_N[[H_=R<K-O)TQ/M.OALI(*)9L[&LB_HW^Y<.IP=G8
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
M'Y2<RZLI0!(JUBK0"L<\3E0GZ'[Z-8H(.QS>34"/G'<>6*-=@#?">,X\ZST
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
M-EK"L^4S[GH]S8-_'JX]<==:H%5>()KO4.BE459)*]NB-.U1"G@5EARX;_S
MR+5FOFN@//[1A-H5^P:!JZ >UN)[K;5"HY%@V&MH$WJ;BV2_$,SD7*.(KCK&
MB2!;0E?$ X[_O91UX@'OZ%BY5.,E,\(?[V MCK@FCG,#$>/;YVAZW[O9&0E!
MW<8(18I)=07](MDGOI2BWMJO'W;J?VOOO(.:BKY]'Z6)2)%>A"B@"!A1JD(D
M"DA'!)0.45 1(D14( @D2*]&0$! B%0+ M*E2.B]2(=00H*(("5!C0=2N''F
MS=SW[YMY,W?FSN^/]<?Y8\\Z9^\U:WV^9];>&VXS41(AEK>\^:A:).!8KR*W
MLHZQ#D@4Q 4*2[P::DCMH#VG]G0)QF*J*CK!,F>R81W$N.RR(J*H.Z^T#%S?
MQ3%[;"IH1#QU7C,G?;CGQO5='NZAS';$OT;>"IUPM,C//(5/%&X<99WH1O6*
MA:J2<^;XY7I<Z+<=.>MH545<)3&:$+]UHSBW65/%KSR$&H=N,&^S5B&K&T>Q
M"_,DE=?]%20AD]SE=&,[!A;,:69I9A,0/JVM'-Z4N&0W^%!K*\@@4NOG/JCR
M;;0F7 C3[D:W<7&4Q'9BCUJ'O"FAS0HDR\U W#65?,**#)".[P:TOB[D%H)D
MB'5!G<AX##?^WH@$PQ-P^.!]S@<M]M4OX&K]5$U]8\3:;8/OZL+WL\P.7[YU
MC?>87#IXPX:J00[J'IDM;(=+L537GQHUXA)J'+44? O6L+Y<'WKY#K4&%WL=
M%QL0OLCS[ 9FJ0"\XX&1P&SDK>/W+/_\VJHOF7?]=PW?DS*$-56\NGC1&WP(
M4O&@O,;-A]S7&7_P]<5GTX,&ZD>0#:;0I/#+//,3#JN"FPZ4<B))C2&R2L)M
MYI.PQX BA@E;5$1M/:A=8Y@]LKF=Y;N,./_@F,M'&=>#!9=&ZL\.NPV$$+MA
M8&MJ!>NP*JEBILFE.1O&\X,HZ >%DZW4E0F:TWY6O77U-3AO;E,%SD&/X3[)
M<%($.5S3;CFV)TR/=1B+I&LCT)KC?E"Q$$HV1MAI+<-9ND/Q,1NZPW(YJ_5Z
M=]0_/GA4HJGOI;P3"3=SZ&2) !9+^"@8Q7G.2JU5VG_\]X+%TK&_I<57%<*R
MAPT_O)J%+ _/*.@[8B @MZW-I,J/^*@\4>"?1.)EOM;:!R5F$SOP?.N$MPE_
M?'UD.=PG]4_ 9]U1MPR#M+X4!7[J>-M?UV+;)1I[)RLK/IAW\08H;/9J:#Q5
MC08&9JFQ-*Y*P)^Z35XI@DDP($56-'"<M$##8U$[3773KV6#6RG0E&8]6_N
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
M6,M#5P'$#Q_55VOZED Z71@]AN9AUOY!SEG38$ ^R2($+^']< ;H:6_1K6M
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
M)STE#.1PFR:BTO;R,;*^L=1+YHG_Z6V(_['_V'_L?ZMA]F?_"U!+ P04
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
MTM]B-(>6F?YX-'-@UP7QG<@NE%)7.RK9M*'+HOS,Z&$//IE+C,=',+V8$)Z
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
MCQMK IBM"U!_ @D5!F$KC4Y2N08(?RH(&G47IA JS\Z!O\<C["D(OX+"?F#
M%(A; GP-TK.$O+;8;WK!X2>=0*V(>TJA\)=1CVI(1MB]==A5?*#4T:EPB7O3
M@,73PG'S;3DHM9K5"5J@U<0F(8"  6L6CLP%L^HSHR>==OW@C3A-:</;']]D
MUD2:))SPM6RTUTY8$^ASRO.ZE;9RX:HY[M7H_EE95XH6_4R(>ZS3_BZJ\D]S
M45'/2C,*-9[B)33P793VH'S"H4GL3[?N7,^85/L0LBVOJ*>D>6&7Y/)@H4H?
MC&M'/)J)%L1]1&?_8]J/,+P-HIMKQ-(?SLC%TOB3Z,&9<*S_Z[&)2?%>Z@H4
M^:TS;7>KJ_DX,$I1&^1K;@: \(HA)!3I4(%V[GA$0J4^KOAZ9N%LM%]0%]>G
M+4%"SZ.E":7]U-_W#?PUD<H2>QMNT.2OVQ[[==_]LF+U^Q&X_77?V7Y9(_A=
M-4_BO.-R'Z4]3RFC3;RZ1K(F-/*H'7>UB)G2;TGB[[Z_%0/6)R ?*<SP1HAG
MRV%N5 MZ24"<@>OO4WOVV%- P!4AAT_.8+80Z*H&6K_XQZ)6J@+2[ 6S"WJ
M/&2=Y(_ZW5K*Y\3L[.8Y@Q'?QP?COKT.&)D;]ZLXP3]4_K F2GUI'Q(N*#I!
MZ=[(8#-?\6H 50C/_-/0NH51:[0F>AD>[J_]D3WQ.2]+I>+#>M^N[5')ZNJC
M]OK4'Z-:VKZDI.MA%X+RZ4(E3P8^*2(]!QA&C81>.:<QPDA;ZV69%[ 9(  U
MY4<31^?3\%Z8A"BQQ%A*'LJ5+$.Z+PSNE/465Q;*/BDD(9L>BF!8T#L?$L(,
MX&"D3?$6";%F?]ZGVG = Q9ST14C8H!!0O2J(S;+GN3BYL^1-BG*/B"9[&("
M2.ZU59=(R+?HRX[<P"".'C[L $O8@A"PO8C9V'ZY/LH$4$C'KP#].4]*;N_@
M<M\@XLCU?HW!R0 9N4:J0*P=[7\%V/.G\YT1!: 7VE9 >YR ;^BK5[)A[OV?
MMP$'G&?+&3OZ-=&KU397='?5/SC 6=^\V#WWQ-.TU'D#U6\.]>7[/Z]JE,!&
M:1(K"[8"H<D"&FHQ+8%'H%/?("Q7P;F^S7-I[U:'G-:,L=P1$*+#G/FCZ8W/
M4QR_[:;]FZ;_/S7N [TVFEB9VUB A\PO(B(LJ&NK_DC!9E 4X*+#8(S?6M_\
MH0NYQ^"/-\<NA#TF(4>_;B)BDVT7[C\>R1X&-[_R9 G5NA%NQ N4UM%SMQ7G
M,>-[^<S&YX")7MF]WS;\MR7<RK^YS #M#.CV3MG*1CH3&D(M<WONSK9H?.Q]
M/M-"IV;WIR(+Y:#5\YZY#2P#D*R58T0@UP%H6T #H*P\'5.7!#) ;Z *U;I0
M;D@/>N8CKAF(O+--F.^R(\-?RZ1*,?#XA[K5IQ ?VX4T0I61QQH@@D@(ZD('
M86$FH45"15R8+^$^B L+=9C7D@U(:$,R73#LERG@1!+*Z>4#*P$7 W@Z+AV(
M0>PW= Y-5MHD(4@[BQ0K?YYX_BL5Q3R'*^[&$D?B/T]V=R#?E+C];5OM+<Q4
M%A.).RG<01@KGHO1[;XM8H[IP<%H+RY'B-0BG#L]*W22Y?K< %B_-I7*GT%I
M/LSZN@ A0':<JKUBR5O+WWF[;J9+DK%VS/-FZ%I*=9[%4TC6>M$L:JL7M<U3
M. XIC/4%"G;?U!1 '!VW9N]T_KHGU&9'NZG9#@J#<\=UV'T;-#'")"PF1+=A
MY1]9O\\I:R.>@32_,IF&O(V]2T+MD\[U+?2]+]P/4/QYWXV@$O--H!(+75\]
MSO6/J'X#1Q/KOPT@VW'!ZA\IAQ",?X 84GB^ ^49U0%ZD\_YL_[46C/@$&+:
M9RO=^L<KL__ENR9T>R5X;T##CW4PDIGY=G#0?%K@^$K'1V43RT?VO$N=-&9R
MU,+'2]V?]O1>[F>6?23<D/I[<(]'C35^ZB J6.MISY)KF+)]ENL5Y[HY2&50
MP;XW3L%/=]+DCS.F#<0P=W#]XV.KX(9>8AH)79<J T$60.RG@;658W"<\!$;
M&'S@FK%=J*(S$Y@YV_W= WW\EUA1/@E5O1(2 0Q"5(Y8BB>34% 1/X4XKFN-
MR2'$;'/,!,EG<"=L1NJ!F^9<Q*QBZ'U> *8PJ*?15_#?ZE7[(#:=D"IJI 4S
ME(V-V"U-V1L>A'?47+EUM2RQ(^/TEA?WHZ2VC]%]//?Y:W]QVRSB!=+C@<J2
M4.>.4A+BWII?(']FF^:*_:'3U_A1:6OC1 O&?%AII6.M4+/?0GB_&F4SJK<J
MV5"C&:6_Q_,_2A(-YC^PD40F4E]O/6" @/CW+0L8G!NVY[ @VW;UV43CDTV?
MMB''!Q7DVH+OM!<M[N#-!\YX&=\6..- 8.!NK*X::*P2C/,OH/8XLP"]SM7
M4')#Q@YH3">4]6P'- XZLO,$\P&]$\9'_L#'?7'TT; [?]=#/-1?UZ[V>H0Y
M.^K>G3OZ%G.2MT'S+PK",JF\,%"S/P?%CZ3)X:/Z9N?YC'C$0V<\Z'8WO11=
MUXE<E< FV@,[=6TK"Q] ""TZ?VDF8'/18U38 ^35RK^JQ)Z"F1]"B@$.G4I"
M_;.0NW3"SQ]FR^7+?5.6P@[V9A)'O9#^#P"77L29,71^&/C+=8183T*?'(AD
M& @]L+RP$MR@P*'BPSZ14/=+("8&2,[D1E0@_AX 4("&&MUX62%PXX*7Q D2
M&@!59 0)GI-0:U43< [8:A#%6>8C7&F@1Z@>">4-[@^+#B&A-E4O$O*GDE P
ML^;S+K]N/8$J"7V@$BV4#LU!$:1CHAQ30EY/&<#A&=T$!MJD:/YU!Z!N@[OT
M,M$V0.<<(CS_KVBN#5(?\.C@]5O^SVH^9-T4B^JAJ-K?V[3N>G9J2JN8K"[O
M#3H?K3]/0CTT030>M ?FFCWQ#ZFZ;SJ'*(M3]PG22ZVL>I)UT%88U(6G=[N[
MG5"RL?O1BMV75;M?MCL%=:FTU-=(JKZ64K^UK.M&T]R.TV%IAO[Z<:<)"M^#
M]YH3%MTD-\X,@4].J-C.H)9F6ABH^BN5W8W=,.=BV)4I;KK+-?T::WJE6C;-
M3IT=;6+7@(392W&0S@[V$NM@5%%ONK&:R3'FK93$ZH[>VI6"OK,;NG;2//S$
M7DYAO/ )7J,:>2!BHL+=)2$0WAF#BL#;T=.HO"<R"IM31>CST]<!1WQE1NS=
MN+QQLOVKSYLZ7-_<[F%!,W[D X?O#MB9?.#RTA-U+B:[WN4\.=4HD5_6*%=S
MT*=(SOL9Q@^T5O&>;#SAQF;7M>8NM[UM;<(JK59\F&:39S3+@.9;NJHDX_13
MAOZYS1!^(2;D686AS*H72^VD)?5$1T:$G4H5^';JB.X*:4;3?<W 6%H  >3"
MV%9*;=9$( .3@( +*,2,(_-K=".(]QQ57$0;"-G@%HT#R![^*>)())#0-H3_
M".IP3K(4>N51N6(,@H2 D\\OP1\WZ@F&69/0(+QH;!--C,G0ZV+)(\4*B!"7
M(R%5<U[W2;1-$L8'4<ZI:[(/AO@8XF.(CR$^_H /9DLZ(2U*0MH+;PQNV7,C
MH9M&ZW$%$OJ*%&$%@JP,8@'G3;30OBU*X/>>=SHH)VKWMI#FV]I=MHPY$]TS
MYA8PE;E;9G2%61=>597?R^V]J_:T[/:UVE5=5,?F%[H--/XFA@+<MJT<9<^@
M$E/I7_^*6O#H]]D4CO@^*G<,!1,GH0O]5LKL=&Q:43"%.].5RE<%?EC9_-O?
M4_V.$>.3=(ECP/D>07M-VF.R5(#AO\#1) )E0$@V##C.QMO??\*CWT/RE/.1
MXAT(6Y5P>F]@F\-BIYA,0HJS0>RW!<764[[^5:.$)\</>,@4C*03PTCHE?!6
M"-^.4''*HPM&&^IAT@!3A,1^^WN-238)C;(%6&!Q./#2U '&@:KO425VX3O^
M$MII;PL:C?(6,&IZ&SPS!<]B#](;7X_;//S1_DG#/TV+'UF[][!'0:)#R&W\
M-+>-A#1WP\?.WS%TV-38.+ 9D6[K?D<0;3\9_0Y.2I_C?XT@_I?PP;$E9,4
MGC5G,_%0'DM@=HCZW!/9C+*IXRS79^*1F7KC>%<FQ\BIU([JGK1;4CBN=?0R
M+33BSB_3&PM?R;'/V)@I<R6V?8N<;'\ QDG(>#.0#;UJB4U5,7BDB6J!"MW@
M9)9\R;"'4>-'2\^]MW>+AE_'KX']H6IZKF*'ZT]:R5_[_&\U(C_GX[L0Y/TW
MYHO#JE';5+63+],T]U:I5K#:4G1DR\:3JQW\]ZI?79@022$Z;#%][(*RB0JB
M7VYCAAA2#'ZT-]6?0T+9LTBHF=6G]^NF<V7F*Q9?Z\W-A$W8\/+M]\MN/#9-
M?#>N?9*K2,^V)MFG56UZ7W'+;#,934+A&RB8=G$#<D+Q)XUC'GCW[QDI^[(T
M*_M/S::';EFZGM=^=4C3@;%25U&P>CC^U1'^7W;"Y]]GMQR[Y:9:-[ZL:V*@
M<&U/5M7\) W:Y(,%#_MK,N565._<,-HA/+NU)BH$VE/QSDYTTC:&P[**=VJB
MX[=1'%?]>#;G?S41"X%#0RD]AVKD\! 5JL#6A_K6#-$@(3:5/F#<)4'D2^OA
MND^8UQOH_15M;]Y)<*QS!3HQJ/G">]_%Q\"[.( 8TIAUG,6;Z\P0;%+VS:#:
M$+D@V#J$2J*=>TM@;O+47&5LC !^?@&;1D)+-@-2&B8[?CH%"^@&-&+&'$H>
ML]HK=[->X-)=WKYK:0L.)=[;K1+M5E4U37? E80"5_/3\)?60IR$*IF=,"%U
ME(0FS0;C?:\3%ECOHY[P!)P$'[IE<=);?=*4AY,8F3?JLB(MV3/C+U7FHDYB
MB:TD).N_'<G5\=U,?(C#B2^KOB.O<]R$48Q^(0DE4N,.V (W)9]B H+<=0A[
M#&A=+MP7I(C=%S(&&.<9[!<4%33#!0@E*BC_BI)M^WLE)&]W$=I:0<&&(]@]
MN%+=NJ?@$]+RTRIMOJGQ*0EMW >_I&0 ># 0_'5Q<TP_*)_Y:3/"ZB;2_*^4
MF&/+7@D)/T#BJ1,)O13%'?)(:)I_*^'4HOW[HI3?<UXA\#*C<-1F=P_TF9.0
M" .\(?<'C:S :_U?;-Y:&22<X6M80KO?6LVW719@%:?I>S!\2O8G?=V!X\R/
M2#T%.X,"-/-68A4)E1Y@TC2;WA6<U)X_]^UB'=VD]9.S+M:M,;QY87V^R>9@
MEUI"O>^B3DS6F;=_.LN83T+.W0-&W6J K/1J$BJ1LR^QUQ.:(X6H-XMXNCF(
M.'FXN8"$'E6 'D*U5A(JR'3N9[.F_]?-VALF7PO&+A$W@737TG%Y&C4F#9?(
MI?1,!8)]7*"NQXX!+_O<:OBC&:[_]HW\NOQ^H%T84MCJ#/-T-B'M6[L0!V7,
M!W2&/]S<FTH1*DU#N4F\K*! F&4;NV O)1^6:XL)P=5Y.=_-GL?BP-(V]_HK
M(F\;8I#V'>M[/OB9"X$M+FS!M$CH?NY2,/K/$T;:LIT 6IOHQ$[!)9UC0C#O
M@3-_-O<V.)7>2_N!/@OC24A\$0E%C/G'08"<1Y@Y\(/-;GKL@A[CE0AG28@.
M,W1NP'>3A8.'29&>)9@J"6T;MX"$+$K1*"DBCA ![$JSJ?B1 ]VX]@J<DLOH
M#R&A!NJ%]ITL)?JFF!#=OLC*/S6K'*1F 6$E?$9"O&'E,->T*M7V%%'"ZJ'5
M&?UV_"L#B-JG-"17KS 2/L%XZ:=D0WUM_NK$CZZ0R438*Y$!(]SRU_-<9FZ]
M"80DG81 G\8C;P\VD=!2NZJV1&0QNP +N0>8-0F2QG0 ,?OVAS_;=/[?FOY
M,+E(]@9"G:^6CZ8>C([WCEX9P&LP7N@^^I#MI/$/,\;[Z5L9YGG[TO''RF-6
M2%LNJZJJN,F/'KEN;W>-U9Q,^H?Y(;@?"#,TV='$$15&?SZ%?<-_<,E^6!G!
MOT-")UD12%$(ZP \,)O6=TH.2\;@5UA #$I%&I9C@WL)Q.-PCCDVA7(<Y4*I
M))2E\_MW9@*[#'K_I5XN5O1\JFY?/Z%$SZ$*(&!AE9"<</[@0K^TM;"1S@\=
MT,;XB?T QT3*_>?K^8&O]DLC(2GS!CT<F@YWA_3+54<W2.2.T^.%LE5NQK5%
M%;^SXP=911BMS[:U.SZ>OM<%R7,N3"!:#*;6;=:][5DVD-<K4.A?MY,9-\"H
M?*]DL\;C1Y+\E51?0MCKY 8F7-3#@QP&]R:%8+K,]];\J1+8F=>J1"YH7_O"
M?'_EJD9C+Q#8;4("X?!&1Q!- G/KZY+WK?56QJTQ$+]'J-:C0JB=)5AU#KMG
MVP>SY8CEU  0:8A^/F;21JB3T.#4LA169#F#?^/P:Z!V=Z_>^P,=^1*P?*>Z
M3V*^@]J%0!D]$P:W< %D0]@!^TBX_AC8X$!9 T ["M&/5-ZXA\!MJ?0)=*E7
MJ-_IN$ N$&Y>#PRJ)'<NM6$I>+G?ZCN3^]O6C?_$9BFF5 7B@E8+32MF'-A*
MS1?L?/+^,E.,8UQOL'_9BN3PMP$C#$V)L2C/G82N5ZT L4X'8?@HI_+P;3CC
M,FU6CK;39I@/E&UVVPK=5I0/$%MU.A&T51> 'B9_\/P453@'J&+'38351T)C
MD?5,$C)AO<O';QX'V <4>!H]P%AB0P6@-=>6>(URY[=3^W'D&?U;4GT@FNSM
MPE_!J?<8O8)_IDZ3!"KAAV8$\:(4"01 GV'4%C]),]_^[PK"#0DDM(LE&'>
M*230)O,*-Q(J2N^?293F($6#!R0ML:+K.LRKP!9_71 S1#IK0023= [ IRK,
M69"(#/"(%DK-1NL!G())(A>XDY4_U$GPJ]G1C1OBM8+K]495NU;MS7/R3KPI
MVS%Z@N6H!<.>^AM^-#S=H+/ 8M,5@X0E-P[%%QJ^7P!4;HWS'YTH_*PD?.#F
MQ.<!R3U2AG2*TT@H]I-N?P@J@=3'P3U[Q]+P(XD@(/?+]Z6-(Z'GP$&&:&O
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
MLVN0-#E<IA_N__3E3L)OW@XF(7E%$!:8Q/4#%8F8293$53-*TY2Q<A+*=2%
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
M#_SBJ=@JB;0.\6;3KS$,9\)^!'(/G#>_.;$_QD2?P KY(^3"(?;? AYK%"\
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
M=PO>7Y9O)?5DJQ_&C+@;FBZ,E<.%:?$(^5GZMWE;@@GE'MPB&^^9#%=S":H
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
MB!%?MWSERNF/U5>Z%WH^!.[Q^^!N7[OR"21@;2 PO04AWL2F%X* DE6H.&(
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
M$1\BF89035L"X\07"-$H)(&T7HDL!)C;LE)Y"C3R_U^@UF# NF(S!!:+Q$C
M3L'X!YA6=H<3%*\K0(Q2^V$@?"Y9V*;[Z2EU #@G^7%(.\/([N<ZD\CW'T*L
MOXFE]OW[F)5LF9<;]?EN*^%&G,<<I0)&7J@#L3P**5([;L^OV$VJ'ZQB.<RZ
MG1NQ-5*#2FS0R TZ@EO7'[8<!C.:<P_NR.3F!%=K.K.#R1&)&78Z*779 7%(
M6)9OVU_"?\U7WS9+X7LT\M4^\9;G+ZJ/STOR9'H+?[Z%N3&,DA1J48&6%?I[
MY[E&;/-K]Q[@+M^[N\%L9.(P@ O\H65VE CB,BB#+MQ[FIWLQOVR:MTK=X.G
MKZYZ7N=5O%L]%#D39?E-E$(U]T-MASZ*5[',7_0P+UB $A((#N,8IQ#%)(;$
MPP$,$4%Q2L(X8%8Q!+8"S(U!6BFKPP'?R0E8%:!O>4M@/1QF.Y0Q01Z9<DX4
MX+L!V0HT\H,]_#LJC%+FW H\]U7.S;I_KR+G5N#TU#BW:V=@PO[F6/<Y+[[G
M<OV7#A#T8XP1\K$N18HA$MS7V5QCR *)HU@@*5)_L:KN4_FC18[^XZZ,IA>N
MI]=1A^--M0_D)5N39?8_E?N](L\5658)ZLI&;LN<_2<P-J.KH9!-E.^JM?I(
M'6QY"1K[O/OGE7>58_]$#]/FTS^OXE'N_)Y'!T[]0B=C7+\]J$%=:^^)?VVR
MBE(>57L?\V>2K1:2>E%*< *IGZI-3L 5*01^ @6*A62Q[W%JE0S?H,^Y[6M:
MD6] )73M<]6*?0.TX."/6G1+VXO) !CRA%M8Q_:<R%=/38;[Q[W\]I=QM"<1
M<V1<D8I!C].2C#D$1Z1C\>HP$OI"BC_%6OMH[:H6U4G6%D(([#$A8$QC"5%(
M,20)9NK'-!&4241BSX9[SG<U-\K92=JI"F;'+3VXFE&*&[1&9I*30$V3K>\R
M/H[XI*>C26GDLL*'[&'PQL"+<K%<ZIB+%:^[4']O*E\L4N)Y"2(1C *=V8%'
M'*8BB2%/9"Q2BF)$K#8LY[N:&VGH8/FRVIT\MY):WGV?1]7PEML)5F/?9]="
M5D!MQ02-G ZOK"]BX>IR^GQ'TUY#7U3XZ,+Y\AO#Z.$7L1(%6:J&;_ESMLK*
M*EOHJVB_9NE)+M/(@RB--$?( *9QP&$8Q0%*)/<2;%5B]D)_<R.*1MQJ!I ]
M@>WXXA+,9J3A$+R1F:.+V[ZL[NG#$!5'''*IMTF)Q%#U0S8Q?<V.4F2Y?%L\
MB$+FQ;.^;'XDQ9-8/Y"W?+/^51MA'_]J<]9[J9=R+PB@#"(&$?,32"FF4'U6
M 4<RQ:%GE#+8O,NY$4M':%!+#6JQ024W4(*;,8P%ZOTD,PZ68YM5+\-XN<S
M4#QYSJK\!75&YVEQW>M[GI^I,9';(U1SN7ZO(FA?_5]%TA8M3<+3]IJU5#W@
MS0%L71=V^J=8\I\)^_-S7GP3:BW(M+=VG4E,^W27WT23B>>A*J"V2#U*)"<I
M3 *=,QHK'D^I2& L@R#R"*$D-$J:,UR$N;%YK03XH;0 5*E1W?(46T6:A-"D
M4N5&_4.;H:JN2&=!3,,&S(#X1Q^&L8^J]0AH!8#6 "@5P$Z')CWA;3,"6SW
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
M MG;\G1ND"8*[KE"&KTP;+-PE%R5E!E;Q!'%R$L)I$BGMR:)@#@,?(@P(3+
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
MZE0I@!N%MKG;-:_<5V%(U9FOTJWY1PO+Y[7#9V#;GG!01EXH>L?C5KOM*7U
M=R2&)'EQ/T@6]N<)!VLB _,T@V9G0G:$<J^-^-H^IC,".T)CS\KKJLU!)II;
M_M^/N38.6QMF#MZ<VX*DS0Q*Q$VYKJT+ZWSOIL7**G,(DI$MY@I\)K# ]$#C
MWA!S!HJAYI?#YJ8TNIQ1Y<#4<NZI@8G]2/E#D<%!;.Q^T.SQO]<TL?!IZ(<)
M\V$4>Q%$-,*0>+& 8>A%).$>8]*JX.LUPLR-(PZ"ORV3 5XS*F96C:FP'IEO
MJL!Z?08XC+"_ 8?A]Z>?FB3]H .L7:4GO$:4:=,7.@#M*+VABS;M]T+WFW6I
M]E_:0JXOV%]%\595SWM>F^Z)SK<P-][;S\ML<4E] :C+^R(W&(W,5QTA02LE
ML,',:G]T&9)!^Z2>9B?;+UU6K;MO,GAZ\ 75:U:J<=-%!_(-7<O-LDT%L/"B
M5&*)0QBF3$+D(0Z)X A*%/N^C/R8):'-_JBOL[GQP%;6JD8.*P3/UF"9J[.F
M9::@7H0I]3CB,8>24P)1$%.8>DD,?1P@YN$4)=);J-&F^=08=SL=\;C%>9T)
M2Q^TUC\$4(V+XM4IQL:W9$YP&_M\VJ92430@U )?9?C_4'^=OZJOLW6H!#_I
MR*.B),OS52*&W%1=Q,C=1=/YKJ:^)[JH](EKGLOO3%S.16\(UV\[9Z:RNG5X
M_$%632I^):L4V7JC/M?_%/K^2?!;]0F1)_&+:GS]D:S%-@AYH0[+24P4<5&,
MU-) >*R6!D5A$0Y$%#.<8#E-P5"G:LUM$?J@+P272\'_;UEKH<Z"NOX+SY=+
M4I2ZBEM="V:J4C!N/R(S9IZ'L#-: QR4D:FA 1ULFDO(M4)G5V2F ] -:"$"
M#4:@ @EHE, N_\4,ZLR,,N[O787&K5+_'C5J1AE(9Q5LQI%NX*Y@G;,_[\IR
M(_C'C<[W45>2JYK>F8>JIRK9*W_RA0@\*A,=[YWH13Q*$YBF-(",B="3-"%>
M9!7T/4B*N:VYNOR0MF[D4A]&6@MLJ84&FU5FFRAVV,@8KHQCXSWV0E:!6BL
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
MBT2K'6C5L]SL.!YL,_Z9?@A'YJX)1\^: MV"[8@^'0DU*?6Z!?*0MAVW[B"
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
M_7W8FE&W(\1&IEX-5A,VU)7S!M22NB-+ S@<D5U?3Y.2E8'*AV1C\LHPLOA
MRA^W*Z[_T'DC7LE2WX'>UAUEJZ?* 7DA$QE$L4@A(T$"4>@G,!4B4OM4GPB&
M0NQSJS @HU[G1B!:VBK$@.F_B)W<=A1BB+CD"">40"P\1=1^Y$-,$@$]*D,6
MTCCU,5FLQ'IJO+>!H^NQZ5IGGJBAG@IS,P)W_NV.?7_40EC]I2/R#2 -NVMW
MHDIL=[QNA9(CAC?K<U*NMX+AD/7M7AZ8B;_>LI:/>5,W]>=-F:U$68KRJUC?
MRTJ&IJ+J(O($]Z1: 3RIK<<A]B!-< H1E5@*B4+!Q(  =QL9[$AJLNCV5F)
MM)QU1BV=:5947D8UBS4:6*;RMQD?,P)S#O=$R?T;L75"_T8\L)/\!GRML:Y8
M[O82UO8)_@> YBK3OTW7TZ;\'P#*4>[_(6T,XSIM&+Y;E>NBLO6K$WM6?G\I
M!.'WZE!>9/H,KM-S^PLBXXB'7@1C3Q=,\C&'F*=J]RM8G$:1.B@':/$J"IJ;
M4IQIUS;SK2O B,RF905E):Q.&?C:B L*XVIHUOB;\=@8F$YQG;:3^0;4Z'[?
MHML*7A4 <,=>ME Y8B[C;B=E+5LP#AG+^OW!I>=/UW[^K11RL_PUDV*!J1^1
MB @H(Q1"Q$-]G1\*B&-*(Y(02@(KAQZ#/N=V*G\XF1/V!FPJB<%2B0Q^RE;@
M39"BM,PG:#($AGLNM\".O=7:+R._7T7^!M0R RVTTY+RI@BY*R5_L<>I2\B;
M0G"B=+SQJRX\G^]UXCYW3L\GFYL;TUQPQ*UT<.'D?!K;?IX9"=:Q35,6B$[B
MS]P+F"-7YM-]O*,7<Z_2_0[,_:\.V_=\DE*P=?8JMME6]6[JF]"Z9<NL^E@^
M_- %B.]6'W4Q>G4P5 _=JA/CNMQ=KK8ITQ9>(@.&/0J]4"00)9Q $B4!C-,P
M#3%/,(JL4JHZEF]V+%>)#C)]TFL])T@KK-WVR?5(FFVUWG%\1J;+K6:@DPA:
M*P?VM;L!NT%L-:R>K77LNL2T6HY0:VZD<7"T^7,MW:0;Q9&@/=Q4CM7-0,?+
M7*[_(H7X*%[%,G_IAC%3FHA4"!C$(H!(A DD2)V'12"HQZ0B>CNGEK,]S8VK
M[U:JEQ590G78!64CM:4OXUE4S=C6"58C\V8K(^@(.4*0RT4H7'GMG>UG6I^[
M2^H>><Q=?,&E"\MO*_4)K8M,1]>=?N(A7V;L;1&'D2^DMO,'H53[0QI '/(8
MIHACBCA2_[$J9W*=.'.C&"WDS9'K@ OO"^,!NL8M8PS8W\]?HZL-Z'FNU@G\
MT?PYBI>S&[Q']?PP%F8&+B&VP)GYBEBW.I"!\]6Z(&S]G]GZQX=-N5:;Q:+:
M!:K^MG5)#P(=$(G\(! 24A9SB&)"(>;<@XC11#+!49!$5K1K+\/<N+8;[]"J
MTY[9]$3_=5?$V)* !XR/(>N.B_KH]L<&Y+^4^*"5_^8 _,[/G0K(>D!VN?='
M#2BY F17_#I @FE)=3A$1TQZ15/#Z/.;S@!V+W\K1=7//5V3;"7XW>K3WZPZ
M7G_.BY.EGA=I2H,8QP+Z 2<0\42=?%.&8$("#V&$/-^W=%09+,O\/%<:YLP;
M%;0U3#1*5&51Y%Z%^)PNLR<R(!IP^.B94>PD(S(RT58ZP%Q"I45-JN"^,RR?
MNL.R5W1^Q[CNZ/1J0!V1ZG Y)J76J^$Z)-CK&QQ81.-4F[^M>%96E70$5_V+
MLFRBN1*/^B&C&)(H4/M3SA6U4O4?C#"/?!WVPH?49K82PF@&3^_L_*L2\#]
M]ORR65?S5^V-U2G#LL*&U6"8,:5[;">JP-%EO)ON)K,K/*BE=QZ!-P@U5R4Z
MK/J>MF3'$%B.2G@,:F3@+K).>/A9:7)J"[L[V>$X\*CG"8B\R%?G;<(AI;IP
M4) D?BA8XM/8YN1MVO'<CMN-W):[/5.4#3=W(V W]EZN25ZJIPPX?8(>J7B0
M+5BN]FFFW4Z[+;,$XV@79OO^@&QDW[.G%5E^9YE0*I4?\N*EN5M$-"%2< RI
M]#0%!:':7#$)61IZ 4M3@3W?. W9N5[FQC>UG* 5%&A)+3)GG06SGVF<033V
M)>T)=(8D&#L+DT5F,1=P3912S.JCLLLD=@F%WA1B9U^>+G?8)?GWDH9=?'A@
M"6G.JUA0LM0.DW>K#^0E6Y-E2X-((.I%&"(IU'9,D:*B01+IPB)1[#%*U#;-
M9B?6V]O<Z' G;.7Q"[,5:.2U+ C="['9-LP9<".3Y'G,1O!G,0+%517GWKZF
MK=ELHO91A6:CE^PXA(ML\;%916Y7JPU9?A,O>;'68?@XU076U#8I@ C'/L1^
M',(H]:2/ S])$J,2C><ZF!M3M#*"6DA02VG&$F=!["<&%]",S 66J!A/_TNJ
M]X1!J%?KR:[^LIOC9QN<9%I?4J>=R1>?LY^\'_)74=S2LCI<+2+BJT6=>S 4
M6.=02F-(TIC"0,8A2:@,TL2H2N)1RW.;KI5PX(]6/,/-^S%@EV?H8!A&GIK&
M"%A-RI/:#IJ-^RU--@U/*M"=?Z<?&.@NOJ&E^-=&S>9/KU5^B5VY="XDCE@,
M8VUR0'Z00!*G:O\=(QK[4C"/!E;NXN=ZFMO$W D**DDM/<7/ FJVQW8"T]A&
MB .$QBJ#?A$+5Z[B9_N9UE7\DKI'KN(77[ CA>JVI7A;_/9]$>*8(H((9 C%
M:O83#(E/"$PIXR$-DU10HYIWNR;G-LU_6V7ZNO#[FJQ-'04[^/1/YF%:CSQK
M?_MZ]_CI(_C^>/OXZ?OUD_18QYY%MGFXGHS-#[MYV&EJD@EW+'H[LT[\B\/L
MPE_5Z'S,=>7*!6-Z,64^] CWU9KJ19!0G<A>4AH*GWM18%4B]T)_<YM\9Q/G
M:I'!'[70ED6_+T%NMOXZ!'+D^7PEAFYR$!\C,V8>XDYO[Y^+^%AUHWS$)UX;
M6)9;9Q7XL"D*M?1W?-X/'-1CB7E TQ *(@.(HD#"-)4>Y!))3V O5=MYJUK<
M)KW.C6ZZ(0-UNHQ&@^'! F;HFW&.<TQ'9IZS$([JWV^%DJM2VT9]3EM?VP:&
MHZ+:5B]?P4N=QK\JO>H>%SAE'A8R43RD;0H\]?2I0L(P]8E(0I8P;%6YYWQ7
M<V.@>LHL\]435-T]@^55O',:70NRN1JS21BF(Z7:U6SE=$PIO5BXY)'3'4U/
M'KT*GV2,_C<&6AZW]6"Z^:UNBT+[ME<I(]].EXRIRQ&6G_-"BFR]49^=SN3V
M]TM6U'$I=ZL'460Y7Z11%(4^\F#$,(.(< %QB"1,B @XC6A">#S -WUTP8WF
MX?3^[(W<@E>)(DNMHFVFR/''W-#(.HLAG,A8VRD)MI]);J<NH&]]I<,:K6]
M1^\ZV^5.<QV@5.ONT/X[U3"YLB./+N^T]NBIX#^R:T_6\;"E2T?V"''_(G2S
MJZ?]N(4V4_O'C5@$E)*8Q1ZD4:I6()UM"0<Z1 H1(OT0\QB'B[4NX6*V])AV
M;+7[W78_HJFJJE(C-WI(P'.VRIXWSTU Z4LCM=U"8CP"9NO!&+B.3.NUR)J;
M&Z%/Q$6M<T!%Y0+GCI-MH7)$K<;=3LJ0MF <$IWU^U?%/'T3VNJH^E$D*//B
M6<=<W6_CN1<\2#%-_0"&OCZA^S&#:<@"*,,P0%CP($!66=*->IW;.7TK+7C9
MB=N)>A\4!G4!>#..<@[GR 35R'L#=I!V1 8[F=U72[2"RFWXTX4^WR/VR0R&
M,X%/AB\/M!2VQ*>V:&J7)\H%9G',4!#"@,6*@[R$0IR0%'(2T]#GBIX$L]DP
M'?4PSYU1OEW$12.GI5'P"$A#6^ U\(QM MQB\ND2)O9VOW-ZNS+W';4_K97O
MG'I'QKVS#UZ?.^(@?X7B^&*=_4^]X@5JGH=4[2VPCWR(4E^=BW@@H!^2(*1<
M^#BR2D5KV._<-AM=V?35)*E3\6Q6"O']O#O#LT;T#8,928P [LC4<9 IXCBM
M3K7EV$H^3I(( ZA&2 _1U^N[)88P@*(O)83)ZP/O(,23/F+5(0R*!C]F)5OF
M^Q5%$$I32D@,4T]*B##%,(T""B,2(88H([Y9$+9%GW/CJ;M5M?6KK<8TWZQ!
MF]U &X%_$?E305Y^9 S<%FJ\+*\$#(; T*CO%MBQS?*UM& K+MC).Y8[M3E
MK@SB!CU.:](VA^#(*&WQZO ,W0=Y9[\=YJ7=_T4W0VUEV+Y;,3T%Q4=1_ZE^
M7FYXM<&KDX;IT@1UP8(%2CD./.E#3T0<HLAG$,<!@7$8\R3$4G)L==::5ORY
M'>1T7=VL$1_\Q!L%_J&OQ5B5'/RP-'N=&[63J5H_8)\Q?,(/QHR&Y_L9C,SH
MIW/ :_O77C+R-B?N?H;R_<3D%0K@;OLYM4#\XP9LL=BE@ZQJV]1PN$U</OTP
M.DQT/J'PDR=&GWY@3B52?P<IAF17TC?%M.<RF;[M'NE>)G]?JR5=5XJ\5S(4
MM0E4NYA0'1(E60AE*&*(. DAB2F#'@H)#4..H\0H,=PHTLWMZ%")"5[4[T#>
M"*IO5OK<1"88POZ5[-T'9A*/(&KH$41/>035PZJU!*V:E[Q_)AA6F]Q5[SB\
M4^6\>I=AMDR>-=(P]"?=<MWIA,FZ1L)K/\G76)T,K'2J-@[K-RU*OE(]-=%\
M0>R%E$8)%)*D4"W($<0BT']#A##..1-6A5%.]C*WU;06$FRE'!@I>1I1L^/=
MU3B-O+C90V1?LK,/ E>%-T_V,6WYS#XUCXI@]C[L,!-]$[RTB%@4J+GNPPA'
M(43(UYX"B$,D,*<XP2B,K0*H^SJ;&PU\WBO)L>Q&R5P*D;$'VOZ2\!KXIKT9
M[/A*?G =6V2"R)CYX3^\1WR1B=)&V=\/W[DBQJAO)_/SF9W,@_K@?JA?/A09
M$_=2O?V<K^KM35T >B&ISQ(6"QBDG"K^B2FD:8I@'&$JHY!*@:WBJL<3=6[L
MU0H,7K3$VN^!53*#4@M]H\T#6FSR5/V;)%E1U5BWK=@[WM ;7D?.8D G,25<
M%5RT_1P>VL^AUK@^?(Y0<7W\@7$93C2.H-/'$8T*^,D HG%['+@@Z6Q3ND*>
M^DJ7_\^FR$J>,2U;DX<Y]3WL11S#--4)KH7@,-5Y,#'EB/E1XH518K6J]/<W
MMZ6A$M>2YR\@:DC6[G :FW&UI'6=4RTKZ H[1K5V,V!<,=Z%WJ:E+3/5C[C'
M\+4!5UD/A7847[]I$YNNLZD/W56!^%O^JK?0;<106\J!)30)4PG#0&?;"-3N
ME(2!@#*($N2+@(:)44#/@+[G1BRM]#>5,5LG@^9@J\$-:'1HMR:&+FQ#QL3@
MYFD\I$>F)DN0AY0ML9T!YA="XZ$^T76/JT_<[@)G&&R]US.634YW^3),U[VK
ME8%-V*T5@O'%UWSUBUJ-O@BB/10_BI(5614<O_.J-6!^LY;F1O9*8OC+[>T#
M:&0&':'-N,80P7XR=P_>R/S=AYMCEV0[;'H2RZJ&FHTEX[O]I&'SDU"'G:HM
M6UB^95]UX=-JO3.S;IV:]>9U4RYDB'$210F,(ET ,Z$I)(@2R'"4<I)X/"%&
MEZN7.IH;<]2R;C,;[GSS:W'-2S3THMM/&RXQ&_NN=2!<5O4<3+ 85-ZAM^')
MJCV8J-<M_F#T_("SY:_YBN>K.UVEFI+5GY4'A^#:!;/92WL(LPB'.D@S2B&2
M^C2)PA2F7B+]P,.Q%$87KD:]S8T8:GG!5F#02%SY7EN<7RZB;' ^=(G=R 31
M"]N0\]]%_"Q.?"YQG.B,-^PSM#O1F<+2>X:[V,ATIS93??;.:<8O#8STTG+K
M:L+Z<_F6E7\^JG8:-RP2$1Y'"89)Y'&(/$8AP6HKEC 1^2&/TSCB-E< /7W-
MC67W1 5:5J"%'>CEU@>RV:V (^A&)MG!J-G'!%W&PU4 3T]/TT;;7%;Y*#3&
MX)4K\^7<K5C^+'[-RW*1)-SC/)"*)!""*,0!)$S])XU]CI.8X23Q!V7,V?5A
M11,3A%IJF8 >JC9O3KX:FB^G Z09)5P)S\A4L,N94XL'?M("GD_2.SQQSK'Z
MKE/G='IXG^0YQRJ>39]SXM&!,US*C(FM5;C9U(9!F 0ZX@Q[$=%I\V-(4XX@
M#]*04$RP%]C5\#C5R]PV [605<1T):7E##\)I.$<OQ:>L6=YC<Q6P!&N_7LA
M<#733_8Q[5SO4_-HMO<^/,#D\G,AUNOO/[+B3_/#_^$[,_HL*]% )=N0H_T1
M&A9'^6M0F>CHWD''T4']G-*]!_.CEZ8[B)^3=^_@??:A8>OI1Z$.[NKD7B_0
MC^3O3B6+!0T8Q0P)B*(8J_]0'V).$8Q(0+@D(4ZC77T(\QUT7Y]&'^9!:8<)
M=M2MR&!-_AY>FJ87;+.E]VKL)BHJW^*E:_#M5:GYI5";0'?KL D>CI;CWJXF
M795-E#Y<G(W>&9J6Z2534S#['^U-O*J*;G_(RS9JTL=A@&(I8!#R"")$"*1,
M,BA2+XR3,$V9;V>NZ^MM;GOTCK"@E19H<8>:['JA-C3:N0)P;+/=<.P&)/,Q
MP,19[IV^OB9.E6.@]G%F&Y.7AE')6?>OAWR9L;>=9U'(DS3UXA1R[OD0,8DA
M313)A"@,TX#Z82JMHEM-.YX;P;1RU]6&AID"C$$WXY<QH!R9:@Y=0\F^:V@M
M./BC^7.4W).VJ#DB(^-N)^4E6S .*<KZ_6L*#.?/+X7X(59E]BIV=LZO8GTO
MU3;K="JO6UI6Q+E@"0E9X$O(J*>.6.I$!6F,4XA\CJBB-O7I$OOJP]>(-#>&
MJRM=LJY*8*FT^8\AY8BO&BM#X^BD(S"V);4N9+P'_M[-R0W0>3US61WT_F@U
M<%[4V 6<3BL>7R70.Y1#=@'@Z5K)3EI^GPJIMYQG^B]DN<M57&ZG.T:A+[E(
M8""(3F" /9C&3,+8(QZ.*:*8,>L$!F-).S?6KA.CU9*#6[;.7JLD(CL=.MF\
M;1.BCSKJ9B0_F[$<F?]=UD8]/?:C+!J3#,],:J+VR_IO50_5"';7M5#-.K4/
M,/NL4,Q7XIM@^:LHWCYNQ&.N>OC7ABPSF;%*RFJ)_%FLA,S6Y>WSVC3D;$C;
M<ULA&AU JP3@&Z$+<A[JT6XN6U4N5L-S,Q+]Z\ 4@S RM8^&OU6,VS4@#HIZ
M&]3A9'%PU\#1C8R[JAU[KJOXM/R@R%/U\V7UDFDJ?21T*4P9[7P+<^.M6E)0
MB:J+5SQFS]6\^?+UX<Y^4WL!O<LLY :XD;G&%#/P1R6YH_C9R] ,8I">9B?C
MB<NJ==G X.F!==ZSE4X"50BUA5I$41R'/JWN>!%$?AK"U!<8"LD8#P(JTRBT
M.2]W&Y\="51+H%X:N:#JS\VZ7).5KLU@6::]"Z#9T7,H+"-/\5_SU1-\%,4S
MT )66>HJ$1T65C^AN*OBZ=VFIRV0?D*IHR+HIYX9Z*JQ*=?YLRB^B64=%O C
M>VESP2">L#A*&/0X5I.8( %)0%*()0^BE$D2(*O4:CU]S6TZMZ*"HBNKI6M&
M#[2&CAEN !O;+:/%:D_,$5RL#>!PY9'1T].T_AB753[RQC!XQ:EU7>\E'@NR
M8C_$_:J-*O;CQ&?J?Y"F/H,HP0&D?L1@$,@@YC+THM1J[;?H>VY<\CDKRC7X
M+T$*)V;MDW!?9:2^%L0)3<Y;4_+.FG<#&MF!$GZ,?([VH(UK"#[9\QS,NGV0
M&!II>YL8$#!2Q:.OQ/JAR-<YRY>WG*M/LQ3M.ARH(PI2VQC(0I9"%/H8$IJD
M,."IEW@D8I$P\K8PZ6QNO-2*"UX:>0%I!;8(0KF$<#\SN<9M9"K:0M:*"K:R
M#@G@N82=13R/0PPG"N^Y"DN[N!]#<'K#@"ZU,5U4D*$V>T%"IN\,VQC^3HI,
M&X]TMH_&\SSUB!\0%D/FAVK_%\=8[023 !)?46HD:9*DTF;_=]S%W.BTE;#)
MU#/(F_\$D&8[N^O@&9DU+9&QWJ&=5][11NQ$!Y/NM\XK>+BMZGG2_A)';;9_
MUY5G95X\ZU2K.[N\-D#=K<7SI2 UPU9F]*TJ:<%K"3KR=JXCP!^5*;.2V=&5
MA 4Z@^XF3-J?[)+"0MGN;87-:T/3>OZ>+S=JRU.\?<Z6:K%8\$A0$0L!<2!\
MB'R"(*4!A0PS'T<>2CUI=# XV\/<EJ\F,^562E"+:9O \Q#'?GYP@L[(C& +
MS(!4G6>4OR)'YV&+$R?G/*/0<5;.<P_:3>.R6"^^:7M0<VY*TACQ".LT<%QO
M/J,$8ND+F HA11!)X9DYZAZT.[<IJU.89N4ZTT5-FI3'=7(3J[WG(7C],_8*
M2,8V$PY%PWC"GM&];Y.I7NEL,-5/N\EZV-HD4_2,"NW$//?/]GO'WU:\6+X]
M?1=L4ZAY_N7/=54@ZL./U=,#,W9K[&]E;O-122N4N%4ZYT9B\(44?U8V#IU_
MZ,,/C:VY'] %$"_OO=WA-_+D-83.86T[<W@&[;LO-#W9EMM,Q>YNV_"-89:B
MGS>EVK*7Y8?\F6:K.M^C8/G32@>/WW$ULIFL#K"W92G6Y2W[UR8K!-?%H7;9
M*=2_;9X%_T#*'TTHYRM9ZAH@"^0G-$D"#Q(6(X@2$4/,I(")%\0!IZF("5Z\
MBH+FIG:G<06VF8%=L4>\S%<RVMFL1AY2,_O7?(9I9*)L%04=36_ 3E?051;4
MVH)6W;H(WDYAT&A\ [3.VR#W1FMW!KII1L>1L6]D82<U'$X#_*$1<J)>A^8W
MH^N[5;DNJCNN#_E*\>HZ4\(\JN^G_)$O=0X3M;YOUMFK>"R(=N'\2-Y*?X&P
MKF"M,XRGTH>(, ]2D?@PY3R)0E]@RJPB\P=+,K=]KU8$9%M-;@#;Z7(#UJTV
M^M>M.F!=ZP.X4L@V9]K0 31;2B89EI%7B6I$[CHC\J$[(EM%0$<3T*@"/O:-
MR(!T;%>BZ2Q7VU Y)D[D=B5<QUG>KFUP2)K6XP5 ]Y+Q)O>X]O IZ^QS_U02
M4,+^;,KS+&2<8"*%#YG@BFD#',*48@'C&*4!(7$H8J,Z6E?*,3>*;<4#+^1-
MKYPV66*'#T8_84X(\;MLJO?T !U%;D"KRDU;R6N:\;#)[SO)N$R5"7B\\;%,
M('PUJOVIAH<W/V%2XJLQV$]??'US$^>*T6>1]=MN42VKM#>//\BJ22#P5:^R
M_S]Y[]X;.8[DBWX5 @OLZ0&2]^A!O7;_<KWF%&YUV;?*W8M!_9'@T]9..N61
ME.[R?OI+2LIWII)D4K(*9X"I=KDD,N)',1@1C$=5<_9UU=RH\"SEC,8>9!'"
M$*% 74QE&101]2C'Q(\0G3\W=7&^U[BL]<R'T>@W$0B'7 PH$_A#OEPJA97@
M11.G\5N^!)7BN*=]QQM_"6FFTJ:X@$&"I78C6 QQ&E/(F1_& <)>0$3W)7R4
MUO"O_AVL>1CR<I[]8I^ GA$ZR44=^@+W^M)"+?<[EF\%VH)UM01@6WAH@X'\
ML4%A H6&;!?NK8L.&=,]A4R5X9;#63$B:P(L$_=5-#C?M&?ZHHKR?>,J<&+]
M-Y7*/8\P\P/52,D+TD"U6DP@3F)?GF<T"_T4DXQIF>=FTT[-&M]0"!:*1"#G
M?))BI=CT$E/GT"O'I>DQI+D*>F>(>VP'/@!:@E6!N#6.#97J>FN-=_,+H.AV
M6$; ""=7!0;T)AVW]( 1$$=%"<S>MK^]V8;_;@N1^[%(D@ 'D"-$(0JDB971
MP%/MW^(L)(QXU*C?VYEYIB:(#OS\%C<II\#4OR>Y$J(Q;D%VH_<'J=-^ 0>'
M]Q>G9AG]=J*'U5-W#WV/6_IM:EPWFM.M:&K*JCL,N=5:?6E3M95Y49CZ'H5I
M$(40)8&*Y,<84N%'/.2>1V,C@: UZ]3$PX9H57UGE^S_M;:4-&JM7K$(FK:N
M:VB'ME-=H&IN6)J@Y,HHU)IS7(/.!(8C8\SH93OQ](U74O&G*FCE W_ABZ)I
M,_'QI[+]>-MM8I[X4@!Y2$"!B >1[PN8ICZ!GI<RCZ:8"V34 4MCSJF)IC7)
M3=#9#M%-/R=#/48'<CU1Y!C(@07160P[@L?I4V. F2.QI#/CJ$+) ()#D63R
MJJ6^1!\Y6RU4P3A</:K_[P33R6F_/Q9EK4RSSXT_J;$CFE*06X. )!A3EL4P
MR_Q8>7VH5*82!&/F>X1PFDK[RDB9NIJDJ8FS-4=-F4/)3Q=1N\/6K-FE;4Y#
M$YO;!=@;]PQUL)Z:>MFHJS2PK#R]*,V:[)#?E9L=1E"ZP].5>G<]0>/J?LX
M/%(,W8UL)Z0_"L&I5$L__J1-HI.JWW"[/$&,/"_J,J?U)C)Z_Q>[F1-A%)"$
MX Q2%*40I6D&,XP(#&B2Q7$HTB Q*L$R (U3$^,MBY62XKSC$I2J:$G[L_R'
M):"-)%%_ GXHWLL-H\T#9H)]B&] 3]*_\<H.+/I;[M2:KOEK"]'(M3QW5&_9
MZAY1BWOPR_TW5./3?+E2=Q2="[Q8.@RC'G"%'!TF0U XZNDR(,2'Q\V04UF$
M:P]W1_UG<T']>=DV??N['+#^('G]A//R3[Q8\7F"! V)'\$X01Y$.$8P\]5!
M)03SJ!?Q.-:R+-Z8CZF=8RV]JK%"&X@U P^*9L"4W!.2:O"BR#:(6G[#;Z3_
M#/N%5GX*\5/O[.*G[O?BI[K/Z_,2W'6?5P,,4,@ !0WX\]?YO R"ZG^-SVRD
MH/Q?YW,SB_%_^T7NS1%X0_+&RS%X^S78RU&8 #E7J75KDK8$JS[HOQ=LT_KK
MXT]>TKSBS:2WHNT/=-.HJ9S-T]#C41CY$,<^@RA!,21^YD./QDD2B"QEW$9+
MNY*LJ2E=BGCPM$/]#/"._E;=4B8H;AM?X8X'JR/RVN4T4JA&7*11]"-ROH]
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
M4O]K^#:O6QK75V"V9-B=JU]YW?8)_%)4U=S/* ^IK]K#DPPB#\E3C_DQI$F
M!1$A18S/:Y4YI'?J[8UN="9MYAA0A^0U6!@W2=D'C/D\HP1QR&-5HY!0'V+2
M],Y*.8JX\(EOE-%D#]@8]HL#P/1.2VL8AC8[N"H1T?0Z_4V1=EXU,3Y83K+L
M2.SOCSVJ4#[)UJ'(//V095'V;0+R^U592N$Z#S+B)YF70I;X4H/W"(-9).6;
MJLW@LR3V,AJ:2+7C*:8FVMHT6=H2!Q9;>@VKLA]CJ;=_KT-HX$V\0]P,=.0Y
MK+I^EG57Q=:/)QBWQOI9!H]*JY]_TC)!8*>?T'KPUTZ%JCZL^#\X+N__*N:(
M82KDN0P9)=)X#U@(B8\YC.*4)325NDU@U*Y<<]ZIG=?RTXD,$P8T =:3 @/
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
M=<Z3E'HBD$<X"=3%E_ @82&')!""82$XUJOB?VKPJ6WZECZ@".Q*".OM])/
M]>_O:^$8>%<;(*&]E?M8[K'@Y6OMWI4_;+?LR<%&V:A];*RW9^\S%HDX.WT]
M=AH/?J_EJ2]_)95'7T0D#N,,"D'D(8TS E,5SNE[2"2$^R2CW"#81FO2B0;:
M- 2"6E%HD )R$>'^[>P.L#?H%+1#[ RT\-V[AL\@<<8EC"/ERUP'IUF^C"X\
MO6DR%P<9+SM&EY^]I!CMEVS;OI'Z\[*JR^;C^4,NO:K<^S^<?<@KJGKTS6F<
MA5%$!:0!E@(WRQ#,,(I@G&8X"7D:4^Q;1#=>G'BB0O<+KZK_ *LMO6T:=EY5
MJZ;%(56IJ*:MWBZM@9X%Y0;2L<2R!&U+[ SLD O6]+KLTJ8)C;.&;)?F&[GW
MFB;[QVW6=%^T[:A659R?;CC]NL[X_K#B-T):1?_@N/R4O_"Y1_TD(RR GA2.
M$'&$(<ZX@&F62!4P$CCU$K-^:Q943,VDNW_D)<>*0M-&:S9+H.G3&1K8H5T^
M#?VSPU[ULXWF\SI3/1<(;U)S9J"!'RA&@.+$91>W*X!TUN/-AH:1.\!= =-Q
M?[AK!K.P?6\"S\_: )3/2U6-6HZGZNUT!2\]/^)I&L8P# F%R ^)RNSQ(*;8
M8P$60D1:F3T:<TU-MBEBUU%3&W*!HM? <KL KX;9ZPZT@>76>;QL:J]> ,[
MX'4'X$CF[C5 FAF[>M#TFKH7AAC/T-7C9<_,U7S%3LN\H?)C62V4B?B52RU6
MZDD+I<1^WK394HD\*FJ@^Z0S1%D0^QBFL1 0Q<*'68H"&.,L2SQI=E)A%"ID
M2L#4Y.^6XB:S[W]WG<I4#:WCWF2[W<O,5%'C==+30H=$?V!!?G/[_O,,[#
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
M,^BC+(3RS(D@H3R$*>$BC'!&,D\_ONQH^*F=+2V!@"@*31I,',&F<2Q<!<;
M\K[#H2$._&C),PG6.@;$I*G&-<",U3=C!R!7S3#.L=W?[^+HK1%;6IRC>+]K
MQ=FG; 04I>5*R;P&3)7NOF3O\)+]E;/ZL8E-GR=QP(+$CR#.E-+,4I4TE&0P
MXIC%2*K, 8[T)=;%^28GPEJ*I3:\)KD)LR%KHDWZ4>A"KB/MG (YM/CK,-Q2
MVQ3NV-#;9D&XQ=!$0#K%<BR)>1VFAK)4&Z%^X7IYF!&EK39/^^)7_S7; "Y2
M;VN)?)*KWUECV ^\4$0$<NY1B/S(ASA2V?[()Q@)EC!J&+]U>J*I26!%)\@W
MA,Z D,\9N20N0JOGK'4!V,"2ML'J\PY6BDIG1JDN$,Z"N,Y,,W(,5S^SQR%<
M%YZW[-8AK=>Z>K\J2V69KLLN2_U+X,23YF0F8H@$"2!.,PIC#PE.2$I(&!KU
MZ#@UR]0$0D<>P VQ_V'8E>,DCGH"X&ITAM:S&OIF8 W0$%6E>S%PU6WCY!SC
M]MCH8_.HLT;OPW;[O7%-F=97WW]I0E]F2]@@'^1IGAU]B0>#C_H)GF;L\-L[
M\Y2%+Z#M,M7Z1)4B.\<T0G&0IA %:2(M?Q*J""<$28(\FF$>\@3/:]620L/R
M/QS=Z%#9S#'<%]HV+Q$ME6#1N/J5:6]@E1X!J&''7P/+P'NV(ZV[]GA_)18&
M]O@UF(QD?1M@8V9IG^.]UZX^>FD\*_H<O7LV\]F';!L6W# F5[/ZKAJ@W)9W
M9?&2R_'G(D-9RJ0.+!B64DM$*<09\B'!<11ZE/@AT[*0+TTT-86XI15TQ,Y
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
M>?GF$^55_ZSN."__7A:K9^.ZS9K#34T4GRT3_&<%%/6@(5^_/K,NJOWB>"!
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
MH9Y_&'MI0M+'9;I-V,H+R^@K5_J3][A\649!BH,,1Y"CT%-9=3$D&,<P%")
ME/(LRK2J;5]N?F[\=+ .J(T-4T'>(^3T^,8>CY$II0/%?1\4%A*VESQV)D%[
MU/C$$K*7'#N7@+UXU4U:X!^D+6HFI69-_YUO7^YWY5;.MHK]0D0<1IE'(P]2
MS#.(N%HB(H+"4,YS>.B%8<!2"Y'OH7[G]WI79@,U=J U'/PA+0>MZ=:)8+I#
MH4L+S@$>G2^<8&NKB*V+E%NIZ\%>?X2&M2X45\2IM6^W4IW^N&;Y]YSM\,I<
M;?KLWKGQBU)/[AAI)"Y]#DP_4[C 9&1*.('#O8;T5>=MM://&YQ2,_JJ.R=:
MT=>OLTR$4C)AGS?K39N34"_6MADWF8B"D,0,"K\*'H@GIP >@YY(D B3@,2)
MD9Y7?W=S>Z=K:;R\$<-K<IQ^7H UURP.I(FR7ES@#KN1W_T:MJZE>T'!QMCK
M2M7F&4M:J+C*3^KO;-IL)"W'SW*/].XR(Q/&\^4OZVV^??N0KWC1R-B_+9,T
MYI[ *219(" *HP!F6(F0^#QF+/:]#&NM?EYI?VYT49L(*AO;^@F:BYK7$.QG
M!@>XC$P%9I!HO_P#CO>$ /+.^D67/QS>[VOM3?)"#SC3OL%#EYF'Y)(&'OGF
M,]_<?7]^VFSQRK#*W[7[Y_9>JESEQU\>P&?YOZ9T/:CLO:WJWU7XAH-W%\B-
M_.:Z <THJA]"Q2JRO]KH9-']D%O="'_P6KLH?W_ZJ=:V#FF(HRQ(H8\"^37F
M+(.$>Q%,(AKR*$$4(Z,EP>/FY_;Z[ZVS4PT_P4XO5K='9.376A\,XTC\LL^.
M(N^3QB>-M"\[=AI97[G*/))N-'L_Y"7%J__AN/AES539MV7DBR2+Y<L:(JQ.
MA*<48A:',(O\**$X(FFD-1GOZV1N+V]C)Z@-!<I2($VM*BSJA]97(1V.KUT
M-?([;8614:P]!()5P'VUT<FB[B&WNJ'WX+667^8F*^9!_")$+=6T3Y?\(IO_
MPI4?^2JOPJV3M!;YWM.$) P*3YU,5)I].. ^C$48LABGS$^--NAO,69NQ-%-
M-]I[4V4F*T_ L2N&$<$M8Z89/TPT$F-'&Q<'H9,E?F$L1LU0<H&KJXCF%E.F
MC7\<@'86+;EHTXYR?UL7LO'GM=+JD[TUV>CE,B)!XM$HD[.BS(<H2##$L2#0
M3^54B0:I%\3)\EMU^+8JQ:O'J5=Z,WE)3_L<[WU]AU=5+B'> L*?\_6Z.1;Y
M)K]W9AQY#624H4Q$F,D85JD:T2"#:4PH3#!%(4^X3PAJ0)8?V(DA;GN<!&"N
M]!Q=0JOW97$ UL@?C:Z%U4>BM='=9V  !$<,?ZV72<E[P-537AZZW(YR]]1^
M5ZND;M^JFB@!]9@O4 ")KQ0;4<B4-'T,0TD+*?8($\@H?KW<S=PBTT[XL[?3
MJK[,%53U>.!VK$:F 1N8C(F@'P5'/'"EDTEIH-_14Q88N-I\JTDM:LNQUMU9
M:BZ?VYM;[8?(?]??(VK]'MX2LG!YY!=PT%NCS9T3_ZSV<MHV)MNZ.3&ZNU-S
M^D^6RS^VY6T_X+RHQ)7ORG)7BYB6*HE#)9?_;;.2S:A3(FHF]6N^SE]WK\N8
MI&' $A]Z"0D@$C&'611Z,!(H]G <$X*-ZK9-9_K<:* U%GS?6[L K[6MABM)
MTPV_YKK3+ =U[%6JJ@#ZN_Y"Z:0ME/[N4J%TY7ZM*0\Z "S _E$Y8%"M>2W
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
M0NHD""'V_ 2&3(876>R%D6^4F6UKR.R8H_8#K.I-ZD*Y C<"[LI&YWO1UF;
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
M1)C[,,.1@%F*DEC$0>QQHPHU5WN:&X.UAD)I*6A-!>\E\JO-MRKC3:52&)^
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
MA.MOGMUHS-SXJ#%9:?)Q933@K=6@K/8P-M\,]NN=#)?&?MR$@S VN54@UZZ
MVA=0.[, E3ORCV:('@2H7 )[GYIMIH?)A\A@<V_"H9IHTV^*(3/;&G2$<>^6
MX:U]3+>5Z B-HRU&5VW:1=4G*X"?=^J+^B#>YZM=6X.\?-AMRZT,D:0E2Q$R
M3WA^!M.0I1!ES(?$BS'T<1S&,0UC:K8G:=C_W+YQK?D0-TOC964QV*GW,5]7
M>L&[ZGU=RRF\T@D&WWA17P7PB3BMO/AULZX_CFJ%1=J_ *Q& OPD6ZL;-U0:
M-AUAO2!_Q'$;^;-XMIM1VZ["E-ILT+%[ 1J/W,T!+)%S-"4P[7W2&8(E-*<3
M!MMFS.N&?)">;M;\"U?E,0M)T-_DHU;%" ]"K8]BNLUIO0#RIK(KJ^1*W?HB
M5HW/C2 ;)T#KA<I:V/NAWKE33_2+EMB!WT]OD^ ^]NZM*>3@=Z>9OS=C:%5&
MQ:['R<JMW 1(MRS+;0U9+KW2%\YV*_X@*O*LTN'N.P4&.R)B[]X.ESSB-_6K
M*E'NBXQDBYQNF^#UMW6^+55T*UEZS=1R#JVV4M2O*EF0PPLKHE@$6 XWP3+.
M1"'!$(N,0R:46CI*:$RURC_/P9FYL7.+A6*%@U/-1+)RJUH:/?NG@>S3^3U$
MFBO7_R:/QM@+1\JS)O.XZWY7?[$$Y UT+VQ J!^-Q96GJ5Z^D+]33U6+AIKZ
MJ%\W DWC'$.9P]"Z6M7_D:Y,NV,P@T$[VXV8@TTW:F4UVR?E'2DK,:YES(3/
M8N(ID;T (IZDD 2,0D%P0A$.>!P;%0>XVM/</H '.0+>6/I?E@)89YCJ?7*<
M(#7R]^  4FLD^+TUTR%%#T+A6J#JK)\?HT1US=VKDE-7;["CA8::RJ?-':TJ
MM3\6&]G5]DV=7=XJ2I*__:8N6:JJZI&?"HAYFD"4^A2F$2>0>HC&C/M^[*7[
M7"Q]NM"WP"8_:P(:>90-O:BL<Q5(?VN,KX(<WEIN1BL&8Z+',XXAGH9X6J-5
MA-B8#5J[%Y60P791AY*#*!NSD3E@CNC)H.-)^<H<D%,"LVC!?$GV?O.5KZH(
MZE>.RUW![UZWNBNNE^Z=6\2B8DV\EG.OQE+0F KN7I7DH/[RZ46@AE=';\5H
M9,JPA<=H=;,/ ZO%RXL-3K8VV>=.=^FQ]SJ+Y"MU=.Y^L_XNWQHY<?I*^1H7
M^>9AW:8;!CPD7A8$D"99+*.-,( X(1$444!PE,8\1;YV<M5 9W-[S3_@<KMZ
M P>+F[P.@TR<(7C[WW77H(W\WBM+.V@M0&LLD-;:B!$,H6>0I^00Q8GRD'K1
M=)19I(E*;^;04!O3909I>G.4^:-[CR6U?ES+Z6'UM+S#95Y^_59PS.[8WW?E
MMIHXQ/*VF-((<HP91)1Z,&4801I[(>6Q[Z5"*Y5'M\.Y46QE)"@K*P'>FVG(
M$4,H:[*L0^RF8-J#N0M0XUA;#.[&PM&0;QWB.27GWH*K.?UJ@C1(P4/M3$O#
MFEZ=4;'N?7:K;'?5&;UE$A.?AQ%5YY.(_$_H09+(GVC(,A;@)".4++?ZQQCK
M9HVH=8+SBM692*MCB0U,>HM:YLZ/S(UW_1X;+T(=.^AH@:EI=-+%HV-'3A>&
M3O[5?-&GSD>X7VU*_K3Y=?TM5Q48/J[99SE6NHL_?6W,+711-NFO]/2B,[SB
MXPJ8L=^]6G>NLE.E7C_EKU56]:^?'S]6-5?D/^P*=018VIY_S]E.4E0OD$9K
M0CHH6:T-]38\V1J1CGO=M2*MZV\726J/%[^U:\OO=_Q.R%?P?S@N/N3?^3)D
M-$M]2F#J^^K  O$@YAZ'G LO2[,@"R.C]#&CWN?&&T\O7 8URD)[>:1AR/4^
MWJ,!.3+/G(@C[4U?*+(AO*F#4($,E/E V3^..I(V;".((PWW_<.TD;1AZ9-&
MTF_$,J=6I0:1X>PA<IH]U)S[NI(PU)P14VE#U\2=VA)\\OM7JYF)1$XZ,A%
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
M@ZL/N-I  ^^.4C&K0YS5[^^.?F]**K<,H2[_3#0PHU.5@KUVY%@6?E%K\"[
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
MP$F_7,6#2Q^6LB*MHZ.O4%M"QDO\\G3Y>?''?&*$(DZ;$E$I=*%$CF"LB.A
M"_P 2Z.F-4Z:.PL?AHJ&,YDU!-H2)KJS\73Y8;GX/IV'A'PX+W+RP*60B&V9
MP4:$NK3!L"PB8SUCU7VK'X:.AK.<U43;$D0^+%9K-_O_IM\ZWRDF)YW7'J0F
M"H3"$]$$/!NU3DJD3)3C%2W'K;4/@T?#B<]*8AT[^UEX6";7T6T5MRQX 1E_
M!Q$I^DN)*3 94:ZE\,3$7G#87NTP +2<YCQ6=".KO-R2SSY\7<RO4C!*2685
MI4 \1M]",@G.T02>):EDT%X%VTOMNRL>IOJ&<YF]1#BR^C^E<+Y$Z%+F/T_7
MLS316CA+G81$2QD(=1R\]0H\05#+:)ARH9?Z=U<\3/T-)S%[B7!D]7]>NE*)
M].GBS"]F* &N T7_-@:'[FXP&D-B:B#IY'@FDAC2[X[KUG*'*;[AO.7QPFMD
MT[_^$;ZZ^9?4)5S1,6&))@6!&C1:T43P,1G @XQ[&X,*O-_EQ7VK'H:!AG.2
MO4791#CP]S2;_><<@]U/R:WP'(MO5ZMS/,BHS]I%=&&B4LB(P(/,:XQK, B6
M24O-8D]?8._RAX&C^2QD#>$V@9*_+6;GJ(!E=V&W7$U"B6!"QM,MIZNH5Z!L
M9'3<$>%HY#70L;/L8>52S6<?^PBS"31<UG5LKNW+,8A*.%]-?*:,N:R D,A!
M9&'!6"* "*D5+^%N)!5 <?_JAV&C^1QD!=$V 9&W<_PT%,?T>WKEUNZ2K8G,
M.@=#)1"9$IH[F\"HC,<C,4HZ3:+7-:ZV[E_],(@TGXBL(-HF(-)9OY=NG;XL
MEA<3GZP3*5N@2J%,M+48.+L$-JJ<A8PDV%RI@.9ZT<, T7SJ\7A!-H&#3V=N
M-GMQOIK.TVHU842+J*P&DR*2+R@'&Q0#RUU1I_=&U,#!K44/PT'#&<B^@FP"
M!Z_/TO(+'GE_72[^6']]N3C[YN87$R%4C!D//01R!I2-!I>SAN0(9Y)FY66-
MJZM[%S\,%PVG)VL)=F1\O UY>7(>I_@3)^MU6FUT\&;FODR88C(SC+>5U,B%
MYPY\$@22-!AM&ZOQ6.P%CX?7/@P=#6<O*XFUD0+M-]/YI_79^O5RN5B^7" 1
MX9H;R:+WUE TA0JY(4*A5Z0)*(78#Y8EGOLE-Q^GX3"P-)SQK"SF)DZ<3U_3
M;'9E#SD-45MA@ H>0,1,2Q(W 4$;F3P3D?,:!\WVFH>!HN$4:$\Q-@&"#^=^
M-@UO9@N'<F#$*B,3*$8<FKU$P&B!!R-".S&GE>7];L#N+'D8!)I/=!XKQ"80
M@- ]*_7$B_"/3U]1;*O3\W5Y4UYN>"9XV@E."0'BT9Z): UXRC/XK(F)BD;.
M:F0L]M%PV,O YM.>U<3<B,.QNBE'3_'%Q<="29J']#G]6+_ '_['A F3, A+
MD"DICQ^5!TN)@IBMX5I8IF(=O^-14@Z#4,/9T6&$WH;Y0;:6;O9V'M./_TP7
MDZBE5Y0CQ43@"<HE^MXZH26EFCC"2'"TAB.RL^QA"&D^.=I'F(W8E9OGLF_P
M.ZN)Y]:*[ G$D%$@,1#PT47@)&O+H_':]KM6>6#APQ#1<':TAD";PL3F:?V&
M"2M#8%H9X'ATEC>3"<_**,%XF5VV-";=KV+WP:4/PT7#V=(Z0AT9&2?(0>RX
M**&WBCY28B,$+QF&WDR $T$"Q_^,"IK+FVN,H]!P:[G#$-!P7O1XX573^K_^
M>D=X[_ ;3^\KU67PWLY+6[#N4VY3>EA[J3N?T;/+U'Z:>C:;*N1/=E>XAD3&
M\%($%I%!'4%(@=&GS1F4)-Z'X*FUZC%Q[%VAUZ;=9%N[2K'$N<]6=JU0D% C
M(GC'#$26*"^5@TRQ?EOV9K%Q.DW54]2MO7ND#,>VUQNRWUUVIIL($I+0ED+.
MBH/0)4\F>'EDQE/T"$4DL8;ZKQ8<I]74H! X2I9MP.#-='GV-DZ\2CHZBA&J
M<^5]4"G7D)* YBI9GX*ULE_/B%O+C=-A:E ('"'']D[PEZ?O/YV^>_OJY//K
M5R].WIV\?_GZTW^\?OWYTS%'^<,?UK=SY&%4]CS<SU?PQ;EOD^Z99?'03O.;
MZ=S-PQ0]]<6F7= U>&CP)"C.(.JL,9"+I<2A='R0ADATW G3^_)KR*'O='RY
MZ&8/I=EZ=?6=F\WT%+J.M0]7:YRL5FF]NG%R<^:)>@.ELAP$BQI,"!04NJ:6
M) Q9]YX4QW!YFX)QO(?!D'!E1BJ(>\3#Y#;UET6 UTPP[SG)5('.L@1&48&A
M"JTL'HO22C2M:E\5U?&8V2%D7.CTT>R](.DCY@:P\M*MOI[,8_GM]?^<3[^[
M6<FHGZQ?NN7R8CK_\C<W.T^38(+P&/<"2P2]*>L\>!HE4$V"9TXRIO<Y)<=@
MYR#"6L!2+P LAM9& Q#[S2W_D=;.S]+E\ZAINA+:)%$JDBD/7FC&7TBI2&1>
M0,S:H_M.G-7[$MG' &L/.>,$1,/!J9;D&P#120BEK]?J8PH)]P6R]#ZMKWGQ
M*!'*+)07$1CL<0G&L0"X&:Q(TL=LJKM#>^@9)Z@:#D;59-\ CCXLTS<WC:]_
M?$OS54);>[K^FI:W9#8AV0:AN(<@-#H%Z!" 53*#*=U(M8R,FWWW*,? Z0"R
MQNG\.QRJ:FNB 7#=)MY[9[31#JP6 HDO'3^8(4"]2N7EO^:L-HR>#ICJ-S(#
MFJ&CI7L\-!9K-ZMD=Q;?TG)]\6'F2F_\6-R[;YL^^7$3PZ9WR:W2QS*ZY33_
MCCNBL'N2$9UH?\_/SF>EO.550@8PW.VT.(\G9^5)X#\W*4_ELQ4L)]#)1#S1
MB0=' P?EO"8BY9"MK&ZVAN:J!9>L2K38&  :L):G* ]7'K3>Q_?$..0F.EFF
M!$@,<D@"2]!<L"RH=$HDX?9=7Q^#YKT$M>#450%B/;$W@*&_+A;QC^EL-LE6
M$>X]0;"71O%6E>$B/H'A,3'E*?5[&^0> Y>KM5MPS*H@XRAA-@""MRCN^9<I
MQB4;86!T\OI'F)V7*N)KGIA%\,K T-5 3@3G ESB14XN)^&-<[:V/3F$KA:<
MM"K@J:Z$!H!U7_[D_6(>+EU018RGGFIP@J"XLD1G5!D.CJ3(K1.<BMH.UWZ*
MQAD ,0"8*@J^ 1AM!;;;3 2GM2F3L&0*I2T@&EEJ(R2#&X12FC$6JNW@W$?(
M./,BAG!L>HNY :QLZ)\((ZPS@@&*HW0>EQ&C6\^!!&==5LH)43LOOEEYG*D0
M@]W./4F0#:0)WDV=G\XZ>X?17?<PZNMBAD)?E7AQ?7$M&HEN.O/90'0^%C^=
MEJ28[TQ@M$GC25O[[#F4MG%#]L%K P9140.69XNOW:P=I3S3E(O;EE0Y;R/X
M("5D0FEYUNE9]7*3AZD9]\YW&.T_#+$^JF@ 5%=71Q_<1?'FKI*W)IA()=&0
M8GF"E<I[8(=19KEW%"%K*^V^]VQ]+NQN4](,F'KI^8'[NAY";P,ZRW-<]8Z,
M)D)DXYCW0$DYTY/E8+RPH,KX<J(]D69?F?R1Z+F?F'$/N^$ 5$'T#6!H.[%^
MQ<U5/\5))CF5M":@;,IP,*&AV&P0U"JGG1)"[.OL< R,]M$S;H)Y("154T #
M8+J=.+_#C=883,1((90142+G"(Z;<LF9&)?*!;>W57[_"XNC #587GH@0%54
M0@N0*BF+>\PLDBRLL13E8B2(TO_".^V!&90/BT)'4SO\?X"4<?/30X&H@M@;
M0,\]')@<HXS&00P\@2 H$"<< 1<DM3(P)^2^WG=U(K5QT] #8::GL%O(+2WF
M7SZGY=FKY-=;"5)"B(X)K:62'(7B+)["U!G S4!#-I(24_MB['Y*FG&E!PSL
M^ZN@ ;MSKU.WQ8Y@P@=..>ZK(J$D!)2K/0B61JX9X3+7?FGR"$G-^-;#0:NF
M4AK V -^WA9#M-A7&Q5PA?Z>X#EOVO@D+F76/BD>:J/L4:*:<;F'PUE=Q;2
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
M#6R7O:?8R\4<#Y(5\G::-U^OIWZ[X>U$R!(YF@#)1E1%U@:U$!6H+"+Q5KM
MZ[]4[T/Q^+-GQC;W0ZBV72!WF_)Q9K7F/D:O@=*L,7PP%HSR"8ATE#GFJ:6U
M']#W(O@P&/^??)DT@&(;0/'MN2R!<&FD"Z"=3>6M<0:3@X?DO5(H1.^K5Y8>
M,0OG_XA+H.,%WP!J^O;J]MS1Q$LE-BDO0Z,58&A*P-#R9^T\4;3VV\7G:,U.
M?^IKHS&4VP"6]SX9R%$1+8D 'TI3>8;>B?7:04A..J-9U-7G0?=^R,%^ZDNF
MZFKI67__>AZ'>L<1<Q".)PN140)"HF1\(A*R3-*AJR ,&21C=<0[CI_Z2JF2
M"JH":?C1F">?_N/-N]._UQV)>?VA0XW"O)_J^BW\7[K5US>SQ1^KZV[M,D9F
MO"0@<Y0@;)F0RAT!SI3Q2>I,[&#/B^^AIX)C7S[SPW+Q?8J2>W'Q^RK%M_-3
M!*,KA9PG83W]OADB="4!(I45@C(@/)4.4FA5?782J):X&2R3FM4N;'PZE8V\
MD>V+H'O"@2'5U8"?=3O@H0SM-2$8%VN!=IP'E!4A'HRA(5B67:[><;*AJ:M#
M:WMOK/D4T3> FUL)])+]GH?I+-UBZ?/BJ=+T%J-MRCUDAX(4";U(6P8'>26)
MXE)I[JLW$AN CW$?X3XSBD<'0@.;X57"E<.T4_'[Q?S;<A'/NZF:DZ!$\"3K
M,E(9HVZN+#A-*.YJHI3EAD5;.Z'\(#$C-R$;'2>+(936 /I.SDK:YY\=(Z?Y
M+>IT_J6DOT]6J[1>3;S6SEODP40OD!OF\"M"(%DJA> D\]W'BOV-ZEZ*QC6/
MS>&PHOH: ..UE-Z5O,''Z9>OZ)2C #MNMEE]_:-<J:>)((KYK@[*:E>&SC,P
M3%&0VC@47M JUWX(\U0:QVUET!Q@!U5Q Q"^O2'?3.<.)3[_\G*Q6J].YO'5
M=!46YZB-B1'"4"7*[ )IR]6X!AL-1I91T> SDS:802WKP[2-V]N@.<@.HM(&
MH'I9J33]9ZE1FG=R*CQMLSNAA%@M<@*7!.Z^+#@81P1P%5":(O#(:]_J'4#6
MN(T(F@-H;44V@,W[>S!,*#>!!.G!14U!6(7^#*,E,2>XUHQ0FJJ/F;R7DG&[
M!S2'P KJ:@!TKRZ7W4CQL_MQZ8.\2/.4I^M)3))9I!N(*RW"-"M[R'$@D?$L
M) 9\M'8+P$=(&K<=0',PK*G !O#8B:T4IKU9+%\MSOTZG\].PJ6SD9G/0E$+
M+/B$H5WJ1*0A*61)<>KJ3]S=1\^X3_V;0V(UU34 P[^ZZ;Q(\'3^R<W2:4;>
M4&KKB_*RHYM6^ZT(?F*MS0J#-> AJ_*.SH!-D0(Z'M0@>T'(VEW;#J-LW.X
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
M)D4PQH)2H71A%QI,0*<[H[^=H[2>56^)L8^>WCVR[_GL&^03C">H<QF"*(T
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
M_RQ;94SUMQ=9OD_=R[^K>1<G:[0&_GQ=MOIZ40+I2U?T4BO'AYW'+=0S)JW
M7:6 =7>PR#6H&:(V6"/!=8D/;058D2U$IM&;28Y(4KO-Z4.T5#2Q.RN4AB2A
MS%^<SL[+>;*361;.<<HU9$T4""4#6/3F( 828R0L.#]<9?Z32!TW'*V"H3V&
M<3"E-77\G\S7TUA8FGY/-_VA7O\(LW/<YIM6D&??SM>7UG]7*C<2<$II46K^
M="*E3V@0X'(L+:04(U80/):&ZT!7BXMQ8\V!$3V*JML[XZ^'I/6YZ[K[(;V[
M;>ZEJM*Y>[W*/7<.-$MF>!* ?F/I0\TL.,LI.I5:(<Z\D[GV!MY#3CT+MUGD
M1<J+9;I9$'];K3N#?CF7<<>@:\Z\RI27! K^$C0'(UT"@SYV:<IM-1NNC/(H
MDL<]C6LAZV'S-;P>FSJ8BRU>S,M]X17KR.YE+=.+-$]YNIN"B,BA"SF!-@;-
M,GY=.G5[<,S30 V&BWHXR#Z9W'&/VN'A.JS^FH+JZYQ3N92YV98?W3J51,$\
M3&?3^UJ$"2$D<DE*?2G*6(G2X-L$"%)'X@3W5@[G+3Z=WG%SIL.#=6 --H76
M5Y<$()/W-1"]4Q?-&/'&@&'>@R"$@M.\B%NS$ VW)-7NVG DJ>,F*X?'Z'!Z
M:PJ>O\^7UQE69/7RJ%A]7,QFZ.&42XK=^3'">B8Q.$P&?Q$6Y>R(TY"(Y G_
M,@@^7+[HJ=2.VVQD>) .JKT68^GKCI,G?G&^OIP@XN;QOOE=1T;:3UNB=QS>
M@Z-:Y5R;05'7@Z.N,:H$8\DY YGX,O;,<;",*R"9<QV2"R94OZE^@)8:=:2;
M!K2=+7]LX!NA4L5,'6BK#(9QV>'NM :258HI+;0TM8W<TR@<N32K!F+N*R0=
M2$7M6;+WY85Y6EQW-WZ5UFXZ.^YN[X&/ZGM[=PB%E2S0Z?*+FU^^GWJYF*\6
MLVF\ZDC]88OV[H6APQC!S3[A=S93@:[!1PA+D4@)E$F'9QMZ8TX0!]1*3I-Q
M@>;:_3JJ$'ZL;2M0F%SWR_C-+?^!VV;B:8Y!$PDQE)88NC1#2'C,YY2]9BF@
MWZ$?@]2]GSRNR7E^B%S9I_YB;L_\?#H_.W/+BT7^-$7G,4]#Z0U[9TXTRCFD
M,C2M*_E;Y$VOXH_3U3]ZF*M:2_<MF!]" I7,X9Z)W>4AA9:1@XJE527GY=VT
MSL!#UB(RGSBI[9(]3$V%V9XWTBU"[8[X"4D"-Q<I_:[+J $C*!B"/%)#F"-9
M!\'JOVFZCY)Q+5XE%-PSE+.OT!M(8-SAXL4%!K_A*^[I?YS\F*XFW":=>1#
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
M[*O2Q2CRG1HI;_#/K7PDHP5=X0:XXW2#,^O!66'J'%]A"N:@\XYFT?:/3/N
MC8N25K+MX/%ZMH0AD&F'AI/Q[U@= 1HB7;_)@15>L.PS8[KUN*@3GIQXB&W4
M5!4=0&N? A;'+0NL%H"+4ML(1(%@D4$L&0/+/+MTY&*&$ZPZ&H23!E5'0Y36
M;6[LAMNK565AGE_/0IQ=S-8S7!V>(MOEI[?)E WFX\@),ZSY6&$C,,YJ7:8J
MX'.=&. 8RUD7&_E.VSO[2Y@]^K.K%MX@L1VU,U$%R$H;4$%R\"4:*%PK+81R
MMGF5UE/TG$;"; A6'KA^K;31P4OZ&"\WQ_K;&6<^Z<0=&%EWPZ?$JY0DD,RB
M=$:&:)N7C3Q%T&E4++7&UG[ZZ!U<M^*2/'DF30:&LH"*CMPD# ($MTF[[-!C
MZX3_3H2=1G72:&#;2S^]@^ZVYN>FH><L%6N]DH)N:19!$;/@DTP0B*NZ*DVQ
M^ZN;QD7? PHGCHFUA\@0$!ZFKVX]@O=8HT1U8NKCE:F'E\WM\O-;U<\-YN78
M;0PF\%@\W8G!UBFT#L$ARU"*9U9'R65H;<4<R2_8205U8'A:DS\]^TQ_Y6WY
M0+^[*O1U^K.KT)+GB$SZ#";707OT:)"HN 19%[=G1>?M_I*)5@(ZD/+3\#6&
MX&]+T.28&N[@#3^8ZP_KL%S_%-97>3ZEH[:<>(XF.>(>%021R3O+VEN;E3%J
MI(;#1AQT@?.C8K#U,=@?$!T<AP^7<87_NB15_?RU=JG<Y*]3).->:P4YU'F"
M*=?A!60+*1N,X%P5PUK;KEM(Z<(QGQ*@+534)]*N,YI!1*V"$R!C;8KB@823
MDJ5_RYE[IW,2.\TR.PQK/926-%'U\_#90^[] >BFZC-DH^E  6>YBL8@>&$*
M>.XE.70Z)CLR>'JH+VFDY*>ALX?$.X#-P3?X]Q2E8YG+S#/(P.D69R& "UK6
M,;=1Q:1R:+Z$JAWU7<0<3]K0VP\(IW($SJ+6W*"0@#ID4)YK\)+,5^%*$$8F
MUCY<N1-A)^ZA[(F:?< [2(53E_KMQ-&+S[40[D5*RTO,9[YV"@5F04<4=/HS
M@V!4!A&"#&B*#6*W5IGAWSYQ+^0P$!Y#7Z=R3=)OIJKZ<SPSD?/"R""W7A-[
M*C)PWF7(]16B\Q91ZBDNS.\DGOB;?\2K<T^UG@IJGY+RS>H&A=*[X,F8TMF1
MC*,"1P"$H)U7)J#C::1<QL&T3S,H\A1QWAH(IYT'/>,_\M$^$WK&CYD+O<_/
M;3;T/_:68YTILUHOWD;ZP/QVG7F+VM*G?FZKJM*=:3]RWCC;4DIM3H[>T!M3
MAX<[ZR,PE[*U.>A2V#AW[>CUI(^/)7J#ZS>+>;I<U@NUMIM$52<^.I'H<@L*
M(;J<P.6LLZJSU'/KK-DN='7A:3;%SHY#H_;73G_W_V_SK[A:UY%KM8[\ES!;
M_C-<U)ZGL+I<;M9 K%Z%U:?Z?S__ZW+V-5S4[\WS[V'Y!]T,\0(_($GBT!+Z
M,<@X\%8<73*-+M%;RGZ:K=+%HA+W?>]S8B;Z4NJRA8($SE1[E12K,/48O#9!
MM:[$?XJ>@SO9,*Z_2_7%5Q)J%?0OB^4'$O]5T%-DB5$Z!885 \J9.IF7&<@Q
MT#DUG@?7.C"W UG37I;-,/*@GZVQ0CKP$.N!?C'//Y[KJZ$\C"N5DRU0!+T@
M*BL//EE+EK]3PC@K-&^=T=A.S<0-:JT5_^#I;:*%#O#TGEZ1Y:QZD8_S]/CO
M7F<//7FRP9%)P;FMBRIE@6@\ Z^D*9Y.J#'M)]CN3^_$)=*-,/,@4G D!78
MULK$->6A&(FYQC64M* BTND5R50SEQF4R(QK/LWD]NM3^Q;'TO@CM]X>XN\
M./_X\'&YL8R_?7\5;BH@K+?&H ?);:KVA0.72JF+?HC%H(7/K6W0[=1,G9F:
M"%B-U-,!T'Y?S/';E8_UR^4\WXXMPQ1<"!DR"R0<6WCMAZ][@01BB 6EX8U!
M]C@E4R>1)@)8 [5T *Y7B\^?<9EFX>)=^(++FQ-25(DZ:+ >R2V*/D%((0#+
M9#TXU)F[UD5SCQ(R==YFJD?Q8*5T@*Q?9O,PKSS\-B<Q7F[6PU?#M*@4(RKR
MD:2O;&" $"P#9'1R.)H4FX\FW$+*Q-,(1_8G6\B_ QA]7(;YJM0AP?/\ 9=?
M9VF3EWR$NU6M:ET]_D?7Q:[.&(XL%,C2.E!RLT]!1]":,:>B]JRYA=^2_HE#
M:BT M>A$NQT@^PD+E<= ISLP8"8C.>\D5V?),RK6,>]442'L-!C\> [$:*B;
M#B&[.Q1#U+4W\+[B,BZ:67W++XNZ8/3'1^B:G>*$%B(ZR-YZJ&*!H'-UR;G(
MRBNMVL=!GB)HVG>Z&P"V4UH'E]_C)J[.DNP;66=O:T6>>5$0=9+@0[2Z>D^,
M/[5K_KA^QV@N;4>(.U1)D]YVF[+D%^<X3]]>+KY[Z$KDP%U*(*04)!$;(6*J
MR<!D>/0,'Q27;*D2?_"CIW57)X=- WEW<#-MQJF]#.D/S \N69MS*D&05+RC
MJS74YFTK;%TF(86P+ K?.K#[!#D[P4W_;>'66F$=8._WRSF)\4NX>+-8W_*@
M,[)8/ +=KW7VLD%P=5*W-]R@"9YSV]H9>(R.G=!F_O9H.UA%4_=5_;)8XNQ\
M_NN"GMCYQHDGB5Y^(?ENE!DN'ARBD*22-8',L!ZB&!"B80QD3+E@5#8KN].#
M.?C3.V'._FTQ=P1]=7#I?4B?,%]>X-MR/PCZG;/7MQT0UA@38^!D0V "Q;4@
MYHH'9[+&&)B3I7D__Q ")Q[C/G)0>3Q==0#$+=4TZU=AN?Q&1W]33W@6;++.
M5),B:583?,1/<A*B+-Y+% 6;3R/9B;")!TR,!XS=ZN0.T-)PZ/DKZ,UQW<;L
M>Z2 ^M5UL3T64R=<%@A%!+)@!:]#)R,PNL:9T-;ET+JX]PERI@W%'0]DK332
M1;3W,6;NM',$+F-,7D-66=<:: V>_@=DT%)E%8T)K7N-GJ9HVB=T6I#MJ9=N
M<7:&QJADZS0@SDA "<E)<M:"+RI)%XL5S6?B/$;'M*&Y:3$U2 ?[VV&+=;@X
MW#U]V&%4W:]'V8J:2TSD<%MER9#5U<^I6UVY5"Q[QCB[7Z6TQ2_=_9O3AMS&
MA]&8*FB&K&.V MX7])W_9-SFOQT^/'Z[WU#NC]'@Q^KBI=K9ZCG6Z0."0=#!
M@!:":YDC.MZZ-WCR!C^E%5F=# JO&XJ%BL1R2>"=DH7EI*1H/4CFM!O\AF!D
MKP:_ 0KI-[!1B[>XT@8M605>^KHSR"N(CMCQ7+KLHT#41XIFG$:#WQ#%[][@
M-T0+'>#IH,)H9@MYR0;K*E$2(3<2HF8:;)32>:E,<>W'"/T-&_P&8:9E@]\0
M!78 UB?J]B37.C(3ZPY)\K!KR9Z/Q DY2"D+;Q";-\[W6F9Y/$3L7E8Y1#T=
M .WQ:JD0DI.)24!&!H@RK(!/G!X0Q:.(V8;,6D?7]B]IZ[,-\!!X':Z4#I"U
MK?)>II2UDY'8J(/83/1T0,@X$<)F;XTT,K;V"TZWE>8 RZV%_#N 4=-Z!J^T
MQB0BR5/4_K9<+V>70*E2LO0ZE>9527__5II!@!JSE6:(=CM ]A-&!"LH@M=D
M1)000*'>+*E4$'@,'AG]IF[=S-"KC3<=0G:W^8:HJP/@/=V3H2-W+' !285:
MA) ".,8L),F%1I94C*U;]/]=&FD.@5\[I76!P,=[-$)A+&LP,9*!B['N8)$,
MLO%.,L],L,WG=OW-&VD.0]RA2NHBP?]DI;UB/ADRJ"-/=0\O_2,HHT%F9P0/
MUCEO&R/NT-:(T^C$.01WK136P3WW:-T]2< ;'BTPF3/=U71X?+ )K+,>-8^Q
M_7K=O5LC3J,1YQ"T':RBTVN-0%XMTB*).U]K+##3%>XE"%O0$7.ZN'L1F*.V
M1IQ&.\X^F#N"OJ9&X\-.2I.\R'7-/99$U&-=WV3K(I*DG%:<2>G83FC;KW/U
M-!IM]D;38?+NX(D<5AZF78BLMD:ZJ#6]_Y;\',PU?Y@P>,^X5*WG,/W=&FD.
M""F/IZL.@'B?I7O"_+Q8KJ\V#*S(.%W57+:MRT9M!!)?!)6\AQ *0IUA&[-"
MZV3K8/)0&D^IO6807.Z[#&/J;L+BXAWY2^GR\^5%6&/^=;E8K?XQ7^+5.HQ?
MZ6UYB84LCH_AK[-L4F%U\85.FP2B)]?=*P7H[&:(K46GC@O8W0@_I?Z=$5$\
M@I;[OW:W,OV:?G67Z> DQE#;FU(='T02MU*"SC$*GUDN]Y=H3@;M'P@_I:ZA
M*:"]OY8/Z(\\KX1\' WA=_?-W)7"&3K/K-06R'HGT\PH28QFA.*-T"6J5$3S
M02T[TG9*G4@M<=I$5R>Y3NI-6"[I"U]QW(Z1!Y\9OS_D:<Z.T@T2C2CH'1B-
M 11#<K\8>H@Y,RXPL<B:3Q.>K!NDKF2;S2\7E_>N]7>+U:QJEHO?Z6]\6KU=
MOE[,SW'YYK*&,=Z6FS]?G24RU!4O&DQ*&50Q''RV"K0-@?S5XD)SNW5DEGKN
M0AF S6%=*,<%0@>F[8_UHV>EA!RBYU"4),,\9;)C-%-@38XF>Y^X:EU8\2,%
MT_I1HZ'N #&?Y,N\R8_6/WT]"W%VL3EK8?U=O.-V>.[V\2-T>>XAA6.\[<5)
M%JQ.$&O&1J'*X'P)@,J*Q+1(I?E@BC'?]MN??27O%S_(^UH?^>W\?;WUE[/Y
M.?V%-PNZWJ]_N8FV706>B[.>%R,@(!<U+A'K ALRH%-*0NB4K1S-Z#F4^([?
MZR%X>U B/HER.WB9;QE_^>WV7_]SADLBZM.WU_@5+ZXJFY5,4?,$DJD(RD4#
MWD?BC[OBA7:H0^O)SKM1U@D>CPN;;>!MI\.>D'GWK7O(WW7:6'(RCKCRD'5-
M8Q!C$%UTQ!R+26<3HQP-H+L0V E.&R)D&PB;JZLG+/XV_W*Y7FTDQF]*WI4S
MA=$[4Q>GD\%N-9W<A" +XQYYUJKY4.DGR.D$9^U!L UN!VJD4W")FQY:;:V*
MPH%5C)--4ZMAO'(@O40G35T<UMI3?H*<3MSF2<"UCT8Z!9>\J>VT/GJ2!Z (
M!53)'J*U I(EF7DIF-?B"."2/?0:3 NN?332 ;B>&F\AT3+G4VWZ]J"2*Q"D
M,9 =,LM"($NB=1KZP,$TX]];DSH)C735 >H.&D:@9>*6"0[!9+J^E0_@,IVU
MXG-VD=$!:]YR\/<<7S,$,RW'UPQ18 =@W;)F&!U#FXCV8'2=\:\$.%MJ23N=
M<)5*RJ;UZ(<#MC_W.;9F$!)VV_X\1"T=@.N)1FRT0BBE:MD[&1&*9WHJ^*:X
M61CF>)0N=[:"LL_A-8> K)%Z.@#:XPVPW&?F(W?@+=;*'T9,>(5@H@H82U&Z
MO8W77Y?R9/ Z7"D=(&O;*!7C,Q(;"%Q&!!6"@L!<!I*(SZE(;IJOL#]D-M+X
M?NFT&88&6NH ;$T;U:(,+%A)'GH1Y/EKS+5&PX)Q,NE<8D3=>I#QWW^"TB!
MC3E!:8AV.T#V$Z:&%<%IE>B@\QJK$HH>&T<BM<*8*$HVV;3.3_Q;3% :A)#=
M+<,AZNIBJLC3XW@\]QZ9S&"*3G5^@(,@@Z1_I)P"0Z%5^Y70_QXSE X!8#NE
M=7#Y/6X(1\ZS<$9#B-R *B%"#$E#<L8HCMI8\[\SE(Z)N$.5U '2GAK($V5"
MPT,BX5@-RM/M[9D-54)D>8<456[>>/=O,4'I$-2U4EA_PT1<<%;3,8%DD@?E
M;"%+60K(4AM,4G),]RH#F@X3.8UQ2/M IX&\.[BI'AWFY'@1F9$D1':">"!Q
M.!%JZZ@HA?&LK&T]Y.UOOHK\D+OI8!5-?2D-G]^DZ%9-FFO(MC[W)#MP-A20
MRJJH@JCM2SM=6O_.J\CWOM3&U5<'EUZ+8.GKV^YIQYGD)G*2LZDYFKIQ,27R
M@BQ/016!@C4?S]^2@6E-P$X"UY,AHH/C\,R.;8]..<,+D*]%7KZ6%EQ& 9$I
M)XVW)M\?1]>D1*O7%>@30N614JU&>NL A8\N'A51%7*S'# 7%2AF IUN$4%;
M+;V)QA39NI%][WVP71<&MD'<P3KJ &?/Y>'O'R,G;>0H$!C3$NJ)@E"(VZB9
M9(F\/69;7W\#23S]S',;=(ZIV0Z >R7?1UI;S]"GXH16E?PZ"R G"(X)<*QN
M"!1.2-NZ47@K,:=O3;8!8QMM];=,^^7EBN2S6KU:?(ZS*X>PR>2CG7[N@4,2
MAM/>:/[!(Q\FY&T@\B+1!74UKN6V0SW6= </]**:0@A)2)Z,RW0QD3>?34S,
MAM;=7,,H;#?"^.:[=SZR>OGMSJ^N?#O'(C>>#HEDD202=6VD,1:,]<$%+CGG
MK1_AH31.ZY6,B+#M,XU'4%X'[^PC7&UJCCP7P3@O06+2)#/+P)4JO5@R<P:1
M:!GI5-XCI9<AQ6/H?]%>&9UBJO[K$O$Z6LN9)MO3&#"\SG.JHY5]C [0:V6"
MQ6ADZ[3PLT3U<:4=I/H=X+2_'J9.K/Q*=FWZ]-L\W83AH\B)>P$ZL0C*) 7>
M.0;)Q"",CTI%]9P=]M@/[@\'!^ALT4B ?=XJ=YR76)0/7(%+Y+>HN@@E^)"
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
M9 C).R^CHC]*K>/83]$SK7UX7.@UTTL7FP]WD]U_+<D^?EO*ZBQRI:1B"K+
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
M)+['SO/O1<PQ*@ .E](DM0$LB21TTJ!3H:.!6H(+68--4;KB [>L]75RU-J
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
M[UB<]S$T/I)>)&HW=)U5WJ*M(KJ?_O4^?<)\=8GS\N9JM5R%V?HAIPXW:C8
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
M#_O\<RHAV0<^=Y[W3Z":_DKLUBL^ZDQ[^H"?_\\5,;194;K^/AT6;Z_)W&Q
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
MY9N-T[^V:\PA!FD"1!LBV;47$'PB,]>L))U,S+[YB*ZGB'DMZ>QC+O,VFNH
M<K?IWYIB9F0MK/8"A#J=F3D-,:($@5E&[:UAO'7=VD,JQHY(FJAWWE36/:!E
M_OGS?+;FXX?M$<LTA6&H#=BH"ZAB#?AB&*!U#I5+4;G6)]-#*L9%R[%ZO0^3
MXX3< 4P:/*6FDC79$[FOG'Q8)>I3:NUK38637\#)*<@GGTG9IM!KN'1J'S?C
M:74_(MKKR_'D(2_?.*TN[C_G>5JF:2V$S?:#-V6S>/FBE/4;?>V]\Q8MAZ1K
MUB!2N!9,$&"L8UR8@(;?>SA\^&;=B);. XO&T)F/I\=S@NUU$F*=9'K M5<A
M.Z$*..5CG8J7(23ZRAB9K5+".6::H_=9DLZ^(NPD(&ZGU5X<CB,F</P^GWU9
M=R%?F_;ZIY<3B5G$(#)D%NHCFF+@(SET&KG*A9'%N][&O3S!RME7>AUB%#W!
MHP,K>;/ZA(O?IB'6NIHIT9]CK/9MP>12]S I3_23J6NN/=/&>86MX7V?AK.O
MG#H&ET<IY!P&&KPCJUE,ZXVR_K<_9M/5\AU66UJN+>CWL*@SIK]@TW*-O3^U
M>?'&<7R?II3#I.25R YX=!3DU2Q1$)P!=TP7*;PMHGF]PIF4<E"LJR*F )S\
M(%#:1@@J*\B:<Q8]F7S[4N_OHI1C'\P-5\JQCWH[N+;O9GBSS1*-3V#T>GIC
M5"3"K(F#X*4/3+#4>N+2JRSEV L$SY9R[*.1#N T2/I6N^*L90%09UL;\STX
M3_%BXCQ*K9A2Y>3ER&=>RK$7K$Y1RK&/CCO ^:,^V/L_MAF5&'2T3EO@%NM-
M5"L#5"I@,1>'R5OA6X^,>9:@SE]>!\?+?"CE]8?$+1-"E.P,%T2ZD75J.P//
M32+Q&&]-E):7UD[FHX1T_EPZ,O(.4%8'B*OS$Z>SC^M[1&5A/1<*N,P>5& ,
MHJI):6V$<H4LJ/G(C%L?_UJ*A8YQ%P_51C] VMI5+'7&C'<@K267)!@$%T,
M4[?;1N%EMJT+=N\0,.XE>; :'X?# 3+M !!/V-':4,B6R-[>S'![:%I7M,^F
M1OLRD6A4'2;@!=@4DD-&SFS*IPD*'B.O"S = H+=?/VC-7(68/OPW_F6-9>M
M*B@L!.T15&0:?)$%6 [2*5OHIC[1M+W'R!OW&CPEV [32 =@^^%J.9WA<GF1
M_L_5=+F>E;T^ZB./QA=O@1G!0;'U?%:T@-EH$622D;?VTY\@Y;64EQWC2[70
M4J=@JU\N\#J&"49%9\EF>.V*4 (C1*8*>&]TY &CBJU]K1>)&O?*;*+Z'>!T
MN!Y&K^J:?IR%R_=IBK.$RQ_GBS^O!T7F)(A>#<)X.O(Q&+KWE0 G4J9X."4G
M=BS2>N(3^D/&$5J<MQ;IB+A8+E:3=_5<7IN*EYBCS0Z*X.3_,:LA!H5T]7N7
M42=M\DY]P/1;;QTH]+=OA\F=#QRYNF/4&^MPR?< E^L&.A,RD28A,57G[G )
M7B<!=+Z2W5#HH,5.9?B[ &;,D^0(9=U7]P&2&UGA_YS.II^O/E\?;$59P5RI
M-)/;3G^!D"VOX4$RWFOZOQ9GQ)T/'5GIAZALWD)^8RL^_'6+<)VDI-B, &]$
MJ#6_";PQY%%9ZQE=:=F'G:;4OJ3XVQ\Z3ES<3/$'RZ^#$*1![2,ZJUV=S!)<
M%L0Q9H@:"Z2HR>T.)%7?S?:OW_9JTAINRE@74?2)=7_.:%__L7U >XN+Z3SS
MB;',Q)P-6)LS*%DTN& #2%LHCLC&)3[(/.]&]'=>:] 8>ZV@?RP0>C&"0_H@
M;O/^KJZB79($4D7-1YP4)EPQM@ OUH,B%QD<A@BU_4%[&Q+R0=(\K1GIO!#B
M!&8Q*C1ZL8]#=+ I=?YUMEPMKM97][JSX\.G,-MV$/V#?L5J^>ML<W#<6^>\
M_L>?P@IO1GE.9)!,6E'G2I!;JG+)X!GW$+PG'U4D*>[W!(]WP[1F_NQ;U4:Y
MGD:%X.@/WX-);;.<]EIJCXBI4&P?DW55NW5S+@DL"L6 Q6P#CX&5^_7X+_8_
MGYJ'L^_!.\3@S@DW'5R-%Y?KG\'\N,CJP.G9DH)2XT)BS@'R0!=^J0ZQEQ(<
MT>2DR,)@ZRJ,W2@[^]GBQUPJ RBO TC>C/W#Q9=IPL=YNVG=W@PX^#!?A<O;
M__[C?+GZ?;[Z'UR]PS3_.)O^+^:)+H@<)8><5")91P=1)A*]<D[X%%)AK2.:
MP9C9"?CFE0*_#XB\9EO9W&^_S!?;;]6?XQ-3;" O4=*59NNF0+KFG$J6+C<4
M.147F6F]Y>6T'.YD5?9OJSHUF$8/1&K/R*_+Y17FGZX6-R^%FWDAM\I3-M_X
M?_ R_Q#2?]8<WVD[V0AM$E7A,G()4JH"2LD(L4@%.MI0DC08K-\MN&A*UT[H
M=Z\,_6/K=VQH7\^^^7%>YE>SVN#_[^GJTX;1]U?Q_\.T^C#?#+D@N4Q0B6(Q
M>4@RQYH&]^ 8$V!KN1YG(CG)=H+N?I^[$S3]:X3F@/H9&WJ[6=,-;QN;G&!
M*4PF^15?A^F4 BX3KW74A!<J>L[V>)G9]^-W2[*QUXC$X=75!2 '>3?ZYC;-
M\OOYY7;BV(21/&0V"CA# TJ0M7KD'KC*7,14H@\[.@(GIGPW,WAMR>;^0?)Z
M+>CM8IX0\_(7 L.-H+;7(,EJHIE/V@@)"0V=,X&\+[KJ#!AC/>:L52YN9%-Z
M@87=;.JU9:K/"#8=//@<+*C[<V)_G:7%^C]X&+Y/;$%1G%K/I$F@,NG2%QT
M3<Q:!!X$GJC!MRE?N]G7WQGH$R'G' 9=7I=USLN[]W^\>W_Q]OT?89;_2?]W
MD5;3+_0332=<[OYQS4=;'LCI:69:.BETEC: "XX\((H<( AI:S6WXL)0;.N:
M;Q<_DYF6RKF@2#:@;-&@7&(0#3HPP;*BN?6,-1?-=S'3<A_,#3?3<A_U=N">
MW!UU)T-@T7H+QFH$Q;PBZ:&$R(./WCK/1&A=-? :9UKN!8)G9UKNHY$.X#3,
M%+$B10XL@70UQ>M$A)@B@ZQ\,.A3M#F>VKL]\YF6>\'J)#,M]]!Q!SA_?BPB
MD]D[R^I&NMIYF$FP3M>E'3P[7;B4)K6^XK^[F9;[X&6OF9;[**\#)+[%19DO
M/H?9-O^_W+)A4!6IBX4BI:P3IA+$Z!D8Q;7G/@JO6\]5?8*4SMLY3HV^%@H;
M^]'XGV'Q'UQM)':+G6\YI2U/66=RA P#+P(')9VC&X8%T,0,65.NV<V=GGAW
M_,#..Q9.!;7!=-3!>=?@48Z;A,+75SAA7-VJR,$9[>C )U:-E=KG$TVH:]TM
M?0;S6X\)C4ZL^W-&^S:9\N9JM5R%6:X]@?/+RU_FB_J/DVAE$&H]=BD&4"5)
M\&@M,!85B])FJP=9I]:<D\X]V\9X;&4.[<!QSB:R>W9_F]8/QMI<!\HP5Z<1
M90P0<_3 8@CH*&(._=P;^S)WIH;4$,DGZ_\\!E8'V]N?F_+855BL.K>ZN^VQ
M$\V+-B4'0!9C7>V8P7GFH5!(%)WDEC6/8T_%6^>!\6NRN2- ]:JON+O=L1.N
M?5&*:3"E3J2.#"%(66L6LLF1!3JE6L^Z/15OG3\-O"9C.P)4^QN;WQC;##_6
MOMH/9V!SI+R"T]L2*JD8H0(CK[]PDE =G.R=!^&S(IE%E4TWX]OV9^],IQJ<
MH^4=!ZWOP?CN.]]T^&15!X>E1-I3W L(&#@88Y(T(G(EFU?C=!73]3=JX1P-
M[QA8'1G3_3S+YV)S+\XZNJUHS14R9CTY"RS4;0((CK/:DBF=D,*CZ&>FZ3 B
M.-/X<.3'S0[@^*I#QMW%-XF9&:^= 9&5 )6U!F?KOJ,ZLBRJHDMJ74[8 ]]G
M^I;:@^%T> CLA>+O[GWV9?$IX8NS7( GMX?T7_>SU/YV)H-1J"-+IUH^V.D$
MS?YN\._J)!@2SZ_:$;C[S+?#.1HUL\HBR*!)<"90#+=>%BXHHM,RQK3;"ILN
M#H(]F3_3U^?OZB 8$L^O^B#8OCI>$:I?EAKSP; H$,3Z_<9)0H%*BN27ZUX>
M&0WKIO2H*>=G^@S^71T!@R'Y5=O_'K&4%L4%+@VPF.IL(4S@G-.@2E#%VR*D
M/9]Q^HU?!/I[B?^N;'\@%#=]W1]P<,*M'H&U[!YKDGK[_H]ET_$)^WYH\R$*
M1W%]FE$*-@5CBB\@T99:-2_K:$H+UFKT*C!I[\]O_&Y&*<3"BI1&@2S5^F)P
M9(>HP'OK&',1'3.M1?-=C%+8!W/#C5+81[T=.%AW.ZQ5R1I-22#J]: 4?>5B
M#F"LJUL!I7>E]6O'JQREL!<(GAVEL(]&.H#3,-V$Z'SFWD IS(+RG(,/SH)G
M*HA4E.:F^8GYRD<I[ 6KDXQ2V$/''>#\J7YH&:Q5L=X\P9!<A3-D\R5"W?E=
M;#2Z_0BI8QK8SVQ\PCX8V;&!?1^%C=W _E!@W^1YB[\/8?$15VLS%\&0&R3J
M.%=-?TCO*6@U)#9B--4J2N[$2P'081_]6CI_#[G)3Z"LLX+BUGP]M[GD)( I
M#-74$%RMLY(%67V$X%[NN^MNYP\?YS0\!1 .QMP!6AD;=0]X(#;G5ZO?\ M>
MOIGA]4P27XQP44(*L;9N)+Z^(< &;1TBW162[X2SG3[N7)!UB+KG@\J^9S1]
M^._\FB.A')WU%J*OQJBMHJ_(2XC>*\5C5FCCT6BZ^;AQKLV^T'28[+M&$P'C
MVD)2UMF'Z(%S+386$ITT@$Y8CD((KXX_G6Y]X#A%')TAZD#Y]Q!H;D.@M6/
MA%*N'J="*P1E)=E#B0("$RCI>$TNMZY*O/WY(]<#=?$Z=[ ^.L+2UM24#R63
M08%1+((*CB10J9?"\622T46W?E;KZ4'L<$T^ 8D#Q#KVI751-70QR_1_XH?Y
M[*KNL?BX")^W9Z551?(@+/#(;5TP9R H*T [%"IGJWG6.]U5SW].'S@X1'WS
M8639 RP>XR&)PD(DV22T"103A0PD*B#Y!&TT>@R[;>5[X@/&?31J"81CI=?!
M;=&@E4Z2LX5*)RB^U*FTZX92(>K,(!)$SFC0-KYACJ=ZY)+'+KR<$^N^ [3O
MN.2>I":\K?-N!8KJ)T3P0CNP.6<539(VMYXULQMEG:=[&N/E?LJ\O?+&OH*?
M717\V$;,VQ?.Q%M,Z*0#(T.FJX87<$@Q;R+;)U9#T&K'+77'D'&FC63'8?+$
MVNL4IYORV9<833E&2\8(Z&H5 DN1&"6#Y,)X'G64$8]:4+X3%6?:Y30<2MOK
M;FR0;IX"WY2="F=QD2H /N(D6&N"41$DJV.($GE0WGL#0G KK;!1[KB$_+#/
M/]/>FP; /(&^SF$M8%V+U[1R_?8O;%Z5_B2UIZDX9\8GJ2Q%.E[0I>F9A,@\
M!^XUD['H4IAJ[)F?3<6Y5%Q@4)"-7\^"$."8]V H0N1H.?>F>?_2=U%QO@_F
M!JPXWT.]/43:=PI1BRW&E$S.@V(&E!$*O-21V)#<!('6^+^7][4&P;,5Y_MH
MI ,X#5)IFBVB38R!5,J"PAJ!Q1J+>1VB"MK(+%N?F*^\XGPO6)VBXGP?'8\=
MP.RZ%LEFSRU9>YWU5,L'58%H2,A9.>--G3*IRDX12\O55>=59+X7+ Y97;6/
MCL[A?'TY#HQ>&HRR=I<@KYFT )XN)4B\U)R[BKJ<?!7J=[.ZZAC'X,2Z/V>T
MW_397RR75Y\WS?GOILO__+) _'5&!.)R]2ZL\)_3V?3SU>>)DCDZ(Q)PG>D4
M4!C!FZ@AR,2C9"A<Z&:NU)Z\=7XI-,9L*Y,9$D#?A6&%O]9RD:I@5D8!,YR4
MYTJI,^\0#!HFDBP"53?;0/;D[>SS:7T;U@$ >FV&53/E]7G]7_-+^C67T]77
M*ID)0^E#K.]<RK+J"4N(,11(*N3HLV19=C,2>7>VSC[QUXTY-8!-!Y:T8Q6)
MT,IRPQE$00PIPV(M%>: .7)IB@K!M8YF&I8 ]9PO/ ;/ RBO TC^_/G/R_E7
MQ/>X^#+==JX_X.UF!MCFF>'#?!4N;__[C_/EZO?YZG]P]0[3_.-L^K^8)\P7
MS25/8!$]&:@*X&P4$'G)/*2ZDZ3UHHK!F#G3075M@-\'1%ZSK6RJ8GZ9+[;?
MJC_')TI+;;C,8)BK15K)0LR60PP*E12!E]*Z>^:T'.YD5>9OJSHUF,ZA<N7G
M]V_?-JU<N?T+FU>N/$GMB2I7E$_.)@\F6$<!9\[@BA*@94Q<VCJ4]WNM7+$L
M<\82Q>)!D;N6JET@!>0B%2="P!CMW[,2#ZI<V0-SPU6N[*/>#CR,NPEM[;E+
M3!4H,M&97>CT#MDA9!-83B46AG_/2FP-@F<K5_;12 =P&B9]+;)A=;*!L^2Y
MJ^PL.,D$9&7JR#_K9&A^F;SRRI6]8'62RI4]=-P!SF]\Z7HE;8L@A,U:&FZ
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
M_CJ"ZM;Q>(+CB6<6T<D F6RYUEQ[\%)SD-E15.M3,:[UK*3=*!O763P94)X
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
MY\()F.D)'@B+A;YTINR3)?PO[/!0?^O,7:P\.9T%K%ZK-]DGU_LB;[BZ'LC
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
M48\S!!0EI.N>+WG;Z&;J9^'2/KO>EU2[DL+*L]$LHD!G>HM$':L5JGIB A>
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
M?U!+ 0(4 Q0    ( $6O55B>E> 8S@D  )1'   >              "  0
M  !E>#$P,31N;VXM96UP;&]Y965D:7)E8W1O<BYH=&U02P$"% ,4    " !%
MKU581X',M%88   ?G0  '@              @ $*"@  97@Y-S%I;F-E;G1I
M=F5C;VUP96YS871I;VXN:'1M4$L! A0#%     @ 1:]56&_$T^]Z P  9A\
M !@              ( !G"(  &9S;'DM,3(S,3(S>#$P:V5X,C$Q+FAT;5!+
M 0(4 Q0    ( $6O55B0)#%FU0(  #((   8              "  4PF  !F
M<VQY+3$R,S$R,W@Q,&ME>#(S,2YH=&U02P$"% ,4    " !%KU58-,+^X&((
M  "%+0  &               @ %7*0  9G-L>2TQ,C,Q,C-X,3!K97@S,3$N
M:'1M4$L! A0#%     @ 1:]56$2HT&]Y"   K"T  !@              ( !
M[S$  &9S;'DM,3(S,3(S>#$P:V5X,S$R+FAT;5!+ 0(4 Q0    ( $6O55B
MXZP@W 0  & 6   8              "  9XZ  !F<VQY+3$R,S$R,W@Q,&ME
M>#,R,2YH=&U02P$"% ,4    " !%KU58'RL*$>($  "'%@  &
M    @ &P/P  9G-L>2TQ,C,Q,C-X,3!K97@S,C(N:'1M4$L! A0#%     @
M1:]56(WV-QYGC0, VQ4F !$              ( !R$0  &9S;'DM,C R,S$R
M,S$N:'1M4$L! A0#%     @ 1:]56)+>-:R@&@  =CH! !$
M ( !7M(# &9S;'DM,C R,S$R,S$N>'-D4$L! A0#%     @ 1:]56"8[@2V3
M+P  #NX! !4              ( !+>T# &9S;'DM,C R,S$R,S%?8V%L+GAM
M;%!+ 0(4 Q0    ( $6O55A>3(IP(HP  -*V!@ 5              "  ?,<
M! !F<VQY+3(P,C,Q,C,Q7V1E9BYX;6Q02P$"% ,4    " !%KU58^[Z*R32<
M 0 'Z@( %               @ %(J00 9G-L>2TR,#(S,3(S,5]G,2YJ<&=0
M2P$"% ,4    " !%KU582P@.M-:9 0",YP$ %               @ &N108
M9G-L>2TR,#(S,3(S,5]G,BYJ<&=02P$"% ,4    " !%KU58RT?>N4(A 0!T
M?@$ %               @ &VWP< 9G-L>2TR,#(S,3(S,5]G,RYJ<&=02P$"
M% ,4    " !%KU58Z5182R1Y   \W@  %               @ $J 0D 9G-L
M>2TR,#(S,3(S,5]G-"YJ<&=02P$"% ,4    " !%KU58ORYHG %] 0!"!!
M%0              @ & >@D 9G-L>2TR,#(S,3(S,5]L86(N>&UL4$L! A0#
M%     @ 1:]56!,T#!4I^P  \.\+ !4              ( !M/<* &9S;'DM
M,C R,S$R,S%?<')E+GAM;%!+ 0(4 Q0    ( $6O55B7S-P%?AD  .#T   >
M              "  1#S"P!S96-O;F1A;65N9&UE;G1T;V-R961I=&%G<BYH
8=&U02P4&     !, $P :!0  R@P,

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>138
<FILENAME>fsly-20231231_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/2023"
  xmlns:dei="http://xbrl.sec.gov/dei/2023"
  xmlns:ecd="http://xbrl.sec.gov/ecd/2023"
  xmlns:fsly="http://fastly.com/20231231"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2023"
  xmlns:us-gaap="http://fasb.org/us-gaap/2023"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="fsly-20231231.xsd" xlink:type="simple"/>
    <context id="c-1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="c-3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
        </entity>
        <period>
            <instant>2024-02-16</instant>
        </period>
    </context>
    <context id="c-4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c-9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c-10">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c-11">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c-12">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c-13">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c-14">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-15">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-16">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-17">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-18">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-19">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-20">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-21">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-22">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-23">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-24">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-25">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-26">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-27">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-28">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-29">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-32">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-33">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-34">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-35">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-36">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-37">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-38">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-39">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-40">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-41">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-42">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-43">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-44">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-45">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-46">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-47">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-48">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fsly:CustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-49">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fsly:CustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-50">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fsly:CustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-51">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fsly:CustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-52">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fsly:CustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-53">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CapitalizedContractCostAxis">fsly:CustomerArrangementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-54">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-55">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-56">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-57">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-58">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-59">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-60">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-61">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-62">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-63">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-64">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-65">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-66">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-67">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OrderOrProductionBacklogMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-68">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">fsly:InternetProtocolAddressesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-69">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fsly:BandwidthWithThirdPartyNetworkProvidersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-70">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fsly:ColocationServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-71">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fsly:ColocationServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-72">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-73">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-74">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-75">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-76">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-77">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-78">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-79">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-80">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-81">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-82">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-83">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fsly:CountriesNotSeparatelyRecognizedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-84">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fsly:CountriesNotSeparatelyRecognizedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-85">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fsly:CountriesNotSeparatelyRecognizedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-86">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fsly:EnterpriseCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:PriorRevenueMethodologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-87">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fsly:EnterpriseCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:PriorRevenueMethodologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-88">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fsly:EnterpriseCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:PriorRevenueMethodologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-89">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fsly:NonenterpriseCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:PriorRevenueMethodologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-90">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fsly:NonenterpriseCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:PriorRevenueMethodologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-91">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fsly:NonenterpriseCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:PriorRevenueMethodologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-92">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:PriorRevenueMethodologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-93">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:PriorRevenueMethodologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-94">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:PriorRevenueMethodologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-95">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fsly:EnterpriseCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:NewRevenueMethodologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-96">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fsly:EnterpriseCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:NewRevenueMethodologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-97">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fsly:EnterpriseCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:NewRevenueMethodologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-98">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fsly:NonenterpriseCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:NewRevenueMethodologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-99">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fsly:NonenterpriseCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:NewRevenueMethodologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-100">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fsly:NonenterpriseCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:NewRevenueMethodologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:NewRevenueMethodologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-102">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:NewRevenueMethodologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-103">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">fsly:NewRevenueMethodologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-104">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2024-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-105">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-106">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-107">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-108">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-109">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-110">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-111">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-112">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-113">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-114">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-115">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-116">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-117">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-118">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-119">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fsly:AgencyBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-120">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fsly:AgencyBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-121">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-122">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-123">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-124">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-125">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fsly:ForeignGovernmentAndSupranationalSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-126">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fsly:ForeignGovernmentAndSupranationalSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-127">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-128">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-129">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-132">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-133">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-134">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-135">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-136">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-137">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-138">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-139">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-140">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-141">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-142">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-143">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-144">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-145">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-146">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-147">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-148">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-149">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-150">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-151">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fsly:AgencyBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-152">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fsly:AgencyBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-153">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fsly:AgencyBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-154">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-155">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-156">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-157">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-158">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-159">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-160">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-161">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-162">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-163">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-164">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-165">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-166">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-167">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-168">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-169">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-170">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-171">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-172">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fsly:ForeignGovernmentAndSupranationalSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-173">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fsly:ForeignGovernmentAndSupranationalSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-174">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">fsly:ForeignGovernmentAndSupranationalSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-175">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fsly:GlitchIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-05-18</instant>
        </period>
    </context>
    <context id="c-176">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fsly:GlitchIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-05-18</startDate>
            <endDate>2022-05-18</endDate>
        </period>
    </context>
    <context id="c-177">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fsly:GlitchIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-178">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fsly:GlitchIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-05-18</instant>
        </period>
    </context>
    <context id="c-179">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fsly:GlitchIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-05-18</startDate>
            <endDate>2022-05-18</endDate>
        </period>
    </context>
    <context id="c-180">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fsly:GlitchIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-05-18</instant>
        </period>
    </context>
    <context id="c-181">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fsly:GlitchIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-05-18</startDate>
            <endDate>2022-05-18</endDate>
        </period>
    </context>
    <context id="c-182">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fsly:GlitchIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-05-18</instant>
        </period>
    </context>
    <context id="c-183">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fsly:GlitchIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-05-18</startDate>
            <endDate>2022-05-18</endDate>
        </period>
    </context>
    <context id="c-184">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fsly:GlitchIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-185">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-186">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-187">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-188">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-189">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-190">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-191">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-192">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-193">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:PropertyPlantAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-194">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">fsly:PropertyPlantAndEquipmentAdvancePaymentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-195">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-196">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-197">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-198">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c-199">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c-200">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-201">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-202">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-203">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-204">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-205">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-206">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-207">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-208">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-209">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-210">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-211">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-212">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-213">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-214">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-215">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-216">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-217">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-218">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-219">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-220">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">fsly:InternetProtocolAddressesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-221">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OrderOrProductionBacklogMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-222">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:SVBRevolverMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-02-16</instant>
        </period>
    </context>
    <context id="c-223">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:SVBRevolverMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">fsly:LondonInterbankOfferedRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-02-16</startDate>
            <endDate>2021-02-16</endDate>
        </period>
    </context>
    <context id="c-224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:SVBRevolverMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">fsly:LondonInterbankOfferedRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-02-16</startDate>
            <endDate>2021-02-16</endDate>
        </period>
    </context>
    <context id="c-225">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:SVBRevolverMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-28</startDate>
            <endDate>2023-06-28</endDate>
        </period>
    </context>
    <context id="c-226">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:SVBRevolverMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">fsly:SecuredOvernightFinanceRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-28</startDate>
            <endDate>2023-06-28</endDate>
        </period>
    </context>
    <context id="c-227">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:SVBRevolverMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">fsly:SecuredOvernightFinanceRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-28</startDate>
            <endDate>2023-06-28</endDate>
        </period>
    </context>
    <context id="c-228">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:SVBRevolverMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-28</startDate>
            <endDate>2023-06-28</endDate>
        </period>
    </context>
    <context id="c-229">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:SVBRevolverMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-28</startDate>
            <endDate>2023-06-28</endDate>
        </period>
    </context>
    <context id="c-230">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:SVBRevolverMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-02-16</startDate>
            <endDate>2021-02-16</endDate>
        </period>
    </context>
    <context id="c-231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:SVBRevolverMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-02-16</startDate>
            <endDate>2021-02-16</endDate>
        </period>
    </context>
    <context id="c-232">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:SVBRevolverMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-233">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:SVBRevolverMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-234">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:SVBRevolverMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-235">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:SVBRevolverMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-236">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:A2026ConvertibleNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-05</instant>
        </period>
    </context>
    <context id="c-237">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:A2026ConvertibleNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-03-05</startDate>
            <endDate>2021-03-05</endDate>
        </period>
    </context>
    <context id="c-238">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtConversionByUniqueDescriptionAxis">fsly:DebtConversionScenarioOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:A2026ConvertibleNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-239">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtConversionByUniqueDescriptionAxis">fsly:DebtConversionScenarioOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:A2026ConvertibleNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-240">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtConversionByUniqueDescriptionAxis">fsly:DebtConversionScenarioTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:A2026ConvertibleNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-241">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtConversionByUniqueDescriptionAxis">fsly:DebtConversionScenarioThreeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:A2026ConvertibleNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-242">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:A2026ConvertibleNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-243">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtConversionByUniqueDescriptionAxis">fsly:DebtConversionScenarioFourMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:A2026ConvertibleNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-244">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:A2026ConvertibleNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-05-25</instant>
        </period>
    </context>
    <context id="c-245">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:A2026ConvertibleNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-246">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:A2026ConvertibleNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-247">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:A2026ConvertibleNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-248">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:A2026ConvertibleNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-249">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">fsly:A2026ConvertibleNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-250">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RecordedUnconditionalPurchaseObligationByCategoryOfItemPurchasedAxis">fsly:CostOfRevenueCommitmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-251">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RecordedUnconditionalPurchaseObligationByCategoryOfItemPurchasedAxis">fsly:OperatingExpenseCommitmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-252">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-05-31</instant>
        </period>
    </context>
    <context id="c-253">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-05-31</instant>
        </period>
    </context>
    <context id="c-254">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-12</startDate>
            <endDate>2021-07-12</endDate>
        </period>
    </context>
    <context id="c-255">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fsly:SignalSciences2014EquityStockOptionsPlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-256">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fsly:A2019EquityIncentivePlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-257">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fsly:A2019EquityIncentivePlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-258">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-259">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-260">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-261">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-262">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fsly:A20112019EquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-263">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fsly:A20112019EquityIncentivePlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-264">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fsly:A20112019EquityIncentivePlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-265">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-266">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-267">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-268">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-269">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-270">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-271">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-272">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-273">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-274">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-275">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-276">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-277">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-278">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-279">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-280">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-281">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-282">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fsly:SignalSciencesCorpMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c-283">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">fsly:SignalSciencesCorpMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c-284">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-285">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-286">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-287">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-288">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-31</startDate>
            <endDate>2022-01-31</endDate>
        </period>
    </context>
    <context id="c-289">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-290">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-291">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-292">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-293">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-294">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fsly:A2023And2022BonusProgramMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="c-295">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="fsly:ShareBasedPaymentArrangementPerformanceTargetAxis">fsly:PerformanceTargetPayoutLevelOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-29</instant>
        </period>
    </context>
    <context id="c-296">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="fsly:ShareBasedPaymentArrangementPerformanceTargetAxis">fsly:PerformanceTargetPayoutLevelTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-29</instant>
        </period>
    </context>
    <context id="c-297">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="fsly:ShareBasedPaymentArrangementPerformanceTargetAxis">fsly:PerformanceTargetPayoutLevelThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-29</instant>
        </period>
    </context>
    <context id="c-298">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fsly:A2022BonusProgramMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-299">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fsly:A2022BonusProgramMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-300">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">fsly:A2022BonusProgramMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-301">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fsly:MarketBasedPerformanceStockAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-302">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fsly:MarketBasedPerformanceStockAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-303">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fsly:MarketBasedPerformanceStockAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-304">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-305">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-306">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-307">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-308">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-309">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-310">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-311">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-312">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-313">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-314">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-315">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-316">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-317">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-318">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-319">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-320">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-321">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-322">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-323">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-324">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-325">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-327">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-328">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-329">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-330">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-332">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fsly:LiabilityClassifiedAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-333">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fsly:LiabilityClassifiedAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-334">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">fsly:LiabilityClassifiedAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-335">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-336">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-337">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-338">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-339">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-340">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-341">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:IPOMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-05-21</startDate>
            <endDate>2019-05-21</endDate>
        </period>
    </context>
    <context id="c-342">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-05-21</startDate>
            <endDate>2019-05-21</endDate>
        </period>
    </context>
    <context id="c-343">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-344">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-345">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-346">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-347">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-348">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-349">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">fsly:RevestSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-350">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">fsly:RevestSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-351">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">fsly:RevestSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-352">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-353">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-354">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-355">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">fsly:MarketBasedPerformanceStockAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-356">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">fsly:MarketBasedPerformanceStockAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-357">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">fsly:MarketBasedPerformanceStockAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-358">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">fsly:BonusPSUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-359">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">fsly:BonusPSUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-360">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">fsly:BonusPSUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-361">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-362">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-363">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-364">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:ConvertibleDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-365">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:ConvertibleDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-366">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:ConvertibleDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-367">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-368">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-369">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-370">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-371">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TaxCreditCarryforwardAxis">us-gaap:ResearchMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-372">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TaxCreditCarryforwardAxis">us-gaap:ResearchMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-373">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-374">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-375">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-376">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-377">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-378">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-379">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:IndividualAxis">fsly:RonaldKislingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-380">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:IndividualAxis">fsly:RonaldKislingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-381">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:IndividualAxis">fsly:RichardDanielsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-382">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:IndividualAxis">fsly:RichardDanielsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-383">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:IndividualAxis">fsly:BrettShirkMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-384">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001517413</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:IndividualAxis">fsly:BrettShirkMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <unit id="usd">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="shares">
        <measure>shares</measure>
    </unit>
    <unit id="usdPerShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="operating_market">
        <measure>fsly:operating_market</measure>
    </unit>
    <unit id="number">
        <measure>pure</measure>
    </unit>
    <unit id="segment">
        <measure>fsly:segment</measure>
    </unit>
    <unit id="security">
        <measure>fsly:security</measure>
    </unit>
    <unit id="day">
        <measure>fsly:day</measure>
    </unit>
    <unit id="vote">
        <measure>fsly:vote</measure>
    </unit>
    <unit id="plan">
        <measure>fsly:plan</measure>
    </unit>
    <unit id="cofounder">
        <measure>fsly:cofounder</measure>
    </unit>
    <dei:EntityCentralIndexKey contextRef="c-1" id="f-32">0001517413</dei:EntityCentralIndexKey>
    <dei:DocumentFiscalYearFocus contextRef="c-1" id="f-33">2023</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus contextRef="c-1" id="f-34">FY</dei:DocumentFiscalPeriodFocus>
    <dei:AmendmentFlag contextRef="c-1" id="f-35">false</dei:AmendmentFlag>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="c-59" id="f-496">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <fsly:RevenueWithCustomerDurationOfContracts contextRef="c-70" id="f-514">P1Y</fsly:RevenueWithCustomerDurationOfContracts>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1 contextRef="c-72" id="f-522">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1>
    <us-gaap:NumberOfReportableSegments
      contextRef="c-1"
      decimals="INF"
      id="f-528"
      unitRef="segment">1</us-gaap:NumberOfReportableSegments>
    <us-gaap:NumberOfOperatingSegments
      contextRef="c-1"
      decimals="INF"
      id="f-529"
      unitRef="segment">1</us-gaap:NumberOfOperatingSegments>
    <us-gaap:DebtInstrumentConvertibleConversionRatio1
      contextRef="c-249"
      decimals="INF"
      id="f-1091"
      unitRef="number">0.0097272</us-gaap:DebtInstrumentConvertibleConversionRatio1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c-271" id="f-1182">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c-275" id="f-1188">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <ecd:TrdArrDuration contextRef="c-379" id="f-1540">P407D</ecd:TrdArrDuration>
    <ecd:TrdArrDuration contextRef="c-381" id="f-1541">P133D</ecd:TrdArrDuration>
    <ecd:TrdArrDuration contextRef="c-383" id="f-1542">P377D</ecd:TrdArrDuration>
    <dei:DocumentType contextRef="c-1" id="f-1">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport contextRef="c-1" id="f-2">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate contextRef="c-1" id="f-3">2023-12-31</dei:DocumentPeriodEndDate>
    <dei:CurrentFiscalYearEndDate contextRef="c-1" id="f-4">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentTransitionReport contextRef="c-1" id="f-5">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="c-1" id="f-6">001-38897</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="c-1" id="f-7">FASTLY, INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="c-1" id="f-8">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="c-1" id="f-9">27-5411834</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="c-1" id="f-10">475 Brannan Street, Suite 300</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="c-1" id="f-11">San Francisco</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="c-1" id="f-12">CA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="c-1" id="f-13">94107</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="c-1" id="f-14">844</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="c-1" id="f-15">432-7859</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="c-1" id="f-16">Class&#160;A Common Stock, $0.00002 par value</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="c-1" id="f-17">FSLY</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="c-1" id="f-18">NYSE</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer contextRef="c-1" id="f-19">Yes</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers contextRef="c-1" id="f-20">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus contextRef="c-1" id="f-21">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="c-1" id="f-22">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="c-1" id="f-23">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="c-1" id="f-24">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="c-1" id="f-25">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag contextRef="c-1" id="f-26">true</dei:IcfrAuditorAttestationFlag>
    <dei:DocumentFinStmtErrorCorrectionFlag contextRef="c-1" id="f-27">false</dei:DocumentFinStmtErrorCorrectionFlag>
    <dei:EntityShellCompany contextRef="c-1" id="f-28">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat contextRef="c-2" decimals="-8" id="f-29" unitRef="usd">2000000000</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding contextRef="c-3" decimals="-5" id="f-30" unitRef="shares">134200000</dei:EntityCommonStockSharesOutstanding>
    <dei:DocumentsIncorporatedByReferenceTextBlock contextRef="c-1" id="f-31">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Portions of the registrant&#x2019;s Definitive Proxy Statement relating to the 2024 Annual Meeting of Stockholders are incorporated by reference into Part&#160;III of this Annual Report on Form 10-K where indicated. Such Definitive Proxy Statement will be filed with the Securities and Exchange Commission within 120 days after the end of the registrant&#x2019;s fiscal year ended December&#160;31, 2023.&lt;/span&gt;&lt;/div&gt;</dei:DocumentsIncorporatedByReferenceTextBlock>
    <us-gaap:RevenueRemainingPerformanceObligation contextRef="c-4" decimals="-5" id="f-36" unitRef="usd">235700000</us-gaap:RevenueRemainingPerformanceObligation>
    <dei:AuditorFirmId contextRef="c-1" id="f-37">34</dei:AuditorFirmId>
    <dei:AuditorName contextRef="c-1" id="f-38">Deloitte &amp; Touche LLP</dei:AuditorName>
    <dei:AuditorLocation contextRef="c-1" id="f-39">San Francisco, California</dei:AuditorLocation>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-4" decimals="-3" id="f-40" unitRef="usd">107921000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-5" decimals="-3" id="f-41" unitRef="usd">143391000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:MarketableSecuritiesCurrent contextRef="c-4" decimals="-3" id="f-42" unitRef="usd">214799000</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:MarketableSecuritiesCurrent contextRef="c-5" decimals="-3" id="f-43" unitRef="usd">374581000</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c-4" decimals="-3" id="f-44" unitRef="usd">7054000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c-5" decimals="-3" id="f-45" unitRef="usd">5029000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="c-4" decimals="-3" id="f-46" unitRef="usd">120498000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="c-5" decimals="-3" id="f-47" unitRef="usd">89578000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent contextRef="c-4" decimals="-3" id="f-48" unitRef="usd">20455000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent contextRef="c-5" decimals="-3" id="f-49" unitRef="usd">28933000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="c-4" decimals="-3" id="f-50" unitRef="usd">463673000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="c-5" decimals="-3" id="f-51" unitRef="usd">636483000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization contextRef="c-4" decimals="-3" id="f-52" unitRef="usd">176608000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization contextRef="c-5" decimals="-3" id="f-53" unitRef="usd">180378000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="c-4" decimals="-3" id="f-54" unitRef="usd">55212000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="c-5" decimals="-3" id="f-55" unitRef="usd">68440000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:Goodwill contextRef="c-4" decimals="-3" id="f-56" unitRef="usd">670356000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-5" decimals="-3" id="f-57" unitRef="usd">670185000</us-gaap:Goodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="c-4" decimals="-3" id="f-58" unitRef="usd">62475000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="c-5" decimals="-3" id="f-59" unitRef="usd">82900000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:MarketableSecuritiesNoncurrent contextRef="c-4" decimals="-3" id="f-60" unitRef="usd">6088000</us-gaap:MarketableSecuritiesNoncurrent>
    <us-gaap:MarketableSecuritiesNoncurrent contextRef="c-5" decimals="-3" id="f-61" unitRef="usd">165105000</us-gaap:MarketableSecuritiesNoncurrent>
    <us-gaap:OtherAssetsNoncurrent contextRef="c-4" decimals="-3" id="f-62" unitRef="usd">90779000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent contextRef="c-5" decimals="-3" id="f-63" unitRef="usd">92622000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets contextRef="c-4" decimals="-3" id="f-64" unitRef="usd">1525191000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-5" decimals="-3" id="f-65" unitRef="usd">1896113000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent contextRef="c-4" decimals="-3" id="f-66" unitRef="usd">5611000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent contextRef="c-5" decimals="-3" id="f-67" unitRef="usd">4786000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="c-4" decimals="-3" id="f-68" unitRef="usd">61818000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="c-5" decimals="-3" id="f-69" unitRef="usd">61161000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent contextRef="c-4" decimals="-3" id="f-70" unitRef="usd">15684000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent contextRef="c-5" decimals="-3" id="f-71" unitRef="usd">28954000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="c-4" decimals="-3" id="f-72" unitRef="usd">24042000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="c-5" decimals="-3" id="f-73" unitRef="usd">23026000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OtherLiabilitiesCurrent contextRef="c-4" decimals="-3" id="f-74" unitRef="usd">40539000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent contextRef="c-5" decimals="-3" id="f-75" unitRef="usd">34394000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="c-4" decimals="-3" id="f-76" unitRef="usd">147694000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="c-5" decimals="-3" id="f-77" unitRef="usd">152321000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermDebtNoncurrent contextRef="c-4" decimals="-3" id="f-78" unitRef="usd">343507000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent contextRef="c-5" decimals="-3" id="f-79" unitRef="usd">704710000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent contextRef="c-4" decimals="-3" id="f-80" unitRef="usd">1602000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent contextRef="c-5" decimals="-3" id="f-81" unitRef="usd">15507000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="c-4" decimals="-3" id="f-82" unitRef="usd">48484000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="c-5" decimals="-3" id="f-83" unitRef="usd">61341000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent contextRef="c-4" decimals="-3" id="f-84" unitRef="usd">4416000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent contextRef="c-5" decimals="-3" id="f-85" unitRef="usd">7076000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities contextRef="c-4" decimals="-3" id="f-86" unitRef="usd">545703000</us-gaap:Liabilities>
    <us-gaap:Liabilities contextRef="c-5" decimals="-3" id="f-87" unitRef="usd">940955000</us-gaap:Liabilities>
    <us-gaap:CommitmentsAndContingencies contextRef="c-4" id="f-88" unitRef="usd" xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies contextRef="c-5" id="f-89" unitRef="usd" xsi:nil="true"/>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c-4"
      decimals="INF"
      id="f-90"
      unitRef="usdPerShare">0.00002</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c-5"
      decimals="INF"
      id="f-91"
      unitRef="usdPerShare">0.00002</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized contextRef="c-5" decimals="INF" id="f-92" unitRef="shares">1000000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized contextRef="c-4" decimals="INF" id="f-93" unitRef="shares">1000000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesOutstanding contextRef="c-4" decimals="INF" id="f-94" unitRef="shares">132992126</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued contextRef="c-4" decimals="INF" id="f-95" unitRef="shares">132992126</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued contextRef="c-5" decimals="INF" id="f-96" unitRef="shares">124336171</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding contextRef="c-5" decimals="INF" id="f-97" unitRef="shares">124336171</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue contextRef="c-4" decimals="-3" id="f-98" unitRef="usd">3000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue contextRef="c-5" decimals="-3" id="f-99" unitRef="usd">2000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital contextRef="c-4" decimals="-3" id="f-100" unitRef="usd">1815245000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital contextRef="c-5" decimals="-3" id="f-101" unitRef="usd">1666106000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="c-4" decimals="-3" id="f-102" unitRef="usd">-1008000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="c-5" decimals="-3" id="f-103" unitRef="usd">-9286000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="c-4" decimals="-3" id="f-104" unitRef="usd">-834752000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="c-5" decimals="-3" id="f-105" unitRef="usd">-701664000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity contextRef="c-4" decimals="-3" id="f-106" unitRef="usd">979488000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-5" decimals="-3" id="f-107" unitRef="usd">955158000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="c-4" decimals="-3" id="f-108" unitRef="usd">1525191000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="c-5" decimals="-3" id="f-109" unitRef="usd">1896113000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-1" decimals="-3" id="f-110" unitRef="usd">505988000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-6" decimals="-3" id="f-111" unitRef="usd">432725000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-7" decimals="-3" id="f-112" unitRef="usd">354330000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:CostOfRevenue contextRef="c-1" decimals="-3" id="f-113" unitRef="usd">239660000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="c-6" decimals="-3" id="f-114" unitRef="usd">222944000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="c-7" decimals="-3" id="f-115" unitRef="usd">167002000</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit contextRef="c-1" decimals="-3" id="f-116" unitRef="usd">266328000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="c-6" decimals="-3" id="f-117" unitRef="usd">209781000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="c-7" decimals="-3" id="f-118" unitRef="usd">187328000</us-gaap:GrossProfit>
    <us-gaap:ResearchAndDevelopmentExpense contextRef="c-1" decimals="-3" id="f-119" unitRef="usd">152190000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense contextRef="c-6" decimals="-3" id="f-120" unitRef="usd">155308000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense contextRef="c-7" decimals="-3" id="f-121" unitRef="usd">126859000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:SellingAndMarketingExpense contextRef="c-1" decimals="-3" id="f-122" unitRef="usd">191773000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense contextRef="c-6" decimals="-3" id="f-123" unitRef="usd">179869000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense contextRef="c-7" decimals="-3" id="f-124" unitRef="usd">152645000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="c-1" decimals="-3" id="f-125" unitRef="usd">116077000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="c-6" decimals="-3" id="f-126" unitRef="usd">120803000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="c-7" decimals="-3" id="f-127" unitRef="usd">126845000</us-gaap:GeneralAndAdministrativeExpense>
    <fsly:AssetImpairmentChargesExcludingOperatingLeaseImpairment contextRef="c-1" decimals="-3" id="f-128" unitRef="usd">4316000</fsly:AssetImpairmentChargesExcludingOperatingLeaseImpairment>
    <fsly:AssetImpairmentChargesExcludingOperatingLeaseImpairment contextRef="c-6" decimals="-3" id="f-129" unitRef="usd">0</fsly:AssetImpairmentChargesExcludingOperatingLeaseImpairment>
    <fsly:AssetImpairmentChargesExcludingOperatingLeaseImpairment contextRef="c-7" decimals="-3" id="f-130" unitRef="usd">0</fsly:AssetImpairmentChargesExcludingOperatingLeaseImpairment>
    <us-gaap:OperatingExpenses contextRef="c-1" decimals="-3" id="f-131" unitRef="usd">464356000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses contextRef="c-6" decimals="-3" id="f-132" unitRef="usd">455980000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses contextRef="c-7" decimals="-3" id="f-133" unitRef="usd">406349000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss contextRef="c-1" decimals="-3" id="f-134" unitRef="usd">-198028000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-6" decimals="-3" id="f-135" unitRef="usd">-246199000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-7" decimals="-3" id="f-136" unitRef="usd">-219021000</us-gaap:OperatingIncomeLoss>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt contextRef="c-1" decimals="-3" id="f-137" unitRef="usd">52416000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt contextRef="c-6" decimals="-3" id="f-138" unitRef="usd">54391000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt contextRef="c-7" decimals="-3" id="f-139" unitRef="usd">0</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:InvestmentIncomeInterest contextRef="c-1" decimals="-3" id="f-140" unitRef="usd">18186000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest contextRef="c-6" decimals="-3" id="f-141" unitRef="usd">7044000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest contextRef="c-7" decimals="-3" id="f-142" unitRef="usd">1282000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InterestExpense contextRef="c-1" decimals="-3" id="f-143" unitRef="usd">4051000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense contextRef="c-6" decimals="-3" id="f-144" unitRef="usd">5887000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense contextRef="c-7" decimals="-3" id="f-145" unitRef="usd">5245000</us-gaap:InterestExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c-1" decimals="-3" id="f-146" unitRef="usd">-1832000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c-6" decimals="-3" id="f-147" unitRef="usd">-29000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c-7" decimals="-3" id="f-148" unitRef="usd">356000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-1" decimals="-3" id="f-149" unitRef="usd">-133309000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-6" decimals="-3" id="f-150" unitRef="usd">-190680000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-7" decimals="-3" id="f-151" unitRef="usd">-222628000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-1" decimals="-3" id="f-152" unitRef="usd">-221000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-6" decimals="-3" id="f-153" unitRef="usd">94000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-7" decimals="-3" id="f-154" unitRef="usd">69000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss contextRef="c-1" decimals="-3" id="f-155" unitRef="usd">-133088000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-6" decimals="-3" id="f-156" unitRef="usd">-190774000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-7" decimals="-3" id="f-157" unitRef="usd">-222697000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-1"
      decimals="2"
      id="f-158"
      unitRef="usdPerShare">-1.03</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-1"
      decimals="2"
      id="f-159"
      unitRef="usdPerShare">-1.03</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-6"
      decimals="2"
      id="f-160"
      unitRef="usdPerShare">-1.57</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-6"
      decimals="2"
      id="f-161"
      unitRef="usdPerShare">-1.57</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-7"
      decimals="2"
      id="f-162"
      unitRef="usdPerShare">-1.92</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-7"
      decimals="2"
      id="f-163"
      unitRef="usdPerShare">-1.92</us-gaap:EarningsPerShareBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-1" decimals="-3" id="f-164" unitRef="shares">128770000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-1" decimals="-3" id="f-165" unitRef="shares">128770000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-6" decimals="-3" id="f-166" unitRef="shares">121723000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-6" decimals="-3" id="f-167" unitRef="shares">121723000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-7" decimals="-3" id="f-168" unitRef="shares">116053000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-7" decimals="-3" id="f-169" unitRef="shares">116053000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:NetIncomeLoss contextRef="c-1" decimals="-3" id="f-170" unitRef="usd">-133088000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-6" decimals="-3" id="f-171" unitRef="usd">-190774000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-7" decimals="-3" id="f-172" unitRef="usd">-222697000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent contextRef="c-1" decimals="-3" id="f-173" unitRef="usd">565000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent contextRef="c-6" decimals="-3" id="f-174" unitRef="usd">-255000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent contextRef="c-7" decimals="-3" id="f-175" unitRef="usd">-286000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent contextRef="c-1" decimals="-3" id="f-176" unitRef="usd">7713000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent contextRef="c-6" decimals="-3" id="f-177" unitRef="usd">-6404000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent contextRef="c-7" decimals="-3" id="f-178" unitRef="usd">-2347000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-1" decimals="-3" id="f-179" unitRef="usd">8278000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-6" decimals="-3" id="f-180" unitRef="usd">-6659000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-7" decimals="-3" id="f-181" unitRef="usd">-2633000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="c-1" decimals="-3" id="f-182" unitRef="usd">-124810000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="c-6" decimals="-3" id="f-183" unitRef="usd">-197433000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="c-7" decimals="-3" id="f-184" unitRef="usd">-225330000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:CommonStockSharesOutstanding contextRef="c-8" decimals="-3" id="f-185" unitRef="shares">103394000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c-8" decimals="-3" id="f-186" unitRef="usd">1000</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding contextRef="c-9" decimals="-3" id="f-187" unitRef="shares">10229000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c-9" decimals="-3" id="f-188" unitRef="usd">1000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-10" decimals="-3" id="f-189" unitRef="usd">1350050000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-11" decimals="-3" id="f-190" unitRef="usd">6000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-12" decimals="-3" id="f-191" unitRef="usd">-288193000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-13" decimals="-3" id="f-192" unitRef="usd">1061865000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="c-14" decimals="-3" id="f-193" unitRef="shares">2188000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c-15" decimals="-3" id="f-194" unitRef="usd">12626000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c-7" decimals="-3" id="f-195" unitRef="usd">12626000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <fsly:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestingOfEarlyExercisedStockOptionsNumberOfShares contextRef="c-14" decimals="-3" id="f-196" unitRef="shares">48000</fsly:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestingOfEarlyExercisedStockOptionsNumberOfShares>
    <fsly:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestingOfEarlyExercisedStockOptionsNumberOfShares contextRef="c-16" decimals="-3" id="f-197" unitRef="shares">43000</fsly:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestingOfEarlyExercisedStockOptionsNumberOfShares>
    <fsly:StockIssuedDuringPeriodValueVestingOfEarlyExercisedStockOptions contextRef="c-15" decimals="-3" id="f-198" unitRef="usd">405000</fsly:StockIssuedDuringPeriodValueVestingOfEarlyExercisedStockOptions>
    <fsly:StockIssuedDuringPeriodValueVestingOfEarlyExercisedStockOptions contextRef="c-7" decimals="-3" id="f-199" unitRef="usd">405000</fsly:StockIssuedDuringPeriodValueVestingOfEarlyExercisedStockOptions>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross contextRef="c-17" decimals="-3" id="f-200" unitRef="shares">2000000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <fsly:StockSoldDuringPeriodSharesRestrictedStockAward contextRef="c-14" decimals="-3" id="f-201" unitRef="shares">224000</fsly:StockSoldDuringPeriodSharesRestrictedStockAward>
    <fsly:StockSoldDuringPeriodValueRestrictedStockAward contextRef="c-15" decimals="-3" id="f-202" unitRef="usd">10655000</fsly:StockSoldDuringPeriodValueRestrictedStockAward>
    <fsly:StockSoldDuringPeriodValueRestrictedStockAward contextRef="c-7" decimals="-3" id="f-203" unitRef="usd">10655000</fsly:StockSoldDuringPeriodValueRestrictedStockAward>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross contextRef="c-18" decimals="-3" id="f-204" unitRef="shares">448000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans contextRef="c-14" decimals="-3" id="f-205" unitRef="shares">236000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan contextRef="c-15" decimals="-3" id="f-206" unitRef="usd">8798000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan contextRef="c-7" decimals="-3" id="f-207" unitRef="usd">8798000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-15" decimals="-3" id="f-208" unitRef="usd">144934000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-7" decimals="-3" id="f-209" unitRef="usd">144934000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities contextRef="c-14" decimals="-3" id="f-210" unitRef="shares">10272000</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities contextRef="c-14" decimals="-3" id="f-211" unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities contextRef="c-16" decimals="-3" id="f-212" unitRef="shares">-10272000</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities contextRef="c-16" decimals="-3" id="f-213" unitRef="usd">-1000</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities contextRef="c-7" decimals="-3" id="f-214" unitRef="usd">0</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:NetIncomeLoss contextRef="c-19" decimals="-3" id="f-215" unitRef="usd">-222697000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-7" decimals="-3" id="f-216" unitRef="usd">-222697000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-20" decimals="-3" id="f-217" unitRef="usd">-2633000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-7" decimals="-3" id="f-218" unitRef="usd">-2633000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:CommonStockSharesOutstanding contextRef="c-21" decimals="-3" id="f-219" unitRef="shares">118811000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c-21" decimals="-3" id="f-220" unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding contextRef="c-22" decimals="-3" id="f-221" unitRef="shares">0</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c-22" decimals="-3" id="f-222" unitRef="usd">0</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-23" decimals="-3" id="f-223" unitRef="usd">1527468000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-24" decimals="-3" id="f-224" unitRef="usd">-2627000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-25" decimals="-3" id="f-225" unitRef="usd">-510890000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-26" decimals="-3" id="f-226" unitRef="usd">1013953000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="c-27" decimals="-3" id="f-227" unitRef="shares">1778000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c-28" decimals="-3" id="f-228" unitRef="usd">5688000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c-6" decimals="-3" id="f-229" unitRef="usd">5688000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross contextRef="c-29" decimals="-3" id="f-230" unitRef="shares">3119000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross contextRef="c-30" decimals="-3" id="f-231" unitRef="shares">112000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans contextRef="c-27" decimals="-3" id="f-232" unitRef="shares">516000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan contextRef="c-28" decimals="-3" id="f-233" unitRef="usd">4665000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan contextRef="c-6" decimals="-3" id="f-234" unitRef="usd">4665000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-28" decimals="-3" id="f-235" unitRef="usd">128285000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-6" decimals="-3" id="f-236" unitRef="usd">128285000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:NetIncomeLoss contextRef="c-31" decimals="-3" id="f-237" unitRef="usd">-190774000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-6" decimals="-3" id="f-238" unitRef="usd">-190774000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-32" decimals="-3" id="f-239" unitRef="usd">-6659000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-6" decimals="-3" id="f-240" unitRef="usd">-6659000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:CommonStockSharesOutstanding contextRef="c-33" decimals="-3" id="f-241" unitRef="shares">124336000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c-33" decimals="-3" id="f-242" unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding contextRef="c-34" decimals="-3" id="f-243" unitRef="shares">0</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c-34" decimals="-3" id="f-244" unitRef="usd">0</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-35" decimals="-3" id="f-245" unitRef="usd">1666106000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-36" decimals="-3" id="f-246" unitRef="usd">-9286000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-37" decimals="-3" id="f-247" unitRef="usd">-701664000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-5" decimals="-3" id="f-248" unitRef="usd">955158000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="c-38" decimals="-3" id="f-249" unitRef="shares">291000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c-39" decimals="-3" id="f-250" unitRef="usd">2169000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c-1" decimals="-3" id="f-251" unitRef="usd">2169000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross contextRef="c-40" decimals="-3" id="f-252" unitRef="shares">6150000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross contextRef="c-40" decimals="-3" id="f-253" unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross contextRef="c-1" decimals="-3" id="f-254" unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <fsly:StockIssuedDuringPeriodSharesBonusProgram contextRef="c-38" decimals="-3" id="f-255" unitRef="shares">1193000</fsly:StockIssuedDuringPeriodSharesBonusProgram>
    <fsly:StockIssuedDuringPeriodValueBonusProgram contextRef="c-39" decimals="-3" id="f-256" unitRef="usd">16599000</fsly:StockIssuedDuringPeriodValueBonusProgram>
    <fsly:StockIssuedDuringPeriodValueBonusProgram contextRef="c-1" decimals="-3" id="f-257" unitRef="usd">16599000</fsly:StockIssuedDuringPeriodValueBonusProgram>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans contextRef="c-38" decimals="-3" id="f-258" unitRef="shares">1022000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan contextRef="c-39" decimals="-3" id="f-259" unitRef="usd">8692000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan contextRef="c-1" decimals="-3" id="f-260" unitRef="usd">8692000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-39" decimals="-3" id="f-261" unitRef="usd">121679000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-1" decimals="-3" id="f-262" unitRef="usd">121679000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:NetIncomeLoss contextRef="c-41" decimals="-3" id="f-263" unitRef="usd">-133088000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-1" decimals="-3" id="f-264" unitRef="usd">-133088000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-42" decimals="-3" id="f-265" unitRef="usd">8278000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-1" decimals="-3" id="f-266" unitRef="usd">8278000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:CommonStockSharesOutstanding contextRef="c-43" decimals="-3" id="f-267" unitRef="shares">132992000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c-43" decimals="-3" id="f-268" unitRef="usd">3000</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding contextRef="c-44" decimals="-3" id="f-269" unitRef="shares">0</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c-44" decimals="-3" id="f-270" unitRef="usd">0</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-45" decimals="-3" id="f-271" unitRef="usd">1815245000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-46" decimals="-3" id="f-272" unitRef="usd">-1008000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-47" decimals="-3" id="f-273" unitRef="usd">-834752000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-4" decimals="-3" id="f-274" unitRef="usd">979488000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="c-1" decimals="-3" id="f-275" unitRef="usd">-133088000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-6" decimals="-3" id="f-276" unitRef="usd">-190774000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-7" decimals="-3" id="f-277" unitRef="usd">-222697000</us-gaap:NetIncomeLoss>
    <us-gaap:DepreciationNonproduction contextRef="c-1" decimals="-3" id="f-278" unitRef="usd">51602000</us-gaap:DepreciationNonproduction>
    <us-gaap:DepreciationNonproduction contextRef="c-6" decimals="-3" id="f-279" unitRef="usd">42619000</us-gaap:DepreciationNonproduction>
    <us-gaap:DepreciationNonproduction contextRef="c-7" decimals="-3" id="f-280" unitRef="usd">28799000</us-gaap:DepreciationNonproduction>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="c-1" decimals="-3" id="f-281" unitRef="usd">20424000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="c-6" decimals="-3" id="f-282" unitRef="usd">21696000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="c-7" decimals="-3" id="f-283" unitRef="usd">21238000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense contextRef="c-1" decimals="-3" id="f-284" unitRef="usd">22678000</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense contextRef="c-6" decimals="-3" id="f-285" unitRef="usd">25448000</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense contextRef="c-7" decimals="-3" id="f-286" unitRef="usd">23065000</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:AmortizationOfFinancingCostsAndDiscounts contextRef="c-1" decimals="-3" id="f-287" unitRef="usd">2476000</us-gaap:AmortizationOfFinancingCostsAndDiscounts>
    <us-gaap:AmortizationOfFinancingCostsAndDiscounts contextRef="c-6" decimals="-3" id="f-288" unitRef="usd">3169000</us-gaap:AmortizationOfFinancingCostsAndDiscounts>
    <us-gaap:AmortizationOfFinancingCostsAndDiscounts contextRef="c-7" decimals="-3" id="f-289" unitRef="usd">3185000</us-gaap:AmortizationOfFinancingCostsAndDiscounts>
    <us-gaap:CapitalizedContractCostAmortization contextRef="c-1" decimals="-3" id="f-290" unitRef="usd">15548000</us-gaap:CapitalizedContractCostAmortization>
    <us-gaap:CapitalizedContractCostAmortization contextRef="c-6" decimals="-3" id="f-291" unitRef="usd">8916000</us-gaap:CapitalizedContractCostAmortization>
    <us-gaap:CapitalizedContractCostAmortization contextRef="c-7" decimals="-3" id="f-292" unitRef="usd">6294000</us-gaap:CapitalizedContractCostAmortization>
    <us-gaap:ShareBasedCompensation contextRef="c-1" decimals="-3" id="f-293" unitRef="usd">136303000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation contextRef="c-6" decimals="-3" id="f-294" unitRef="usd">145796000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation contextRef="c-7" decimals="-3" id="f-295" unitRef="usd">140488000</us-gaap:ShareBasedCompensation>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="c-1" decimals="-3" id="f-296" unitRef="usd">-900000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="c-6" decimals="-3" id="f-297" unitRef="usd">0</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="c-7" decimals="-3" id="f-298" unitRef="usd">0</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:ProvisionForDoubtfulAccounts contextRef="c-1" decimals="-3" id="f-299" unitRef="usd">2025000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts contextRef="c-6" decimals="-3" id="f-300" unitRef="usd">2406000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts contextRef="c-7" decimals="-3" id="f-301" unitRef="usd">196000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment contextRef="c-1" decimals="-3" id="f-302" unitRef="usd">-505000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment contextRef="c-6" decimals="-3" id="f-303" unitRef="usd">-854000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment contextRef="c-7" decimals="-3" id="f-304" unitRef="usd">300000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments contextRef="c-1" decimals="-3" id="f-305" unitRef="usd">646000</us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments>
    <us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments contextRef="c-6" decimals="-3" id="f-306" unitRef="usd">-3137000</us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments>
    <us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments contextRef="c-7" decimals="-3" id="f-307" unitRef="usd">-2221000</us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments>
    <us-gaap:OperatingLeaseImpairmentLoss contextRef="c-1" decimals="-3" id="f-308" unitRef="usd">744000</us-gaap:OperatingLeaseImpairmentLoss>
    <us-gaap:OperatingLeaseImpairmentLoss contextRef="c-6" decimals="-3" id="f-309" unitRef="usd">2083000</us-gaap:OperatingLeaseImpairmentLoss>
    <us-gaap:OperatingLeaseImpairmentLoss contextRef="c-7" decimals="-3" id="f-310" unitRef="usd">0</us-gaap:OperatingLeaseImpairmentLoss>
    <fsly:AssetImpairmentChargesExcludingOperatingLeaseImpairment contextRef="c-1" decimals="-3" id="f-311" unitRef="usd">4316000</fsly:AssetImpairmentChargesExcludingOperatingLeaseImpairment>
    <fsly:AssetImpairmentChargesExcludingOperatingLeaseImpairment contextRef="c-6" decimals="-3" id="f-312" unitRef="usd">0</fsly:AssetImpairmentChargesExcludingOperatingLeaseImpairment>
    <fsly:AssetImpairmentChargesExcludingOperatingLeaseImpairment contextRef="c-7" decimals="-3" id="f-313" unitRef="usd">0</fsly:AssetImpairmentChargesExcludingOperatingLeaseImpairment>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt contextRef="c-1" decimals="-3" id="f-314" unitRef="usd">52416000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt contextRef="c-6" decimals="-3" id="f-315" unitRef="usd">54391000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt contextRef="c-7" decimals="-3" id="f-316" unitRef="usd">0</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:OtherNoncashIncomeExpense contextRef="c-1" decimals="-3" id="f-317" unitRef="usd">-648000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:OtherNoncashIncomeExpense contextRef="c-6" decimals="-3" id="f-318" unitRef="usd">-3688000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:OtherNoncashIncomeExpense contextRef="c-7" decimals="-3" id="f-319" unitRef="usd">-4000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="c-1" decimals="-3" id="f-320" unitRef="usd">32945000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="c-6" decimals="-3" id="f-321" unitRef="usd">27359000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="c-7" decimals="-3" id="f-322" unitRef="usd">14563000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="c-1" decimals="-3" id="f-323" unitRef="usd">-8709000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="c-6" decimals="-3" id="f-324" unitRef="usd">6758000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="c-7" decimals="-3" id="f-325" unitRef="usd">4777000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets contextRef="c-1" decimals="-3" id="f-326" unitRef="usd">23137000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets contextRef="c-6" decimals="-3" id="f-327" unitRef="usd">35396000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets contextRef="c-7" decimals="-3" id="f-328" unitRef="usd">10423000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="c-1" decimals="-3" id="f-329" unitRef="usd">382000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="c-6" decimals="-3" id="f-330" unitRef="usd">-4724000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="c-7" decimals="-3" id="f-331" unitRef="usd">146000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities contextRef="c-1" decimals="-3" id="f-332" unitRef="usd">-7856000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities contextRef="c-6" decimals="-3" id="f-333" unitRef="usd">8289000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities contextRef="c-7" decimals="-3" id="f-334" unitRef="usd">4261000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <fsly:IncreaseDecreaseInOperatingLeaseLiabilities contextRef="c-1" decimals="-3" id="f-335" unitRef="usd">-22074000</fsly:IncreaseDecreaseInOperatingLeaseLiabilities>
    <fsly:IncreaseDecreaseInOperatingLeaseLiabilities contextRef="c-6" decimals="-3" id="f-336" unitRef="usd">-22778000</fsly:IncreaseDecreaseInOperatingLeaseLiabilities>
    <fsly:IncreaseDecreaseInOperatingLeaseLiabilities contextRef="c-7" decimals="-3" id="f-337" unitRef="usd">-22629000</fsly:IncreaseDecreaseInOperatingLeaseLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities contextRef="c-1" decimals="-3" id="f-338" unitRef="usd">7064000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities contextRef="c-6" decimals="-3" id="f-339" unitRef="usd">4447000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities contextRef="c-7" decimals="-3" id="f-340" unitRef="usd">7010000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="c-1" decimals="-3" id="f-341" unitRef="usd">362000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="c-6" decimals="-3" id="f-342" unitRef="usd">-69632000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="c-7" decimals="-3" id="f-343" unitRef="usd">-38482000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquireShortTermInvestments contextRef="c-1" decimals="-3" id="f-344" unitRef="usd">132233000</us-gaap:PaymentsToAcquireShortTermInvestments>
    <us-gaap:PaymentsToAcquireShortTermInvestments contextRef="c-6" decimals="-3" id="f-345" unitRef="usd">355479000</us-gaap:PaymentsToAcquireShortTermInvestments>
    <us-gaap:PaymentsToAcquireShortTermInvestments contextRef="c-7" decimals="-3" id="f-346" unitRef="usd">928155000</us-gaap:PaymentsToAcquireShortTermInvestments>
    <us-gaap:ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities contextRef="c-1" decimals="-3" id="f-347" unitRef="usd">25625000</us-gaap:ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities>
    <us-gaap:ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities contextRef="c-6" decimals="-3" id="f-348" unitRef="usd">161918000</us-gaap:ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities>
    <us-gaap:ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities contextRef="c-7" decimals="-3" id="f-349" unitRef="usd">66527000</us-gaap:ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities>
    <us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities contextRef="c-1" decimals="-3" id="f-350" unitRef="usd">433767000</us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities>
    <us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities contextRef="c-6" decimals="-3" id="f-351" unitRef="usd">535040000</us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities>
    <us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities contextRef="c-7" decimals="-3" id="f-352" unitRef="usd">118085000</us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="c-1" decimals="-3" id="f-353" unitRef="usd">0</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="c-6" decimals="-3" id="f-354" unitRef="usd">25902000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="c-7" decimals="-3" id="f-355" unitRef="usd">1169000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <fsly:AdvancesForPaymentsOfPropertyPlantAndEquipment contextRef="c-1" decimals="-3" id="f-356" unitRef="usd">0</fsly:AdvancesForPaymentsOfPropertyPlantAndEquipment>
    <fsly:AdvancesForPaymentsOfPropertyPlantAndEquipment contextRef="c-6" decimals="-3" id="f-357" unitRef="usd">42197000</fsly:AdvancesForPaymentsOfPropertyPlantAndEquipment>
    <fsly:AdvancesForPaymentsOfPropertyPlantAndEquipment contextRef="c-7" decimals="-3" id="f-358" unitRef="usd">0</fsly:AdvancesForPaymentsOfPropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c-1" decimals="-3" id="f-359" unitRef="usd">10976000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c-6" decimals="-3" id="f-360" unitRef="usd">19975000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c-7" decimals="-3" id="f-361" unitRef="usd">34816000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment contextRef="c-1" decimals="-3" id="f-362" unitRef="usd">49000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment contextRef="c-6" decimals="-3" id="f-363" unitRef="usd">492000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment contextRef="c-7" decimals="-3" id="f-364" unitRef="usd">588000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:PaymentsForSoftware contextRef="c-1" decimals="-3" id="f-365" unitRef="usd">21292000</us-gaap:PaymentsForSoftware>
    <us-gaap:PaymentsForSoftware contextRef="c-6" decimals="-3" id="f-366" unitRef="usd">18146000</us-gaap:PaymentsForSoftware>
    <us-gaap:PaymentsForSoftware contextRef="c-7" decimals="-3" id="f-367" unitRef="usd">13479000</us-gaap:PaymentsForSoftware>
    <us-gaap:PaymentsToAcquireIntangibleAssets contextRef="c-1" decimals="-3" id="f-368" unitRef="usd">0</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToAcquireIntangibleAssets contextRef="c-6" decimals="-3" id="f-369" unitRef="usd">0</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToAcquireIntangibleAssets contextRef="c-7" decimals="-3" id="f-370" unitRef="usd">2092000</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="c-1" decimals="-3" id="f-371" unitRef="usd">294940000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="c-6" decimals="-3" id="f-372" unitRef="usd">235751000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="c-7" decimals="-3" id="f-373" unitRef="usd">-794511000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromConvertibleDebt contextRef="c-1" decimals="-3" id="f-374" unitRef="usd">0</us-gaap:ProceedsFromConvertibleDebt>
    <us-gaap:ProceedsFromConvertibleDebt contextRef="c-6" decimals="-3" id="f-375" unitRef="usd">0</us-gaap:ProceedsFromConvertibleDebt>
    <us-gaap:ProceedsFromConvertibleDebt contextRef="c-7" decimals="-3" id="f-376" unitRef="usd">930775000</us-gaap:ProceedsFromConvertibleDebt>
    <us-gaap:PaymentsOfDebtIssuanceCosts contextRef="c-1" decimals="-3" id="f-377" unitRef="usd">0</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsOfDebtIssuanceCosts contextRef="c-6" decimals="-3" id="f-378" unitRef="usd">0</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsOfDebtIssuanceCosts contextRef="c-7" decimals="-3" id="f-379" unitRef="usd">1351000</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsOfDebtExtinguishmentCosts contextRef="c-1" decimals="-3" id="f-380" unitRef="usd">310540000</us-gaap:PaymentsOfDebtExtinguishmentCosts>
    <us-gaap:PaymentsOfDebtExtinguishmentCosts contextRef="c-6" decimals="-3" id="f-381" unitRef="usd">177082000</us-gaap:PaymentsOfDebtExtinguishmentCosts>
    <us-gaap:PaymentsOfDebtExtinguishmentCosts contextRef="c-7" decimals="-3" id="f-382" unitRef="usd">0</us-gaap:PaymentsOfDebtExtinguishmentCosts>
    <us-gaap:FinanceLeasePrincipalPayments contextRef="c-1" decimals="-3" id="f-383" unitRef="usd">27175000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments contextRef="c-6" decimals="-3" id="f-384" unitRef="usd">22532000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments contextRef="c-7" decimals="-3" id="f-385" unitRef="usd">13568000</us-gaap:FinanceLeasePrincipalPayments>
    <fsly:ProceedsFromEarlySaleOfRestrictedShares contextRef="c-1" decimals="-3" id="f-386" unitRef="usd">0</fsly:ProceedsFromEarlySaleOfRestrictedShares>
    <fsly:ProceedsFromEarlySaleOfRestrictedShares contextRef="c-6" decimals="-3" id="f-387" unitRef="usd">10655000</fsly:ProceedsFromEarlySaleOfRestrictedShares>
    <fsly:ProceedsFromEarlySaleOfRestrictedShares contextRef="c-7" decimals="-3" id="f-388" unitRef="usd">0</fsly:ProceedsFromEarlySaleOfRestrictedShares>
    <fsly:PaymentsForEarlySaleOfRestrictedShares contextRef="c-1" decimals="-3" id="f-389" unitRef="usd">0</fsly:PaymentsForEarlySaleOfRestrictedShares>
    <fsly:PaymentsForEarlySaleOfRestrictedShares contextRef="c-6" decimals="-3" id="f-390" unitRef="usd">10655000</fsly:PaymentsForEarlySaleOfRestrictedShares>
    <fsly:PaymentsForEarlySaleOfRestrictedShares contextRef="c-7" decimals="-3" id="f-391" unitRef="usd">0</fsly:PaymentsForEarlySaleOfRestrictedShares>
    <fsly:DeferredPaymentForBusinessCombinations contextRef="c-1" decimals="-3" id="f-392" unitRef="usd">4393000</fsly:DeferredPaymentForBusinessCombinations>
    <fsly:DeferredPaymentForBusinessCombinations contextRef="c-6" decimals="-3" id="f-393" unitRef="usd">0</fsly:DeferredPaymentForBusinessCombinations>
    <fsly:DeferredPaymentForBusinessCombinations contextRef="c-7" decimals="-3" id="f-394" unitRef="usd">0</fsly:DeferredPaymentForBusinessCombinations>
    <us-gaap:ProceedsFromStockOptionsExercised contextRef="c-1" decimals="-3" id="f-395" unitRef="usd">2169000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised contextRef="c-6" decimals="-3" id="f-396" unitRef="usd">5688000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised contextRef="c-7" decimals="-3" id="f-397" unitRef="usd">12626000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockPlans contextRef="c-1" decimals="-3" id="f-398" unitRef="usd">8559000</us-gaap:ProceedsFromStockPlans>
    <us-gaap:ProceedsFromStockPlans contextRef="c-6" decimals="-3" id="f-399" unitRef="usd">4777000</us-gaap:ProceedsFromStockPlans>
    <us-gaap:ProceedsFromStockPlans contextRef="c-7" decimals="-3" id="f-400" unitRef="usd">8069000</us-gaap:ProceedsFromStockPlans>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="c-1" decimals="-3" id="f-401" unitRef="usd">-331380000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="c-6" decimals="-3" id="f-402" unitRef="usd">-189149000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="c-7" decimals="-3" id="f-403" unitRef="usd">936551000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-1" decimals="-3" id="f-404" unitRef="usd">608000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-6" decimals="-3" id="f-405" unitRef="usd">-390000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-7" decimals="-3" id="f-406" unitRef="usd">-477000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="c-1" decimals="-3" id="f-407" unitRef="usd">-35470000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="c-6" decimals="-3" id="f-408" unitRef="usd">-23420000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="c-7" decimals="-3" id="f-409" unitRef="usd">103081000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-5" decimals="-3" id="f-410" unitRef="usd">143541000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-26" decimals="-3" id="f-411" unitRef="usd">166961000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-13" decimals="-3" id="f-412" unitRef="usd">63880000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-4" decimals="-3" id="f-413" unitRef="usd">108071000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-5" decimals="-3" id="f-414" unitRef="usd">143541000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-26" decimals="-3" id="f-415" unitRef="usd">166961000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet contextRef="c-1" decimals="-3" id="f-416" unitRef="usd">1574000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet contextRef="c-6" decimals="-3" id="f-417" unitRef="usd">2656000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet contextRef="c-7" decimals="-3" id="f-418" unitRef="usd">1938000</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaidNet contextRef="c-1" decimals="-3" id="f-419" unitRef="usd">331000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet contextRef="c-6" decimals="-3" id="f-420" unitRef="usd">250000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet contextRef="c-7" decimals="-3" id="f-421" unitRef="usd">267000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid contextRef="c-1" decimals="-3" id="f-422" unitRef="usd">640000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid contextRef="c-6" decimals="-3" id="f-423" unitRef="usd">1492000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid contextRef="c-7" decimals="-3" id="f-424" unitRef="usd">18275000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <fsly:VestingOfEarlyExercisedStockOptions contextRef="c-1" decimals="-3" id="f-425" unitRef="usd">0</fsly:VestingOfEarlyExercisedStockOptions>
    <fsly:VestingOfEarlyExercisedStockOptions contextRef="c-6" decimals="-3" id="f-426" unitRef="usd">0</fsly:VestingOfEarlyExercisedStockOptions>
    <fsly:VestingOfEarlyExercisedStockOptions contextRef="c-7" decimals="-3" id="f-427" unitRef="usd">405000</fsly:VestingOfEarlyExercisedStockOptions>
    <fsly:ShareBasedPaymentArrangementNoncashAmountCapitalizedIntoInternalUseSoftware contextRef="c-1" decimals="-3" id="f-428" unitRef="usd">9975000</fsly:ShareBasedPaymentArrangementNoncashAmountCapitalizedIntoInternalUseSoftware>
    <fsly:ShareBasedPaymentArrangementNoncashAmountCapitalizedIntoInternalUseSoftware contextRef="c-6" decimals="-3" id="f-429" unitRef="usd">7997000</fsly:ShareBasedPaymentArrangementNoncashAmountCapitalizedIntoInternalUseSoftware>
    <fsly:ShareBasedPaymentArrangementNoncashAmountCapitalizedIntoInternalUseSoftware contextRef="c-7" decimals="-3" id="f-430" unitRef="usd">4446000</fsly:ShareBasedPaymentArrangementNoncashAmountCapitalizedIntoInternalUseSoftware>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability contextRef="c-1" decimals="-3" id="f-431" unitRef="usd">5769000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability contextRef="c-6" decimals="-3" id="f-432" unitRef="usd">29606000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability contextRef="c-7" decimals="-3" id="f-433" unitRef="usd">32458000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability contextRef="c-1" decimals="-3" id="f-434" unitRef="usd">0</us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability contextRef="c-6" decimals="-3" id="f-435" unitRef="usd">23575000</us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability contextRef="c-7" decimals="-3" id="f-436" unitRef="usd">31529000</us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability>
    <fsly:NoncashChangeInOperatingLeaseAssetsAndLiabilities contextRef="c-1" decimals="-3" id="f-437" unitRef="usd">-4425000</fsly:NoncashChangeInOperatingLeaseAssetsAndLiabilities>
    <fsly:NoncashChangeInOperatingLeaseAssetsAndLiabilities contextRef="c-6" decimals="-3" id="f-438" unitRef="usd">3126000</fsly:NoncashChangeInOperatingLeaseAssetsAndLiabilities>
    <fsly:NoncashChangeInOperatingLeaseAssetsAndLiabilities contextRef="c-7" decimals="-3" id="f-439" unitRef="usd">0</fsly:NoncashChangeInOperatingLeaseAssetsAndLiabilities>
    <us-gaap:InterestPaidCapitalized contextRef="c-1" decimals="-3" id="f-440" unitRef="usd">1329000</us-gaap:InterestPaidCapitalized>
    <us-gaap:InterestPaidCapitalized contextRef="c-6" decimals="-3" id="f-441" unitRef="usd">2381000</us-gaap:InterestPaidCapitalized>
    <us-gaap:InterestPaidCapitalized contextRef="c-7" decimals="-3" id="f-442" unitRef="usd">1754000</us-gaap:InterestPaidCapitalized>
    <fsly:PaymentForBusinessIncurredButNotYetPaid contextRef="c-1" decimals="-3" id="f-443" unitRef="usd">0</fsly:PaymentForBusinessIncurredButNotYetPaid>
    <fsly:PaymentForBusinessIncurredButNotYetPaid contextRef="c-6" decimals="-3" id="f-444" unitRef="usd">8000000</fsly:PaymentForBusinessIncurredButNotYetPaid>
    <fsly:PaymentForBusinessIncurredButNotYetPaid contextRef="c-7" decimals="-3" id="f-445" unitRef="usd">0</fsly:PaymentForBusinessIncurredButNotYetPaid>
    <fsly:DeploymentsOfPrepaidCapitalEquipment contextRef="c-1" decimals="-3" id="f-446" unitRef="usd">8665000</fsly:DeploymentsOfPrepaidCapitalEquipment>
    <fsly:DeploymentsOfPrepaidCapitalEquipment contextRef="c-6" decimals="-3" id="f-447" unitRef="usd">5184000</fsly:DeploymentsOfPrepaidCapitalEquipment>
    <fsly:DeploymentsOfPrepaidCapitalEquipment contextRef="c-7" decimals="-3" id="f-448" unitRef="usd">0</fsly:DeploymentsOfPrepaidCapitalEquipment>
    <fsly:ReceivableRelatedToSharesOfRestrictedStock contextRef="c-1" decimals="-3" id="f-449" unitRef="usd">0</fsly:ReceivableRelatedToSharesOfRestrictedStock>
    <fsly:ReceivableRelatedToSharesOfRestrictedStock contextRef="c-6" decimals="-3" id="f-450" unitRef="usd">0</fsly:ReceivableRelatedToSharesOfRestrictedStock>
    <fsly:ReceivableRelatedToSharesOfRestrictedStock contextRef="c-7" decimals="-3" id="f-451" unitRef="usd">10655000</fsly:ReceivableRelatedToSharesOfRestrictedStock>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-4" decimals="-3" id="f-452" unitRef="usd">107921000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-5" decimals="-3" id="f-453" unitRef="usd">143391000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-26" decimals="-3" id="f-454" unitRef="usd">166068000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashCurrent contextRef="c-4" decimals="-3" id="f-455" unitRef="usd">150000</us-gaap:RestrictedCashCurrent>
    <us-gaap:RestrictedCashCurrent contextRef="c-5" decimals="-3" id="f-456" unitRef="usd">150000</us-gaap:RestrictedCashCurrent>
    <us-gaap:RestrictedCashCurrent contextRef="c-26" decimals="-3" id="f-457" unitRef="usd">0</us-gaap:RestrictedCashCurrent>
    <us-gaap:RestrictedCashEquivalents contextRef="c-4" decimals="-3" id="f-458" unitRef="usd">0</us-gaap:RestrictedCashEquivalents>
    <us-gaap:RestrictedCashEquivalents contextRef="c-5" decimals="-3" id="f-459" unitRef="usd">0</us-gaap:RestrictedCashEquivalents>
    <us-gaap:RestrictedCashEquivalents contextRef="c-26" decimals="-3" id="f-460" unitRef="usd">893000</us-gaap:RestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-4" decimals="-3" id="f-461" unitRef="usd">108071000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-5" decimals="-3" id="f-462" unitRef="usd">143541000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-26" decimals="-3" id="f-463" unitRef="usd">166961000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:NatureOfOperations contextRef="c-1" id="f-464">Nature of Business&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Fastly, Inc. has built an edge cloud platform that can process, serve, and secure its customer&#x2019;s applications as close to their end users as possible. As of December&#160;31, 2023, the Company&#x2019;s edge network spans across 79 markets around the world. The Company was incorporated in Delaware in 2011 and is headquartered in San Francisco, California.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As used herein,&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt; &#x201c;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Fastly,&#x201d; &#x201c;the Company,&#x201d;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x201c;its&#x201d; and similar terms include Fastly, Inc. and its subsidiaries, unless the context indicates otherwise.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Conversion of Dual Class Common Stock Structure&lt;/span&gt;&lt;/div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On July 12, 2021, all outstanding shares of Class B common stock automatically converted into the same number of shares of Class A common stock (the &#x201c;Conversion&#x201d;) pursuant to the terms of the Company&#x2019;s amended and restated certificate of incorporation (the &#x201c;Certificate&#x201d;). Upon the Conversion, outstanding options denominated in shares of Class B common stock issued under any of the Company&#x2019;s equity incentive plans remained unchanged, except that such options now represent the right to receive shares of Class A common stock on exercise. In accordance with the Certificate, the shares of Class B common stock that converted to Class A common stock were retired and will not be reissued by the Company.&lt;/span&gt;</us-gaap:NatureOfOperations>
    <fsly:OperatingMarkets
      contextRef="c-4"
      decimals="INF"
      id="f-465"
      unitRef="operating_market">79</fsly:OperatingMarkets>
    <us-gaap:SignificantAccountingPoliciesTextBlock contextRef="c-1" id="f-466">Summary of Significant Accounting Policies&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Basis of Presentation and Consolidation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The accompanying consolidated financial statements and footnotes have been prepared in accordance with accounting principles generally accepted in the United States of America (&#x201c;GAAP&#x201d;). The accompanying consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries. All intercompany transactions and balances have been eliminated in consolidation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Certain changes to presentation have been made to conform the prior period presentation to the current period reporting. The Company has made certain presentation changes to consolidate the interest paid on finance lease line into other liabilities working capital changes and components of the non-cash lease expense related to operating lease liability changes into operating lease liability working capital changes within operating cash flows in the consolidated statements of cash flows. Such reclassifications did not affect the consolidated balance sheets, total revenues, operating income, net income, or cash flows from operating, investing or financing activities. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Use of Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The preparation of consolidated financial statements in conformity with GAAP requires management to make estimates, judgments, and assumptions that affect the reported amounts of assets, liabilities, revenue, costs and expenses, and related disclosures. Actual results and outcomes could differ significantly from the Company&#x2019;s estimates, judgments, and assumptions. Significant estimates, judgments, and assumptions used in these financial statements include, but are not limited to, those related to revenue, accounts receivable and related reserves, internal-use software development costs, the incremental borrowing rate related to the Company&#x2019;s lease liabilities,&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;fair value of assets acquired and liabilities assumed during business combinations, useful lives of acquired intangible assets and property and equipment, fair value of the Company&#x2019;s long-lived assets as well as reporting unit, income tax reserves, and accounting for stock-based compensation. Estimates are periodically reviewed in light of changes in circumstances, facts, and experience. The effects of material revisions in estimates are reflected in the consolidated financial statements in the period of change and prospectively from the date of the change in estimate.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Concentrations of Credit Risk&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Financial instruments that potentially subject the Company to significant concentrations of credit risk consist primarily of cash, cash equivalents, marketable securities and accounts receivable. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s cash, cash equivalents, and marketable securities primarily consisted of bank deposits, money market funds, investment-grade commercial paper, corporate notes and bonds, U.S. treasury securities, agency bonds, municipal securities, foreign government and supranational securities and asset-backed securities held at major financial institutions that &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;the Company believes to be of high credit standing. The primary focus of its investment strategy is to preserve capital and meet liquidity requirements. The Company&#x2019;s investment policy limits the amount of credit exposure with any one financial institution or commercial issuer. The Company maintains deposits in federally insured financial institutions in excess of federally insured limits. The Company is exposed to credit risk in the event of default by the financial institutions holding its cash and cash equivalents to the extent recorded in the balance sheets. While the Company has not experienced any losses in such accounts and the Company has historically maintained its cash in multiple financial institutions, the failure of Silicon Valley Bank (&#x201c;SVB&#x201d;) in March 2023, at which the Company held cash and cash equivalents in multiple accounts, exposed the Company to limited credit risk prior to the completion by the Federal Deposit Insurance Corporation (&#x201c;FDIC&#x201d;) of the resolution of SVB in a manner that fully protected all depositors.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Concentrations of credit risk with respect to accounts receivable are primarily limited to certain customers to which the Company makes substantial sales. The Company&#x2019;s customer base consists of a large number of geographically dispersed customers diversified across several industries. No customer accounted for more than 10% of revenue for both the years ended December&#160;31, 2023, 2022 and 2021. One customer accounted for more than 10% of the total accounts receivable balance as of December&#160;31, 2023, whereas no customers accounted for more than 10% of the total accounts receivable balance as of December&#160;31, 2022. Affiliated customers that are business units of a single company in the streaming entertainment space generated an aggregate of 12%, 11% and 11% of the Company&#x2019;s revenue for the years ended December&#160;31, 2023, 2022 and 2021, respectively. The same affiliated customers accounted for an aggregate of 23% and 15% of the Company&#x2019;s accounts receivable balance as of December&#160;31, 2023 and 2022, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Cash, Cash Equivalents and Marketable Securities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash and cash equivalents include cash held in banks, highly liquid money market funds, U.S. treasury securities and commercial paper, all with original maturities of three months or less when acquired. The Company&#x2019;s short-term and long-term marketable securities consists of fixed income U.S. and foreign government agency securities, corporate bonds, agency bonds, asset-backed securities and commercial paper. Management determines the appropriate classification of the Company&#x2019;s investments at the time of purchase and reevaluates such designation at each balance sheet date. The Company classifies its marketable securities as either short-term or long-term based on each instrument&#x2019;s underlying remaining contractual maturity date.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company classifies its marketable securities as available-for-sale as it has the ability to sell the marketable securities prior to its maturity. The Company&#x2019;s marketable securities are reported at fair value with unrealized gains and losses reported, net of tax, as a separate component of accumulated other comprehensive income (loss) in stockholders&#x2019; equity. Cash and cash equivalents are stated at cost, which approximate fair market value. Short-term and long-term marketable securities are classified as available-for-sale debt securities and are also carried at fair market value. When the available-for-sale debt securities are sold, cost is based on the specific identification method, and the realized gains and losses are included in other income (expense), net in the consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company evaluates its investments periodically for possible other-than-temporary impairment. A decline in fair value below the amortized costs of its available-for-sale debt securities is considered an other-than-temporary impairment if the Company has the intent to sell the security or it is more likely than not that the Company will be required to sell the security before recovery of the entire amortized cost basis. Otherwise, the credit loss component of the impairment is recorded as allowance for credit losses with an offsetting entry charged to other income (expense), net, while the remaining loss is recognized in other comprehensive income (loss).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Restricted Cash&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of both December&#160;31, 2023 and 2022, the Company had a restricted cash balance of $0.2 million, which consists of a letter of credit related to a lease arrangement that is collateralized by restricted cash. As of December&#160;31, 2023 and 2022, these amounts are included in prepaid expenses and other current assets on the consolidated balance sheets. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Accounts Receivable, net&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accounts receivable are recorded and carried at the original invoiced amount, net of an allowance for any potential credit losses. The allowance for credit losses is determined based upon the assessment of various factors, such as historical experience, credit quality of its customers, age of the accounts receivable balances, geographic related risks, economic &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;conditions, and other factors that may affect a customer&#x2019;s ability to pay. The Company records these charges as a component of general and administrative expenses in the consolidated statements of operations in the period in which the change occurs. The Company does not have any&#160;off-balance&#160;sheet credit exposure related to its customers.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Incremental Costs to Obtain a Contract with a Customer&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company capitalizes incremental costs associated with obtaining customer contracts, specifically certain commission payments. The Company pays commissions based on contract value upon signing a new arrangement with a customer and upon renewal and upgrades of existing contracts with customers only if the renewal and upgrades result in an incremental increase in contract value. These costs are deferred on the consolidated balance sheets and amortized over the expected period of benefit on a straight-line basis. The Company also pays commissions on an ongoing basis based upon revenue recognized. In these cases, no incremental costs are deferred, as the commissions are earned and expensed in the same period for which the associated revenue is recognized. Based on the nature of the Company&#x2019;s technology and services, and the duration of its relationships with its customers, the expected period of benefit is determined to be five years. Amortization is primarily included in sales and marketing expense in the consolidated statements of operations. Deferred commission and incentive payments are included in other assets on the consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Fair Value of Financial Instruments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s available-for-sale securities are recorded at fair value. The Company&#x2019;s cash and cash equivalents and restricted cash are recorded at cost, which approximates fair value. Additionally, accounts receivable, accounts payable, and accrued expenses approximate fair value due to their short-term nature. For disclosure purposes, the Company measures the fair value of its outstanding senior convertible notes using a market approach based on actual bids and offers in an over-the-counter market, or Level 2 inputs, on the last trading day of the period.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Property and Equipment&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment are stated at cost less accumulated depreciation and amortization. Depreciation and amortization are computed on a straight-line basis over the estimated useful lives of the assets. The estimated useful life of each asset category is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.444%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:68.404%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:29.396%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Computer and networking equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3 to 5 years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="padding-left:18pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Leasehold improvements&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Shorter of lease term or 5 years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Furniture and fixtures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Office equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Internal-use software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3 to 5 years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company periodically reviews the estimated useful lives of property and equipment and any changes to the estimated useful lives are recorded prospectively from the date of the change. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Upon retirement or sale, the cost of the assets disposed of and the related accumulated depreciation are removed from the accounts, and any resulting gain or loss is included in the consolidated statements of operations. Repairs and maintenance costs are expensed as incurred.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Internal-Use Software Development Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Labor and related costs associated with&#160;internal-use&#160;software incurred during the application development stage are capitalized.&#160;Capitalization of costs begins when the preliminary project stage is completed, management has committed to funding the project, and it is probable that the project will be completed and the software will be used to perform the function intended. Capitalization ceases at the point when the project is fully tested, is substantially completed and is ready for its intended purpose. The capitalized amounts are included in property and equipment, net on the consolidated balance sheets. The Company amortizes such costs on a straight-line basis over the estimated useful life of the software, which is generally &lt;span style="-sec-ix-hidden:f-496"&gt;three&lt;/span&gt; to five years. Completed&#160;internal-use&#160;software that is related to the Company&#x2019;s network is amortized to cost of revenue over its &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;estimated useful life. Costs incurred during the planning, training, and post-implementation stages of the software development life-cycle are expensed as incurred.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Business Combinations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company accounts for its acquisitions using the acquisition method of accounting, which requires, among other things, allocation of the fair value of purchase consideration to the tangible and intangible assets acquired and liabilities assumed at their estimated fair values on the acquisition date. The excess of the fair value of purchase consideration over the values of these identifiable assets and liabilities is recorded as goodwill. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; Determining the fair value of assets acquired and liabilities assumed requires significant judgment and estimates including the selection of valuation methodologies, future expected cash flows, discount rates, and useful lives. The Company&#x2019;s estimates of fair value are based on assumptions believed to be reasonable, but which are inherently uncertain and, as a result, actual results may differ from estimates. During the measurement period, not to exceed one year from the date of acquisition, the Company may record adjustments to the assets acquired and liabilities assumed with a corresponding offset to goodwill to reflect new information obtained about facts and circumstances that existed as of the acquisition date. At the conclusion of the measurement period, or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments are reflected in the consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Transaction costs associated with business combinations are expensed as incurred, and are included in general and administrative expense in the consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Segments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company considers operating segments to be components of the Company in which separate financial information is available and is evaluated regularly by the Company&#x2019;s Chief Operating Decision Maker (&#x201c;CODM&#x201d;) in deciding how to allocate resources and in assessing performance. The CODM is the Chief Executive Officer (&#x201c;CEO&#x201d;). The CEO reviews financial information presented on a consolidated basis, accompanied by information about revenue, customer size, and industry vertical for purposes of allocating resources and evaluating financial performance.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;The Company has determined that it is organized as a single operating segment with no segment managers who are held accountable for operations, operating results, or plans for levels or components below the consolidated unit level. Accordingly, the Company has determined that it has a single reportable segment and operating segment.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Goodwill, Intangible Assets and Other Long-Lived Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Goodwill represents the excess of the purchase price of an acquired business over the fair value of the net tangible and identifiable intangible assets acquired. The carrying amount of goodwill is reviewed for impairment at least annually, in the fourth quarter, or whenever events or changes in circumstances indicate that the carrying value may not be recoverable. The Company has a single operating segment and reporting unit structure for all of the periods presented.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:27pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As part of the annual goodwill impairment test, the Company first performs a qualitative assessment to determine whether further impairment testing is necessary. If, as a result of the qualitative assessment, it is more likely than not that the fair value of the reporting unit is less than its carrying amount, the quantitative impairment test will be required. If the Company has determined it necessary to perform a quantitative impairment assessment, the Company will compare the fair value of the reporting unit with its carrying amount and recognize an impairment charge for the amount by which the carrying amount exceeds the reporting unit&#x2019;s fair value, limited to the total amount of goodwill of the reporting unit. The Company did not recognize any goodwill impairment charges for any of the periods presented.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s definite lived intangible assets are carried at cost, net of accumulated amortization. Intangible assets are amortized on a straight-line basis over their estimated useful lives. The Company estimates the useful life by estimating the expected period of economic benefit. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The useful lives of the intangible assets are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;padding-left:36pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:90.789%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:76.999%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:20.801%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3 to 8 years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Developed technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4 to 5 years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trade names&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3 to 4 years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Backlog&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Internet protocol addresses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;In-process research and development (&#x201c;IPR&amp;amp;D&#x201d;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Long-lived assets, including property and equipment, definite lived intangible assets, and operating lease right-of-use assets, are reviewed for impairment whenever events or changes in circumstances, such as service discontinuance, technological obsolescence, significant decreases in market capitalization, facility closures, or work-force reductions indicate that the carrying amount of the long-lived asset or asset group may not be recoverable. When such events occur, the Company compares the carrying amount of the asset or asset group to the undiscounted expected future cash flows related to the asset or asset group. If this comparison indicates that an impairment is present, the amount of impairment is calculate as the difference between the carrying amount and the fair value of the asset or asset group. The Company&#x2019;s indefinite lived intangibles are assessed annually for impairment. In addition to the recoverability assessment, the Company periodically reviews the remaining estimated useful lives of long-lived assets. If the estimated useful life assumption for any asset is changed due to new information, the remaining unamortized balance would be depreciated or amortized over the revised estimated useful life, on a prospective basis. Refer to Note 6 &#x2014; Balance Sheet Information and Note 7 &#x2014; Leases for discussion of impairment of property and equipment and impairment of operating lease right-of-use asset, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Leases &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company leases office space and data centers (&#x201c;colocation leases&#x201d;) under non-cancelable operating leases with various expiration dates. The Company also leases server equipment under non-cancelable finance leases with various expiration dates. The Company determines if an arrangement contains a lease at inception.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating lease right-of-use assets and lease liabilities are recognized at the present value of the future lease payments at commencement date. The interest rate implicit in the Company&#x2019;s operating leases is not readily determinable, and therefore an incremental borrowing rate is estimated to determine the present value of future payments. The estimated incremental borrowing rate factors in a hypothetical interest rate on a collateralized basis with similar terms, payments, and economic environments. Operating lease right-of-use assets also include any prepaid lease payments and exclude lease incentives.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating lease expense is recognized on a straight-line basis over the lease term commencing on the date the Company has the right to use the leased property. The lease terms may include options to extend or terminate the lease. The Company generally uses the base, non-cancelable, lease term when recognizing the lease assets and liabilities, unless it is reasonably certain that the option will be exercised. The lease agreements may contain variable costs such as common area maintenance, operating expenses or other costs. Variable lease costs are expensed as incurred on the consolidated statements of operations. The Company&#x2019;s lease agreements generally do not contain any residual value guarantees or restrictive covenants.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Certain of our operating leases contain both lease and non-lease components. Non-lease components for our office spaces include fixed payments for maintenance, utilities, real estate taxes, and management fees. Non-lease components for colocation leases include fixed payments for utilities and other operating costs. For both office spaces and colocation leases, the Company combines fixed lease and non-lease components and account for them as a single lease component.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company leases networking equipment from a third party, through equipment finance leases. These leases include a bargain purchase option, resulting in a full transfer of ownership at the completion of the lease term. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating leases are reflected in operating lease right-of-use assets, operating lease liabilities, and operating lease liabilities, non-current on the consolidated balance sheets. Finance leases are included in property and equipment, net, finance lease liabilities, and finance lease liabilities, non-current on the consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Convertible Debt&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company evaluated the terms of its debt in line with Accounting Standards Update (&#x201c;ASU&#x201d;) 2020-06 and concluded that the instrument does not require separation and that there were no other derivatives that required separation. The Company has combined these features with the host contract and accounted for the convertible debt as a single liability in long-term debt on the consolidated balance sheets. The carrying amount of the liability is based on the gross proceeds, net of the unamortized transaction costs incurred related to the issuance of the convertible debt instrument, and the partial repurchases made in 2022 and 2023. The debt discount from the net unamortized transaction cost is amortized to interest expense over the term of the convertible debt instrument using the effective interest rate method.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Revenue recognition&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company primarily derives revenue from the sale of services to customers executing contracts in which the standard contract term is one year, although terms may vary by contract. Most of the Company&#x2019;s contracts are non-cancelable over the contractual term. The majority of the Company&#x2019;s usage-based contracts commit the customer to a minimum monthly level of usage and specify the rate at which the customer must pay for actual usage above the monthly minimum. The Company also offers subscriptions to access a unified security web application and application programming interface at a fixed rate.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company recognizes revenue in accordance with Accounting Standards Codification (&#x201c;ASC&#x201d;) 606, where revenue is recognized upon transfer of control of promised products or services to customers in an amount that reflects the consideration the Company expects to receive in exchange for those products or services. The processing and recording of certain revenue requires a manual process, which uses a complex set of procedures to generate complete and accurate data to record these revenue transactions. The Company enters into contracts that can include various combinations of products and services, each of which are distinct and accounted for as separate performance obligations. Revenue is recognized net of any taxes collected from customers, which are subsequently remitted to governmental authorities.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s contracts with customers often include promises to transfer multiple products and services to a customer. Determining whether products and services are considered distinct performance obligations that should be accounted for separately versus together may require significant judgment. Performance obligations generally represent stand-ready obligations that are satisfied over time as the customer simultaneously receives and consumes the benefits provided by the Company. These obligations can be network services, security, compute, professional services, support, and other edge cloud platform services.  Accordingly, the Company&#x2019;s revenue is recognized over time, consistent with the pattern of benefit provided to the customer over the term of the agreement. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For contracts with multiple performance obligations that are delivered over different time periods, the Company allocates the contract transaction price to each performance obligation using the estimated standalone selling price (&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;&#x201c;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;SSP&#x201d;) of each distinct good or service in the contract. Judgment is required to determine the SSP for each distinct performance obligation. The Company analyzes separate sales of its products and services or the discounted list price per management&#x2019;s approved price list as a basis for estimating the SSP of these products and services. In instances where SSP is not directly observable, such as when the Company does not sell the product or service separately, the Company determines the SSP using information that may include market conditions and other observable inputs. The Company typically has more than one SSP for individual products and services due to the stratification of those products and services by customers and circumstances. In these instances, the Company may use information, such as geographic region and distribution channel, in determining the SSP.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The transaction price in a contract for usage-based services is typically equal to the minimum commit price in the contract plus any variable amounts of usage above the minimum commitment, less any discounts provided. The transaction price in a contract that does not contain usage-based services is equal to the total contract value. Because the Company&#x2019;s typical contracts represent distinct services delivered over time with the same pattern of transfer to the customer, usage-based consideration primarily related to actual consumption over the minimum commit levels is allocated to the period to which it relates. The amount of consideration recognized for usage above the minimum commit price is limited to the amount the Company expects to be entitled to receive in exchange for providing services. The Company has elected to apply the practical expedient for estimating and disclosing the variable consideration when variable consideration is allocated entirely to a wholly unsatisfied performance obligation or to a wholly unsatisfied promise to transfer a distinct good or service that forms part of a single performance obligation from its remaining performance obligations under these contracts. For contracts to which such practical expedient cannot be applied, consideration is estimated. For custom arrangements, other methods may be used as a measure of progress towards satisfying the performance obligations. Revenue on the Company&#x2019;s subscription services are recognized ratably over their respective contractual term.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At times, customers may request changes that either amend, replace, or cancel existing contracts. Judgment is required to determine whether the specific facts and circumstances within the contracts should be accounted for as a separate contract or as a prospective modification.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In contracts where there are timing differences between when the Company transfers a promised good or service to the customer and when the customer pays for that good or service, the Company has determined its contracts do not include a significant financing component. The Company has also elected the practical expedient to not measure financing components for any contract where the timing difference is less than one year.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Cost of Revenue&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cost of revenue consists primarily of fees paid to network providers for bandwidth and to third-party network data centers for housing servers, also known as colocation costs. Cost of revenue also includes employee costs for network operation, build-out and support and services delivery, network storage costs, cost of managed services and software-as-a-service, depreciation of network equipment used to deliver services, and amortization of network-related internal-use software. The Company enters into contracts for bandwidth with third-party network providers with terms of typically one year. These contracts generally commit the Company to pay minimum monthly fees plus additional fees for bandwidth usage above the committed level. The Company enters into contracts for colocation services with third-party providers with terms typically ranging from &lt;span style="-sec-ix-hidden:f-514"&gt;one&lt;/span&gt; to six years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Research and Development Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Research and development costs consist of primarily payroll and related personnel costs for the design, development, testing, and enhancement of the Company&#x2019;s edge cloud platform. Research and development expenses also include cloud infrastructure fees for development and testing. Costs incurred in the development of the Company&#x2019;s edge cloud platform are expensed as incurred, excluding those expenses which meet the criteria for the capitalization of internal-use software.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Advertising Expense&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company recognizes advertising expense as incurred. The Company recognized total advertising expense of approximately $4.6&#160;million, $2.5 million and $2.3&#160;million for the years ended December&#160;31, 2023, 2022, and 2021, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Accounting for Stock-Based Compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company recognizes stock-based compensation expense based on the grant-date fair value of the awards. The fair values of the restricted stock units (&#x201c;RSUs&#x201d;), restricted stock awards (&#x201c;RSAs&#x201d;) and performance stock awards (&#x201c;PSUs&#x201d;) are based on the fair value of the Company&#x2019;s stock price on the grant date. The fair values of stock options and ESPP are based on the Black-Scholes option-pricing model. The fair value of the market-based performance stock awards (&#x201c;MPSUs&#x201d;) is measured using a Monte Carlo simulation valuation model. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The determination of the fair value of a stock-based award is affected by the deemed fair value of the underlying stock price on the grant date, as well as assumptions regarding a number of other complex and subjective variables, including expected term and stock price volatility of the awards. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Stock-based compensation expense for awards with service-based vesting only is recognized on a straight-line basis over the requisite service period of the awards, which is generally &lt;span style="-sec-ix-hidden:f-522"&gt;three&lt;/span&gt; or four years. In addition to service-based conditions, stock-based compensation expense for awards that have performance-based or market-based conditions are recognized over the requisite service period for each separately-vesting tranche as though each tranche of the award is its own separate grant, which results in an accelerated recognition of compensation cost. The Company accounts for forfeitures as they occur. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Foreign Currency &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The functional currency of the Company&#x2019;s foreign subsidiaries is the U.S. dollar. The monetary assets and liabilities that are denominated in a currency other than the U.S. dollar of the Company&#x2019;s foreign subsidiaries are remeasured into U.S. dollars at the exchange rate on the balance sheet date, while non-monetary items are remeasured at historical rates. Revenue and expenses are remeasured at average exchange rates during the period. Transaction gains and losses that arise from exchange rate fluctuations on transactions denominated in a currency other than the functional currency are included in other income (expense), net in the consolidated statements of operations. The aggregate transaction gain or loss for the years ended December&#160;31, 2023, 2022 and 2021 is included in the determination of net income for the period and was not material to the respective periods.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Income Taxes&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company accounts for income taxes under the asset and liability method, which requires the recognition of deferred tax assets and liabilities for the expected future tax consequences of events that have been included in the financial statements. Under this method, the Company determines deferred tax assets and liabilities on the basis of the differences between the financial statement and tax bases of assets and liabilities by using enacted tax rates for the year in which the differences are expected to reverse. The effect of a change in tax rates on deferred tax assets and liabilities is recognized in income in the period that includes the enactment date. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company recognizes deferred tax assets to the extent that it believes that these assets are more likely than not to be realized. In making such a determination, the Company considers all available positive and negative evidence, including future reversals of existing taxable temporary differences, projected future taxable income,&#160;tax-planning&#160;strategies, and results of recent operations. If the Company determines that it would be able to realize its deferred tax assets in the future in excess of &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;their net recorded amount, the Company would make an adjustment to the deferred tax asset valuation allowance, which would reduce the provision for income taxes.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company records uncertain tax positions in accordance with ASC 740 on the basis of a&#160;two-step&#160;process in which (1)&#160;it determines whether it is more likely than not that the tax positions will be sustained on the basis of the technical merits of the position and (2)&#160;for those tax positions that meet the&#160;more-likely-than-not&#160;recognition threshold, the Company recognizes the largest amount of tax benefit that is more than 50&#160;percent likely to be realized upon ultimate settlement with the related tax authority.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company recognizes interest and penalties related to unrecognized tax benefits on the income tax expense line in the accompanying consolidated statement of operations and consolidated statement of comprehensive loss. Accrued interest and penalties are included in accrued expenses on the consolidated balance sheet.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Net Loss Per Share Attributable to Common Stockholders&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Basic and diluted net loss per share is computed by dividing net loss by the weighted-average number of shares of common stock outstanding during the period. Diluted earnings per share attributable to common stockholders adjusts basic earnings per share for the potentially dilutive impact of stock options, restricted stock units, restricted stock awards, shares issuable under its employee stock purchase place and performance stock awards. The Company also applies the if-converted method for calculation of diluted per share for its convertible debt instruments. As the Company has reported losses for all periods presented, all potentially dilutive securities are antidilutive and accordingly, basic net loss per share equals diluted net loss per share. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Prior to the Conversion, the Company&#x2019;s basic and diluted net loss per share attributable to common stockholders was presented in conformity with the two-class method required for multiple classes of common stock and participating securities. Under the&#160;two-class&#160;method, net income is attributed to common stockholders and participating securities based on their participation rights. Under the&#160;two-class&#160;method, basic net loss per share attributable to common stockholders is computed by dividing the net loss attributable to common stockholders by the weighted-average number of shares of common stock outstanding during the period. Diluted earnings per share attributable to common stockholders adjusts basic earnings per share for the potentially dilutive impact of stock options, restricted stock units, restricted stock awards, shares issuable under our employee stock purchase place and performance stock awards.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recently Issued and Adopted Accounting Pronouncements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In November 2023, the FASB issued ASU 2023-07 &#x201c;Segment Reporting - Improvements to Reportable Segment Disclosures&#x201d;, which updates reportable segment disclosure requirements, primarily through enhanced disclosures about significant segment expenses and information used to assess segment performance. The guidance is effective for the Company's annual periods beginning in 2024 and interim periods beginning in the first quarter of fiscal year 2025. The Company is currently evaluating the impact of the new guidance and intends to adopt the guidance retrospectively when it becomes effective in 2024.&lt;/span&gt;&lt;/div&gt;In December, 2023, the FASB issued ASU 2023-09 &#x201c;Income Taxes (Topic 740): Improvements to Income Tax Disclosures&#x201d;, which expands disclosures in an entity&#x2019;s income tax rate reconciliation table and regarding cash taxes paid both in the U.S. and foreign jurisdictions. The guidance is effective for the Company's annual periods beginning in 2025. The Company is currently evaluating the impact of the new guidance and intends to adopt the guidance prospectively when it becomes effective in 2025</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock contextRef="c-1" id="f-467">&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Basis of Presentation and Consolidation&lt;/span&gt;&lt;/div&gt;The accompanying consolidated financial statements and footnotes have been prepared in accordance with accounting principles generally accepted in the United States of America (&#x201c;GAAP&#x201d;).</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:ConsolidationPolicyTextBlock contextRef="c-1" id="f-468">The accompanying consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries. All intercompany transactions and balances have been eliminated in consolidation.</us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:PriorPeriodReclassificationAdjustmentDescription contextRef="c-1" id="f-469">Certain changes to presentation have been made to conform the prior period presentation to the current period reporting. The Company has made certain presentation changes to consolidate the interest paid on finance lease line into other liabilities working capital changes and components of the non-cash lease expense related to operating lease liability changes into operating lease liability working capital changes within operating cash flows in the consolidated statements of cash flows. Such reclassifications did not affect the consolidated balance sheets, total revenues, operating income, net income, or cash flows from operating, investing or financing activities.</us-gaap:PriorPeriodReclassificationAdjustmentDescription>
    <us-gaap:UseOfEstimates contextRef="c-1" id="f-470">&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Use of Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The preparation of consolidated financial statements in conformity with GAAP requires management to make estimates, judgments, and assumptions that affect the reported amounts of assets, liabilities, revenue, costs and expenses, and related disclosures. Actual results and outcomes could differ significantly from the Company&#x2019;s estimates, judgments, and assumptions. Significant estimates, judgments, and assumptions used in these financial statements include, but are not limited to, those related to revenue, accounts receivable and related reserves, internal-use software development costs, the incremental borrowing rate related to the Company&#x2019;s lease liabilities,&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;fair value of assets acquired and liabilities assumed during business combinations, useful lives of acquired intangible assets and property and equipment, fair value of the Company&#x2019;s long-lived assets as well as reporting unit, income tax reserves, and accounting for stock-based compensation. Estimates are periodically reviewed in light of changes in circumstances, facts, and experience. The effects of material revisions in estimates are reflected in the consolidated financial statements in the period of change and prospectively from the date of the change in estimate.&lt;/span&gt;&lt;/div&gt;</us-gaap:UseOfEstimates>
    <us-gaap:ConcentrationRiskCreditRisk contextRef="c-1" id="f-471">&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Concentrations of Credit Risk&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Financial instruments that potentially subject the Company to significant concentrations of credit risk consist primarily of cash, cash equivalents, marketable securities and accounts receivable. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s cash, cash equivalents, and marketable securities primarily consisted of bank deposits, money market funds, investment-grade commercial paper, corporate notes and bonds, U.S. treasury securities, agency bonds, municipal securities, foreign government and supranational securities and asset-backed securities held at major financial institutions that &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;the Company believes to be of high credit standing. The primary focus of its investment strategy is to preserve capital and meet liquidity requirements. The Company&#x2019;s investment policy limits the amount of credit exposure with any one financial institution or commercial issuer. The Company maintains deposits in federally insured financial institutions in excess of federally insured limits. The Company is exposed to credit risk in the event of default by the financial institutions holding its cash and cash equivalents to the extent recorded in the balance sheets. While the Company has not experienced any losses in such accounts and the Company has historically maintained its cash in multiple financial institutions, the failure of Silicon Valley Bank (&#x201c;SVB&#x201d;) in March 2023, at which the Company held cash and cash equivalents in multiple accounts, exposed the Company to limited credit risk prior to the completion by the Federal Deposit Insurance Corporation (&#x201c;FDIC&#x201d;) of the resolution of SVB in a manner that fully protected all depositors.&lt;/span&gt;&lt;/div&gt;Concentrations of credit risk with respect to accounts receivable are primarily limited to certain customers to which the Company makes substantial sales. The Company&#x2019;s customer base consists of a large number of geographically dispersed customers diversified across several industries</us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="c-48" decimals="2" id="f-472" unitRef="number">0.12</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="c-49" decimals="2" id="f-473" unitRef="number">0.11</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="c-50" decimals="2" id="f-474" unitRef="number">0.11</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="c-51" decimals="2" id="f-475" unitRef="number">0.23</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="c-52" decimals="2" id="f-476" unitRef="number">0.15</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:CashAndCashEquivalentsUnrestrictedCashAndCashEquivalentsPolicy contextRef="c-1" id="f-478">&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Cash, Cash Equivalents and Marketable Securities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash and cash equivalents include cash held in banks, highly liquid money market funds, U.S. treasury securities and commercial paper, all with original maturities of three months or less when acquired. The Company&#x2019;s short-term and long-term marketable securities consists of fixed income U.S. and foreign government agency securities, corporate bonds, agency bonds, asset-backed securities and commercial paper. Management determines the appropriate classification of the Company&#x2019;s investments at the time of purchase and reevaluates such designation at each balance sheet date. The Company classifies its marketable securities as either short-term or long-term based on each instrument&#x2019;s underlying remaining contractual maturity date.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company classifies its marketable securities as available-for-sale as it has the ability to sell the marketable securities prior to its maturity. The Company&#x2019;s marketable securities are reported at fair value with unrealized gains and losses reported, net of tax, as a separate component of accumulated other comprehensive income (loss) in stockholders&#x2019; equity. Cash and cash equivalents are stated at cost, which approximate fair market value. Short-term and long-term marketable securities are classified as available-for-sale debt securities and are also carried at fair market value. When the available-for-sale debt securities are sold, cost is based on the specific identification method, and the realized gains and losses are included in other income (expense), net in the consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company evaluates its investments periodically for possible other-than-temporary impairment. A decline in fair value below the amortized costs of its available-for-sale debt securities is considered an other-than-temporary impairment if the Company has the intent to sell the security or it is more likely than not that the Company will be required to sell the security before recovery of the entire amortized cost basis. Otherwise, the credit loss component of the impairment is recorded as allowance for credit losses with an offsetting entry charged to other income (expense), net, while the remaining loss is recognized in other comprehensive income (loss).&lt;/span&gt;&lt;/div&gt;</us-gaap:CashAndCashEquivalentsUnrestrictedCashAndCashEquivalentsPolicy>
    <us-gaap:MarketableSecuritiesPolicy contextRef="c-1" id="f-477">&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Cash, Cash Equivalents and Marketable Securities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash and cash equivalents include cash held in banks, highly liquid money market funds, U.S. treasury securities and commercial paper, all with original maturities of three months or less when acquired. The Company&#x2019;s short-term and long-term marketable securities consists of fixed income U.S. and foreign government agency securities, corporate bonds, agency bonds, asset-backed securities and commercial paper. Management determines the appropriate classification of the Company&#x2019;s investments at the time of purchase and reevaluates such designation at each balance sheet date. The Company classifies its marketable securities as either short-term or long-term based on each instrument&#x2019;s underlying remaining contractual maturity date.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company classifies its marketable securities as available-for-sale as it has the ability to sell the marketable securities prior to its maturity. The Company&#x2019;s marketable securities are reported at fair value with unrealized gains and losses reported, net of tax, as a separate component of accumulated other comprehensive income (loss) in stockholders&#x2019; equity. Cash and cash equivalents are stated at cost, which approximate fair market value. Short-term and long-term marketable securities are classified as available-for-sale debt securities and are also carried at fair market value. When the available-for-sale debt securities are sold, cost is based on the specific identification method, and the realized gains and losses are included in other income (expense), net in the consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company evaluates its investments periodically for possible other-than-temporary impairment. A decline in fair value below the amortized costs of its available-for-sale debt securities is considered an other-than-temporary impairment if the Company has the intent to sell the security or it is more likely than not that the Company will be required to sell the security before recovery of the entire amortized cost basis. Otherwise, the credit loss component of the impairment is recorded as allowance for credit losses with an offsetting entry charged to other income (expense), net, while the remaining loss is recognized in other comprehensive income (loss).&lt;/span&gt;&lt;/div&gt;</us-gaap:MarketableSecuritiesPolicy>
    <us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy contextRef="c-1" id="f-479">&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Restricted Cash&lt;/span&gt;&lt;/div&gt;As of both December&#160;31, 2023 and 2022, the Company had a restricted cash balance of $0.2 million, which consists of a letter of credit related to a lease arrangement that is collateralized by restricted cash. As of December&#160;31, 2023 and 2022, these amounts are included in prepaid expenses and other current assets on the consolidated balance sheets.</us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy>
    <us-gaap:RestrictedCash contextRef="c-4" decimals="-5" id="f-480" unitRef="usd">200000</us-gaap:RestrictedCash>
    <us-gaap:RestrictedCash contextRef="c-5" decimals="-5" id="f-481" unitRef="usd">200000</us-gaap:RestrictedCash>
    <us-gaap:TradeAndOtherAccountsReceivablePolicy contextRef="c-1" id="f-482">&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Accounts Receivable, net&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accounts receivable are recorded and carried at the original invoiced amount, net of an allowance for any potential credit losses. The allowance for credit losses is determined based upon the assessment of various factors, such as historical experience, credit quality of its customers, age of the accounts receivable balances, geographic related risks, economic &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;conditions, and other factors that may affect a customer&#x2019;s ability to pay. The Company records these charges as a component of general and administrative expenses in the consolidated statements of operations in the period in which the change occurs. The Company does not have any&#160;off-balance&#160;sheet credit exposure related to its customers.&lt;/span&gt;&lt;/div&gt;</us-gaap:TradeAndOtherAccountsReceivablePolicy>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock contextRef="c-1" id="f-483">&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Incremental Costs to Obtain a Contract with a Customer&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company capitalizes incremental costs associated with obtaining customer contracts, specifically certain commission payments. The Company pays commissions based on contract value upon signing a new arrangement with a customer and upon renewal and upgrades of existing contracts with customers only if the renewal and upgrades result in an incremental increase in contract value. These costs are deferred on the consolidated balance sheets and amortized over the expected period of benefit on a straight-line basis. The Company also pays commissions on an ongoing basis based upon revenue recognized. In these cases, no incremental costs are deferred, as the commissions are earned and expensed in the same period for which the associated revenue is recognized. Based on the nature of the Company&#x2019;s technology and services, and the duration of its relationships with its customers, the expected period of benefit is determined to be five years. Amortization is primarily included in sales and marketing expense in the consolidated statements of operations. Deferred commission and incentive payments are included in other assets on the consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Revenue recognition&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company primarily derives revenue from the sale of services to customers executing contracts in which the standard contract term is one year, although terms may vary by contract. Most of the Company&#x2019;s contracts are non-cancelable over the contractual term. The majority of the Company&#x2019;s usage-based contracts commit the customer to a minimum monthly level of usage and specify the rate at which the customer must pay for actual usage above the monthly minimum. The Company also offers subscriptions to access a unified security web application and application programming interface at a fixed rate.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company recognizes revenue in accordance with Accounting Standards Codification (&#x201c;ASC&#x201d;) 606, where revenue is recognized upon transfer of control of promised products or services to customers in an amount that reflects the consideration the Company expects to receive in exchange for those products or services. The processing and recording of certain revenue requires a manual process, which uses a complex set of procedures to generate complete and accurate data to record these revenue transactions. The Company enters into contracts that can include various combinations of products and services, each of which are distinct and accounted for as separate performance obligations. Revenue is recognized net of any taxes collected from customers, which are subsequently remitted to governmental authorities.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s contracts with customers often include promises to transfer multiple products and services to a customer. Determining whether products and services are considered distinct performance obligations that should be accounted for separately versus together may require significant judgment. Performance obligations generally represent stand-ready obligations that are satisfied over time as the customer simultaneously receives and consumes the benefits provided by the Company. These obligations can be network services, security, compute, professional services, support, and other edge cloud platform services.  Accordingly, the Company&#x2019;s revenue is recognized over time, consistent with the pattern of benefit provided to the customer over the term of the agreement. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For contracts with multiple performance obligations that are delivered over different time periods, the Company allocates the contract transaction price to each performance obligation using the estimated standalone selling price (&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;&#x201c;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;SSP&#x201d;) of each distinct good or service in the contract. Judgment is required to determine the SSP for each distinct performance obligation. The Company analyzes separate sales of its products and services or the discounted list price per management&#x2019;s approved price list as a basis for estimating the SSP of these products and services. In instances where SSP is not directly observable, such as when the Company does not sell the product or service separately, the Company determines the SSP using information that may include market conditions and other observable inputs. The Company typically has more than one SSP for individual products and services due to the stratification of those products and services by customers and circumstances. In these instances, the Company may use information, such as geographic region and distribution channel, in determining the SSP.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The transaction price in a contract for usage-based services is typically equal to the minimum commit price in the contract plus any variable amounts of usage above the minimum commitment, less any discounts provided. The transaction price in a contract that does not contain usage-based services is equal to the total contract value. Because the Company&#x2019;s typical contracts represent distinct services delivered over time with the same pattern of transfer to the customer, usage-based consideration primarily related to actual consumption over the minimum commit levels is allocated to the period to which it relates. The amount of consideration recognized for usage above the minimum commit price is limited to the amount the Company expects to be entitled to receive in exchange for providing services. The Company has elected to apply the practical expedient for estimating and disclosing the variable consideration when variable consideration is allocated entirely to a wholly unsatisfied performance obligation or to a wholly unsatisfied promise to transfer a distinct good or service that forms part of a single performance obligation from its remaining performance obligations under these contracts. For contracts to which such practical expedient cannot be applied, consideration is estimated. For custom arrangements, other methods may be used as a measure of progress towards satisfying the performance obligations. Revenue on the Company&#x2019;s subscription services are recognized ratably over their respective contractual term.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At times, customers may request changes that either amend, replace, or cancel existing contracts. Judgment is required to determine whether the specific facts and circumstances within the contracts should be accounted for as a separate contract or as a prospective modification.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In contracts where there are timing differences between when the Company transfers a promised good or service to the customer and when the customer pays for that good or service, the Company has determined its contracts do not include a significant financing component. The Company has also elected the practical expedient to not measure financing components for any contract where the timing difference is less than one year.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <us-gaap:CapitalizedContractCostAmortizationPeriod contextRef="c-53" id="f-484">P5Y</us-gaap:CapitalizedContractCostAmortizationPeriod>
    <us-gaap:FairValueOfFinancialInstrumentsPolicy contextRef="c-1" id="f-485">&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Fair Value of Financial Instruments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s available-for-sale securities are recorded at fair value. The Company&#x2019;s cash and cash equivalents and restricted cash are recorded at cost, which approximates fair value. Additionally, accounts receivable, accounts payable, and accrued expenses approximate fair value due to their short-term nature. For disclosure purposes, the Company measures the fair value of its outstanding senior convertible notes using a market approach based on actual bids and offers in an over-the-counter market, or Level 2 inputs, on the last trading day of the period.&lt;/span&gt;&lt;/div&gt;</us-gaap:FairValueOfFinancialInstrumentsPolicy>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock contextRef="c-1" id="f-486">&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Property and Equipment&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment are stated at cost less accumulated depreciation and amortization. Depreciation and amortization are computed on a straight-line basis over the estimated useful lives of the assets. The estimated useful life of each asset category is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.444%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:68.404%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:29.396%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Computer and networking equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3 to 5 years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="padding-left:18pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Leasehold improvements&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Shorter of lease term or 5 years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Furniture and fixtures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Office equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Internal-use software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3 to 5 years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company periodically reviews the estimated useful lives of property and equipment and any changes to the estimated useful lives are recorded prospectively from the date of the change. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Upon retirement or sale, the cost of the assets disposed of and the related accumulated depreciation are removed from the accounts, and any resulting gain or loss is included in the consolidated statements of operations. Repairs and maintenance costs are expensed as incurred.&lt;/span&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock contextRef="c-1" id="f-487">The estimated useful life of each asset category is as follows:&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.444%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:68.404%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:29.396%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Computer and networking equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3 to 5 years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="padding-left:18pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Leasehold improvements&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Shorter of lease term or 5 years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Furniture and fixtures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Office equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Internal-use software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3 to 5 years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment, net consisted of the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:63.070%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.080%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.082%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Computer and networking equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;224,313&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;225,009&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Leasehold improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,605&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,374&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Furniture and fixtures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,142&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,792&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Office equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,228&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,176&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Internal-use software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;97,623&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;66,488&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment, gross&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;333,911&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;302,839&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accumulated depreciation and amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(157,303)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(122,461)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;176,608&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;180,378&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="c-54" id="f-488">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="c-55" id="f-489">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="c-56" id="f-490">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="c-57" id="f-491">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="c-58" id="f-492">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="c-59" id="f-493">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="c-60" id="f-494">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:InternalUseSoftwarePolicy contextRef="c-1" id="f-495">&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Internal-Use Software Development Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Labor and related costs associated with&#160;internal-use&#160;software incurred during the application development stage are capitalized.&#160;Capitalization of costs begins when the preliminary project stage is completed, management has committed to funding the project, and it is probable that the project will be completed and the software will be used to perform the function intended. Capitalization ceases at the point when the project is fully tested, is substantially completed and is ready for its intended purpose. The capitalized amounts are included in property and equipment, net on the consolidated balance sheets. The Company amortizes such costs on a straight-line basis over the estimated useful life of the software, which is generally &lt;span style="-sec-ix-hidden:f-496"&gt;three&lt;/span&gt; to five years. Completed&#160;internal-use&#160;software that is related to the Company&#x2019;s network is amortized to cost of revenue over its &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;estimated useful life. Costs incurred during the planning, training, and post-implementation stages of the software development life-cycle are expensed as incurred.&lt;/span&gt;&lt;/div&gt;</us-gaap:InternalUseSoftwarePolicy>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="c-60" id="f-497">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:BusinessCombinationsPolicy contextRef="c-1" id="f-498">&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Business Combinations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company accounts for its acquisitions using the acquisition method of accounting, which requires, among other things, allocation of the fair value of purchase consideration to the tangible and intangible assets acquired and liabilities assumed at their estimated fair values on the acquisition date. The excess of the fair value of purchase consideration over the values of these identifiable assets and liabilities is recorded as goodwill. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; Determining the fair value of assets acquired and liabilities assumed requires significant judgment and estimates including the selection of valuation methodologies, future expected cash flows, discount rates, and useful lives. The Company&#x2019;s estimates of fair value are based on assumptions believed to be reasonable, but which are inherently uncertain and, as a result, actual results may differ from estimates. During the measurement period, not to exceed one year from the date of acquisition, the Company may record adjustments to the assets acquired and liabilities assumed with a corresponding offset to goodwill to reflect new information obtained about facts and circumstances that existed as of the acquisition date. At the conclusion of the measurement period, or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments are reflected in the consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Transaction costs associated with business combinations are expensed as incurred, and are included in general and administrative expense in the consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;</us-gaap:BusinessCombinationsPolicy>
    <us-gaap:SegmentReportingPolicyPolicyTextBlock contextRef="c-1" id="f-499">&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Segments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company considers operating segments to be components of the Company in which separate financial information is available and is evaluated regularly by the Company&#x2019;s Chief Operating Decision Maker (&#x201c;CODM&#x201d;) in deciding how to allocate resources and in assessing performance. The CODM is the Chief Executive Officer (&#x201c;CEO&#x201d;). The CEO reviews financial information presented on a consolidated basis, accompanied by information about revenue, customer size, and industry vertical for purposes of allocating resources and evaluating financial performance.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;The Company has determined that it is organized as a single operating segment with no segment managers who are held accountable for operations, operating results, or plans for levels or components below the consolidated unit level. Accordingly, the Company has determined that it has a single reportable segment and operating segment.&lt;/span&gt;&lt;/div&gt;</us-gaap:SegmentReportingPolicyPolicyTextBlock>
    <fsly:GoodwillIntangibleAssetsAndLongLivedAssetsPolicyPolicyTextBlock contextRef="c-1" id="f-500">&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Goodwill, Intangible Assets and Other Long-Lived Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Goodwill represents the excess of the purchase price of an acquired business over the fair value of the net tangible and identifiable intangible assets acquired. The carrying amount of goodwill is reviewed for impairment at least annually, in the fourth quarter, or whenever events or changes in circumstances indicate that the carrying value may not be recoverable. The Company has a single operating segment and reporting unit structure for all of the periods presented.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:27pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As part of the annual goodwill impairment test, the Company first performs a qualitative assessment to determine whether further impairment testing is necessary. If, as a result of the qualitative assessment, it is more likely than not that the fair value of the reporting unit is less than its carrying amount, the quantitative impairment test will be required. If the Company has determined it necessary to perform a quantitative impairment assessment, the Company will compare the fair value of the reporting unit with its carrying amount and recognize an impairment charge for the amount by which the carrying amount exceeds the reporting unit&#x2019;s fair value, limited to the total amount of goodwill of the reporting unit. The Company did not recognize any goodwill impairment charges for any of the periods presented.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s definite lived intangible assets are carried at cost, net of accumulated amortization. Intangible assets are amortized on a straight-line basis over their estimated useful lives. The Company estimates the useful life by estimating the expected period of economic benefit. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The useful lives of the intangible assets are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;padding-left:36pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:90.789%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:76.999%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:20.801%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3 to 8 years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Developed technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4 to 5 years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trade names&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3 to 4 years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Backlog&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Internet protocol addresses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;In-process research and development (&#x201c;IPR&amp;amp;D&#x201d;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Long-lived assets, including property and equipment, definite lived intangible assets, and operating lease right-of-use assets, are reviewed for impairment whenever events or changes in circumstances, such as service discontinuance, technological obsolescence, significant decreases in market capitalization, facility closures, or work-force reductions indicate that the carrying amount of the long-lived asset or asset group may not be recoverable. When such events occur, the Company compares the carrying amount of the asset or asset group to the undiscounted expected future cash flows related to the asset or asset group. If this comparison indicates that an impairment is present, the amount of impairment is calculate as the difference between the carrying amount and the fair value of the asset or asset group. The Company&#x2019;s indefinite lived intangibles are assessed annually for impairment. In addition to the recoverability assessment, the Company periodically reviews the remaining estimated useful lives of long-lived assets. If the estimated useful life assumption for any asset is changed due to new information, the remaining unamortized balance would be depreciated or amortized over the revised estimated useful life, on a prospective basis. Refer to Note 6 &#x2014; Balance Sheet Information and Note 7 &#x2014; Leases for discussion of impairment of property and equipment and impairment of operating lease right-of-use asset, respectively.&lt;/span&gt;&lt;/div&gt;</fsly:GoodwillIntangibleAssetsAndLongLivedAssetsPolicyPolicyTextBlock>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock contextRef="c-1" id="f-501">&lt;div style="text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The useful lives of the intangible assets are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;padding-left:36pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:90.789%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:76.999%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:20.801%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3 to 8 years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Developed technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4 to 5 years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trade names&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3 to 4 years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Backlog&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Internet protocol addresses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;In-process research and development (&#x201c;IPR&amp;amp;D&#x201d;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2023 and December&#160;31, 2022, the Company&#x2019;s intangible assets consisted of the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:23.461%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.742%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.742%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.742%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.742%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.742%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.749%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31, 2023&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross carrying value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Accumulated amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Net carrying value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross carrying value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Accumulated amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Net carrying value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="33" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;69,860&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(28,473)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,387&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;69,860&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(19,582)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,278&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Developed technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,130&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(32,424)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,706&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,130&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(22,367)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,763&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trade names&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,910&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,542)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;368&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,910&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,564)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,346&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Internet protocol addresses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,984&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,970)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,014&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,984&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,471)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,513&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Backlog&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,200)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;128,884&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(66,409)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,475&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;131,084&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(48,184)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82,900&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="c-61" id="f-502">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="c-62" id="f-503">P8Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="c-63" id="f-504">P4Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="c-64" id="f-505">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="c-65" id="f-506">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="c-66" id="f-507">P4Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="c-67" id="f-508">P2Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="c-68" id="f-509">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:LesseeLeasesPolicyTextBlock contextRef="c-1" id="f-510">&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Leases &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company leases office space and data centers (&#x201c;colocation leases&#x201d;) under non-cancelable operating leases with various expiration dates. The Company also leases server equipment under non-cancelable finance leases with various expiration dates. The Company determines if an arrangement contains a lease at inception.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating lease right-of-use assets and lease liabilities are recognized at the present value of the future lease payments at commencement date. The interest rate implicit in the Company&#x2019;s operating leases is not readily determinable, and therefore an incremental borrowing rate is estimated to determine the present value of future payments. The estimated incremental borrowing rate factors in a hypothetical interest rate on a collateralized basis with similar terms, payments, and economic environments. Operating lease right-of-use assets also include any prepaid lease payments and exclude lease incentives.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating lease expense is recognized on a straight-line basis over the lease term commencing on the date the Company has the right to use the leased property. The lease terms may include options to extend or terminate the lease. The Company generally uses the base, non-cancelable, lease term when recognizing the lease assets and liabilities, unless it is reasonably certain that the option will be exercised. The lease agreements may contain variable costs such as common area maintenance, operating expenses or other costs. Variable lease costs are expensed as incurred on the consolidated statements of operations. The Company&#x2019;s lease agreements generally do not contain any residual value guarantees or restrictive covenants.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Certain of our operating leases contain both lease and non-lease components. Non-lease components for our office spaces include fixed payments for maintenance, utilities, real estate taxes, and management fees. Non-lease components for colocation leases include fixed payments for utilities and other operating costs. For both office spaces and colocation leases, the Company combines fixed lease and non-lease components and account for them as a single lease component.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company leases networking equipment from a third party, through equipment finance leases. These leases include a bargain purchase option, resulting in a full transfer of ownership at the completion of the lease term. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating leases are reflected in operating lease right-of-use assets, operating lease liabilities, and operating lease liabilities, non-current on the consolidated balance sheets. Finance leases are included in property and equipment, net, finance lease liabilities, and finance lease liabilities, non-current on the consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeLeasesPolicyTextBlock>
    <us-gaap:DebtPolicyTextBlock contextRef="c-1" id="f-511">&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Convertible Debt&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company evaluated the terms of its debt in line with Accounting Standards Update (&#x201c;ASU&#x201d;) 2020-06 and concluded that the instrument does not require separation and that there were no other derivatives that required separation. The Company has combined these features with the host contract and accounted for the convertible debt as a single liability in long-term debt on the consolidated balance sheets. The carrying amount of the liability is based on the gross proceeds, net of the unamortized transaction costs incurred related to the issuance of the convertible debt instrument, and the partial repurchases made in 2022 and 2023. The debt discount from the net unamortized transaction cost is amortized to interest expense over the term of the convertible debt instrument using the effective interest rate method.&lt;/span&gt;&lt;/div&gt;</us-gaap:DebtPolicyTextBlock>
    <us-gaap:CostOfSalesPolicyTextBlock contextRef="c-1" id="f-512">&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Cost of Revenue&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cost of revenue consists primarily of fees paid to network providers for bandwidth and to third-party network data centers for housing servers, also known as colocation costs. Cost of revenue also includes employee costs for network operation, build-out and support and services delivery, network storage costs, cost of managed services and software-as-a-service, depreciation of network equipment used to deliver services, and amortization of network-related internal-use software. The Company enters into contracts for bandwidth with third-party network providers with terms of typically one year. These contracts generally commit the Company to pay minimum monthly fees plus additional fees for bandwidth usage above the committed level. The Company enters into contracts for colocation services with third-party providers with terms typically ranging from &lt;span style="-sec-ix-hidden:f-514"&gt;one&lt;/span&gt; to six years.&lt;/span&gt;&lt;/div&gt;</us-gaap:CostOfSalesPolicyTextBlock>
    <fsly:RevenueWithCustomerDurationOfContracts contextRef="c-69" id="f-513">P1Y</fsly:RevenueWithCustomerDurationOfContracts>
    <fsly:RevenueWithCustomerDurationOfContracts contextRef="c-71" id="f-515">P6Y</fsly:RevenueWithCustomerDurationOfContracts>
    <us-gaap:ResearchAndDevelopmentExpensePolicy contextRef="c-1" id="f-516">&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Research and Development Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Research and development costs consist of primarily payroll and related personnel costs for the design, development, testing, and enhancement of the Company&#x2019;s edge cloud platform. Research and development expenses also include cloud infrastructure fees for development and testing. Costs incurred in the development of the Company&#x2019;s edge cloud platform are expensed as incurred, excluding those expenses which meet the criteria for the capitalization of internal-use software.&lt;/span&gt;&lt;/div&gt;</us-gaap:ResearchAndDevelopmentExpensePolicy>
    <us-gaap:AdvertisingCostsPolicyTextBlock contextRef="c-1" id="f-517">&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Advertising Expense&lt;/span&gt;&lt;/div&gt;The Company recognizes advertising expense as incurred.</us-gaap:AdvertisingCostsPolicyTextBlock>
    <us-gaap:AdvertisingExpense contextRef="c-1" decimals="-5" id="f-518" unitRef="usd">4600000</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense contextRef="c-6" decimals="-5" id="f-519" unitRef="usd">2500000</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense contextRef="c-7" decimals="-5" id="f-520" unitRef="usd">2300000</us-gaap:AdvertisingExpense>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy contextRef="c-1" id="f-521">&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Accounting for Stock-Based Compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company recognizes stock-based compensation expense based on the grant-date fair value of the awards. The fair values of the restricted stock units (&#x201c;RSUs&#x201d;), restricted stock awards (&#x201c;RSAs&#x201d;) and performance stock awards (&#x201c;PSUs&#x201d;) are based on the fair value of the Company&#x2019;s stock price on the grant date. The fair values of stock options and ESPP are based on the Black-Scholes option-pricing model. The fair value of the market-based performance stock awards (&#x201c;MPSUs&#x201d;) is measured using a Monte Carlo simulation valuation model. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The determination of the fair value of a stock-based award is affected by the deemed fair value of the underlying stock price on the grant date, as well as assumptions regarding a number of other complex and subjective variables, including expected term and stock price volatility of the awards. &lt;/span&gt;&lt;/div&gt;Stock-based compensation expense for awards with service-based vesting only is recognized on a straight-line basis over the requisite service period of the awards, which is generally &lt;span style="-sec-ix-hidden:f-522"&gt;three&lt;/span&gt; or four years. In addition to service-based conditions, stock-based compensation expense for awards that have performance-based or market-based conditions are recognized over the requisite service period for each separately-vesting tranche as though each tranche of the award is its own separate grant, which results in an accelerated recognition of compensation cost. The Company accounts for forfeitures as they occur.</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1 contextRef="c-73" id="f-523">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock contextRef="c-1" id="f-524">&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Foreign Currency &lt;/span&gt;&lt;/div&gt;The functional currency of the Company&#x2019;s foreign subsidiaries is the U.S. dollar. The monetary assets and liabilities that are denominated in a currency other than the U.S. dollar of the Company&#x2019;s foreign subsidiaries are remeasured into U.S. dollars at the exchange rate on the balance sheet date, while non-monetary items are remeasured at historical rates. Revenue and expenses are remeasured at average exchange rates during the period. Transaction gains and losses that arise from exchange rate fluctuations on transactions denominated in a currency other than the functional currency are included in other income (expense), net in the consolidated statements of operations.</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
    <us-gaap:IncomeTaxPolicyTextBlock contextRef="c-1" id="f-525">&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Income Taxes&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company accounts for income taxes under the asset and liability method, which requires the recognition of deferred tax assets and liabilities for the expected future tax consequences of events that have been included in the financial statements. Under this method, the Company determines deferred tax assets and liabilities on the basis of the differences between the financial statement and tax bases of assets and liabilities by using enacted tax rates for the year in which the differences are expected to reverse. The effect of a change in tax rates on deferred tax assets and liabilities is recognized in income in the period that includes the enactment date. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company recognizes deferred tax assets to the extent that it believes that these assets are more likely than not to be realized. In making such a determination, the Company considers all available positive and negative evidence, including future reversals of existing taxable temporary differences, projected future taxable income,&#160;tax-planning&#160;strategies, and results of recent operations. If the Company determines that it would be able to realize its deferred tax assets in the future in excess of &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;their net recorded amount, the Company would make an adjustment to the deferred tax asset valuation allowance, which would reduce the provision for income taxes.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company records uncertain tax positions in accordance with ASC 740 on the basis of a&#160;two-step&#160;process in which (1)&#160;it determines whether it is more likely than not that the tax positions will be sustained on the basis of the technical merits of the position and (2)&#160;for those tax positions that meet the&#160;more-likely-than-not&#160;recognition threshold, the Company recognizes the largest amount of tax benefit that is more than 50&#160;percent likely to be realized upon ultimate settlement with the related tax authority.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company recognizes interest and penalties related to unrecognized tax benefits on the income tax expense line in the accompanying consolidated statement of operations and consolidated statement of comprehensive loss. Accrued interest and penalties are included in accrued expenses on the consolidated balance sheet.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:EarningsPerSharePolicyTextBlock contextRef="c-1" id="f-526">&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Net Loss Per Share Attributable to Common Stockholders&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Basic and diluted net loss per share is computed by dividing net loss by the weighted-average number of shares of common stock outstanding during the period. Diluted earnings per share attributable to common stockholders adjusts basic earnings per share for the potentially dilutive impact of stock options, restricted stock units, restricted stock awards, shares issuable under its employee stock purchase place and performance stock awards. The Company also applies the if-converted method for calculation of diluted per share for its convertible debt instruments. As the Company has reported losses for all periods presented, all potentially dilutive securities are antidilutive and accordingly, basic net loss per share equals diluted net loss per share. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Prior to the Conversion, the Company&#x2019;s basic and diluted net loss per share attributable to common stockholders was presented in conformity with the two-class method required for multiple classes of common stock and participating securities. Under the&#160;two-class&#160;method, net income is attributed to common stockholders and participating securities based on their participation rights. Under the&#160;two-class&#160;method, basic net loss per share attributable to common stockholders is computed by dividing the net loss attributable to common stockholders by the weighted-average number of shares of common stock outstanding during the period. Diluted earnings per share attributable to common stockholders adjusts basic earnings per share for the potentially dilutive impact of stock options, restricted stock units, restricted stock awards, shares issuable under our employee stock purchase place and performance stock awards.&lt;/span&gt;&lt;/div&gt;</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="c-1" id="f-527">&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recently Issued and Adopted Accounting Pronouncements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In November 2023, the FASB issued ASU 2023-07 &#x201c;Segment Reporting - Improvements to Reportable Segment Disclosures&#x201d;, which updates reportable segment disclosure requirements, primarily through enhanced disclosures about significant segment expenses and information used to assess segment performance. The guidance is effective for the Company's annual periods beginning in 2024 and interim periods beginning in the first quarter of fiscal year 2025. The Company is currently evaluating the impact of the new guidance and intends to adopt the guidance retrospectively when it becomes effective in 2024.&lt;/span&gt;&lt;/div&gt;In December, 2023, the FASB issued ASU 2023-09 &#x201c;Income Taxes (Topic 740): Improvements to Income Tax Disclosures&#x201d;, which expands disclosures in an entity&#x2019;s income tax rate reconciliation table and regarding cash taxes paid both in the U.S. and foreign jurisdictions. The guidance is effective for the Company's annual periods beginning in 2025. The Company is currently evaluating the impact of the new guidance and intends to adopt the guidance prospectively when it becomes effective in 2025.</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="c-1" id="f-530">Revenue&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Disaggregation of revenue&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue by geography is based on the billing address of the customer. Aside from the United States, no other single country accounted for more than 10% of revenue for the years ended December&#160;31, 2023, 2022 and 2021. The following table presents the Company&#x2019;s net revenue by geographic region:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.099%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:64.026%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.545%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.779%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.545%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.779%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.545%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.781%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;370,424&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;316,149&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;260,399&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asia Pacific&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;72,873&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,073&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,496&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Europe&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,770&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,469&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,177&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;All other &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,921&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,034&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,258&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;505,988&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;432,725&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;354,330&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The majority of the Company&#x2019;s revenue is derived from enterprise customers. In the first quarter of 2023, the Company updated its methodology (&#x201c;new methodology&#x201d;) by which it calculates its customer count metrics, including Total Customer Count, Enterprise Customer Count and associated metrics. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Under the prior methodology, enterprise customers is defined as customers with revenue in excess of&#160;$100,000 over the trailing 12-month period. The following table presents the Company&#x2019;s net revenue for enterprise and non-enterprise customers based on the prior methodology:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.099%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:64.026%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.545%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.779%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.545%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.779%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.545%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.781%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Enterprise customers&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;458,472&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;386,853&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;313,360&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-enterprise customers&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,516&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;45,872&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,970&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;505,988&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;432,725&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;354,330&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Under the new methodology, enterprise customers is defined as customers with annualized current quarter revenue in excess of $100,000. This is calculated by taking the sum of revenue for each customer within the quarter and multiplying it by four. The following table presents the Company&#x2019;s net revenue for enterprise and non-enterprise customers based on the new methodology:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.099%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:64.026%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.545%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.779%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.545%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.779%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.545%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.781%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Enterprise customers&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;464,452&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;393,152&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;315,918&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-enterprise customers&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,536&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,573&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,412&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;505,988&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;432,725&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;354,330&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Contract balances&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The timing of revenue recognition may differ from the timing of invoicing to customers. The Company has an unconditional right to consideration when it invoices its customers and records a receivable. The Company records a contract asset, or a receivable, when revenue is recognized prior to invoicing. The Company records a contract liability, or deferred revenue, when revenue is recognized subsequent to invoicing.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred revenue includes amounts billed to customers for which revenue has not been recognized and consists of the unearned portions of edge cloud platform usage and billings to customers for the Company&#x2019;s security subscription services. Amounts that have been invoiced for annual subscriptions, but not collected, are recorded in accounts receivable and in unearned revenue or in revenue depending on whether services have been delivered to the customer. The Company&#x2019;s payment terms and conditions vary by contract type, and generally range from 30 to 90 days. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents the Company&#x2019;s contract assets and contract liabilities as of December&#160;31, 2023 and 2022:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:60.742%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:17.613%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:17.615%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contract assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;621&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contract liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,544&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents revenue recognized during the years ended December&#160;31, 2023 and 2022 from amounts included in the contract liability at the beginning of the period:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:7pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:67.759%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.104%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.107%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenue recognized in the period from amounts included in contract liability at the beginning of the period&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,616&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,274&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Remaining performance obligations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2023, the aggregate amount of the transaction price in the Company's contracts allocated to remaining performance obligations that were unsatisfied or partially unsatisfied was $235.7 million. This amount includes future committed revenue for periods within current contracts with customers, as well as deferred revenue arising from consideration invoiced for which the related performance obligations have not been satisfied. The Company has elected to not provide certain information about its remaining performance obligations for service contracts with an original contract duration of one year or less. As of December&#160;31, 2023, the Company expects to recognize approximately 80% of its remaining performance obligations over the next 12 months. The Company&#x2019;s typical contractual term with its customers is one year, although terms may vary by contract. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Costs to obtain a contract&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2023 and December&#160;31, 2022, the Company&#x2019;s costs to obtain contracts were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:61.911%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:17.174%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.885%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred contract costs, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61,981&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,523&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the years ended December&#160;31, 2023, 2022 and 2021, the Company recognized $15.5&#160;million, $8.9&#160;million and $6.3&#160;million of amortization related to deferred contract costs, respectively. These costs are recorded within sales and marketing expenses on the accompanying consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock contextRef="c-1" id="f-531">The following table presents the Company&#x2019;s net revenue by geographic region:&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.099%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:64.026%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.545%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.779%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.545%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.779%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.545%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.781%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;370,424&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;316,149&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;260,399&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asia Pacific&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;72,873&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,073&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,496&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Europe&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,770&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,469&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,177&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;All other &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,921&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,034&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,258&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;505,988&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;432,725&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;354,330&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-74" decimals="-3" id="f-532" unitRef="usd">370424000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-75" decimals="-3" id="f-533" unitRef="usd">316149000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-76" decimals="-3" id="f-534" unitRef="usd">260399000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-77" decimals="-3" id="f-535" unitRef="usd">72873000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-78" decimals="-3" id="f-536" unitRef="usd">58073000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-79" decimals="-3" id="f-537" unitRef="usd">39496000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-80" decimals="-3" id="f-538" unitRef="usd">42770000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-81" decimals="-3" id="f-539" unitRef="usd">38469000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-82" decimals="-3" id="f-540" unitRef="usd">35177000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-83" decimals="-3" id="f-541" unitRef="usd">19921000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-84" decimals="-3" id="f-542" unitRef="usd">20034000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-85" decimals="-3" id="f-543" unitRef="usd">19258000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-1" decimals="-3" id="f-544" unitRef="usd">505988000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-6" decimals="-3" id="f-545" unitRef="usd">432725000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-7" decimals="-3" id="f-546" unitRef="usd">354330000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <fsly:EnterpriseCustomerThreshold contextRef="c-4" decimals="INF" id="f-547" unitRef="usd">100000</fsly:EnterpriseCustomerThreshold>
    <us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock contextRef="c-1" id="f-548">The following table presents the Company&#x2019;s net revenue for enterprise and non-enterprise customers based on the prior methodology:&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.099%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:64.026%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.545%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.779%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.545%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.779%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.545%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.781%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Enterprise customers&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;458,472&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;386,853&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;313,360&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-enterprise customers&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,516&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;45,872&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,970&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;505,988&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;432,725&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;354,330&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;The following table presents the Company&#x2019;s net revenue for enterprise and non-enterprise customers based on the new methodology:&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.099%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:64.026%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.545%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.779%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.545%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.779%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.545%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.781%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Enterprise customers&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;464,452&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;393,152&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;315,918&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-enterprise customers&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,536&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,573&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,412&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;505,988&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;432,725&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;354,330&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-86" decimals="-3" id="f-549" unitRef="usd">458472000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-87" decimals="-3" id="f-550" unitRef="usd">386853000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-88" decimals="-3" id="f-551" unitRef="usd">313360000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-89" decimals="-3" id="f-552" unitRef="usd">47516000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-90" decimals="-3" id="f-553" unitRef="usd">45872000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-91" decimals="-3" id="f-554" unitRef="usd">40970000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-92" decimals="-3" id="f-555" unitRef="usd">505988000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-93" decimals="-3" id="f-556" unitRef="usd">432725000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-94" decimals="-3" id="f-557" unitRef="usd">354330000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <fsly:EnterpriseCustomerThreshold contextRef="c-4" decimals="INF" id="f-558" unitRef="usd">100000</fsly:EnterpriseCustomerThreshold>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-95" decimals="-3" id="f-559" unitRef="usd">464452000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-96" decimals="-3" id="f-560" unitRef="usd">393152000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-97" decimals="-3" id="f-561" unitRef="usd">315918000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-98" decimals="-3" id="f-562" unitRef="usd">41536000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-99" decimals="-3" id="f-563" unitRef="usd">39573000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-100" decimals="-3" id="f-564" unitRef="usd">38412000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-101" decimals="-3" id="f-565" unitRef="usd">505988000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-102" decimals="-3" id="f-566" unitRef="usd">432725000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="c-103" decimals="-3" id="f-567" unitRef="usd">354330000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenuePerformanceObligationDescriptionOfPaymentTerms contextRef="c-1" id="f-568">The Company&#x2019;s payment terms and conditions vary by contract type, and generally range from 30 to 90 days.</us-gaap:RevenuePerformanceObligationDescriptionOfPaymentTerms>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock contextRef="c-1" id="f-569">&lt;div style="text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents the Company&#x2019;s contract assets and contract liabilities as of December&#160;31, 2023 and 2022:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:60.742%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:17.613%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:17.615%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contract assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;621&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contract liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,544&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents revenue recognized during the years ended December&#160;31, 2023 and 2022 from amounts included in the contract liability at the beginning of the period:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:7pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:67.759%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.104%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.107%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenue recognized in the period from amounts included in contract liability at the beginning of the period&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,616&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,274&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerAssetNet contextRef="c-4" decimals="-3" id="f-570" unitRef="usd">621000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:ContractWithCustomerAssetNet contextRef="c-5" decimals="-3" id="f-571" unitRef="usd">19000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:ContractWithCustomerLiability contextRef="c-4" decimals="-3" id="f-572" unitRef="usd">38150000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability contextRef="c-5" decimals="-3" id="f-573" unitRef="usd">30544000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized contextRef="c-1" decimals="-3" id="f-574" unitRef="usd">28616000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized contextRef="c-6" decimals="-3" id="f-575" unitRef="usd">26274000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:RevenueRemainingPerformanceObligation contextRef="c-4" decimals="-5" id="f-576" unitRef="usd">235700000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligationPercentage contextRef="c-104" decimals="2" id="f-577" unitRef="number">0.80</us-gaap:RevenueRemainingPerformanceObligationPercentage>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 contextRef="c-104" id="f-578">P12M</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:CapitalizedContractCostTableTextBlock contextRef="c-1" id="f-579">&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2023 and December&#160;31, 2022, the Company&#x2019;s costs to obtain contracts were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:61.911%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:17.174%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.885%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred contract costs, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61,981&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,523&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:CapitalizedContractCostTableTextBlock>
    <us-gaap:CapitalizedContractCostNetNoncurrent contextRef="c-4" decimals="-3" id="f-580" unitRef="usd">61981000</us-gaap:CapitalizedContractCostNetNoncurrent>
    <us-gaap:CapitalizedContractCostNetNoncurrent contextRef="c-5" decimals="-3" id="f-581" unitRef="usd">50523000</us-gaap:CapitalizedContractCostNetNoncurrent>
    <us-gaap:CapitalizedContractCostAmortization contextRef="c-1" decimals="-5" id="f-582" unitRef="usd">15500000</us-gaap:CapitalizedContractCostAmortization>
    <us-gaap:CapitalizedContractCostAmortization contextRef="c-6" decimals="-5" id="f-583" unitRef="usd">8900000</us-gaap:CapitalizedContractCostAmortization>
    <us-gaap:CapitalizedContractCostAmortization contextRef="c-7" decimals="-5" id="f-584" unitRef="usd">6300000</us-gaap:CapitalizedContractCostAmortization>
    <us-gaap:FairValueDisclosuresTextBlock contextRef="c-1" id="f-585">Investments and Fair Value Measurements&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s total cash, cash equivalents and marketable securities consisted of the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:63.070%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.080%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.082%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash and cash equivalents:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,269&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,516&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,830&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,166&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96,875&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,656&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total cash and cash equivalents&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt; &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107,921&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;143,391&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Marketable securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,448&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;287,988&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate notes and bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;105,566&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,744&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,934&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agency bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,851&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asset-backed securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;175&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Municipal securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,221&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign government and supranational securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,453&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total marketable securities, current &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;214,799&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;374,581&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate notes and bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,999&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;140,949&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asset-backed securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;89&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,156&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total marketable securities, non-current &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,088&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;165,105&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total marketable securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;220,887&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;539,686&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total cash, cash equivalents and marketable securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;328,808&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;683,077&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes adjusted cost, gross unrealized gains and losses, and fair value related to cash and cash equivalents and available-for-sale securities on the accompanying consolidated balance sheets as of December&#160;31, 2023 and December&#160;31, 2022:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:45.020%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.641%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Amortized&lt;br/&gt;Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross&lt;br/&gt;Unrealized&lt;br/&gt;Gain&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross&lt;br/&gt;Unrealized&lt;br/&gt;Loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Fair&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash and cash equivalents:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,824&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,830&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,663&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,656&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Marketable securities:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,444&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,448&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate notes and bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;112,487&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(931)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;111,565&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,946&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,934&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asset-backed securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;89&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;89&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agency bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,854&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,851&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total available-for-sale investments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;287,307&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(957)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;286,373&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:12pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Amortized&lt;br/&gt;Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Unrealized Gain&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross&lt;br/&gt;Unrealized Loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Fair&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Marketable securities:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;291,685&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,697)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;287,988&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate notes and bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;217,187&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,494)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;212,693&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asset-backed securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,617&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(286)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,331&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Municipal securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,322&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(101)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,221&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign government and supranational securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,522&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(69)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,453&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total available-for-sale investments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;548,333&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,647)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;539,686&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;There were no material realized gains or losses from sales of marketable securities that were reclassified out of accumulated other comprehensive income (loss) into other income (expense), net as of December&#160;31, 2023 and December&#160;31, 2022. There were 28 and 76 securities in a continuous loss position for 12 months or longer as of December&#160;31, 2023, and 2022, respectively.  Investments are reviewed periodically to identify possible other-than-temporary impairments. For the years ended December&#160;31, 2023 and 2022, the Company did not record any impairment charges for its marketable debt securities in its consolidated statements of operations. No impairment loss has been recorded on the securities as the Company does not intend to sell any impaired securities, nor is it more likely than not that the Company would be required to sell impaired securities before recovery of amortized cost basis. Furthermore, the Company has determined that the decline in fair value of the investment is not due to credit related factors. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%"&gt;Fair Value of Financial Instruments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For certain of the Company&#x2019;s financial instruments, including cash held in banks, accounts receivable, and accounts payable, the carrying amounts approximate fair value due to their short maturities, and are therefore excluded from the fair value tables below.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Fair value is defined as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date. There is a three-tier fair value hierarchy, which prioritizes the inputs used in measuring fair value as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Level 1&#x2014;Observable inputs such as quoted prices in active markets for identical assets or liabilities;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Level 2&#x2014;Inputs other than Level&#160;1 that are observable, either directly or indirectly, such as quoted prices for similar assets or liabilities, quoted prices in markets that are not active, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities; and&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Level 3&#x2014;Unobservable inputs that are supported by little or no market activity, which require management judgment or estimation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company measures its cash equivalents, marketable securities, and restricted cash at fair value. The Company classifies its cash equivalents, marketable securities and restricted cash within Level&#160;1 or Level&#160;2 because the Company values these investments using quoted market prices or alternative pricing sources and models utilizing market observable inputs.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company classifies its investments, which are comprised of corporate notes and bonds, commercial paper, U.S. treasury securities, agency bonds, foreign government and supranational securities and asset-backed securities within Level 2 of the fair value hierarchy because the fair value of these securities is priced by using inputs based on non-binding market consensus prices that are primarily corroborated by observable market data or quoted market prices for similar instruments. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Financial assets and liabilities measured and recorded at fair value on a recurring basis consisted of the following types of instruments:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:44.997%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.536%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.418%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.536%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.712%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.536%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.712%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.536%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.717%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level 3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash equivalents:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,166&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,166&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,830&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,830&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,656&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,656&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total cash equivalents&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,166&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65,486&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;86,652&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Marketable securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,448&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,448&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate notes and bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;111,565&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;111,565&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,934&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,934&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asset-backed securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;89&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;89&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agency bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,851&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,851&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total marketable securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;220,887&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;220,887&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted cash:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted cash, current&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total restricted cash&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total financial assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,316&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;286,373&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;307,689&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:7pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:45.020%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.641%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level&#160;1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level&#160;2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level&#160;3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash equivalents:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96,875&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96,875&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total cash equivalents&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96,875&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96,875&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Marketable securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;287,988&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;287,988&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate notes and bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;212,693&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;212,693&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asset-backed securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,331&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,331&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Municipal securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,221&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,221&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign government and supranational securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,453&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,453&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total marketable securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;539,686&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;539,686&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted cash:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted cash, current&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total restricted cash&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total financial assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;97,025&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;539,686&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;636,711&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Restricted cash was $0.2 million as of both December&#160;31, 2023 and 2022. The restricted cash balance consisted of letters of credit related to lease arrangements that were collateralized by the Company&#x2019;s cash. The amounts as of December&#160;31, 2023 and 2022, were both classified as current on the Company&#x2019;s consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;There were no transfers of assets and liabilities measured at fair value between Level&#160;1 and Level&#160;2, or between Level&#160;2 and Level&#160;3, during the years ended December&#160;31, 2023 and 2022.</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock contextRef="c-1" id="f-586">&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s total cash, cash equivalents and marketable securities consisted of the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:63.070%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.080%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.082%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash and cash equivalents:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,269&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,516&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,830&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,166&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96,875&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,656&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total cash and cash equivalents&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt; &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107,921&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;143,391&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Marketable securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,448&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;287,988&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate notes and bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;105,566&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,744&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,934&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agency bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,851&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asset-backed securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;175&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Municipal securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,221&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign government and supranational securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,453&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total marketable securities, current &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;214,799&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;374,581&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate notes and bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,999&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;140,949&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asset-backed securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;89&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,156&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total marketable securities, non-current &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,088&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;165,105&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total marketable securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;220,887&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;539,686&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total cash, cash equivalents and marketable securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;328,808&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;683,077&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-105" decimals="-3" id="f-587" unitRef="usd">21269000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-106" decimals="-3" id="f-588" unitRef="usd">46516000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-107" decimals="-3" id="f-589" unitRef="usd">52830000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-108" decimals="-3" id="f-590" unitRef="usd">0</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-109" decimals="-3" id="f-591" unitRef="usd">21166000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-110" decimals="-3" id="f-592" unitRef="usd">96875000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-111" decimals="-3" id="f-593" unitRef="usd">12656000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-112" decimals="-3" id="f-594" unitRef="usd">0</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-4" decimals="-3" id="f-595" unitRef="usd">107921000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-5" decimals="-3" id="f-596" unitRef="usd">143391000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:MarketableSecuritiesCurrent contextRef="c-113" decimals="-3" id="f-597" unitRef="usd">73448000</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:MarketableSecuritiesCurrent contextRef="c-114" decimals="-3" id="f-598" unitRef="usd">287988000</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:MarketableSecuritiesCurrent contextRef="c-115" decimals="-3" id="f-599" unitRef="usd">105566000</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:MarketableSecuritiesCurrent contextRef="c-116" decimals="-3" id="f-600" unitRef="usd">71744000</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:MarketableSecuritiesCurrent contextRef="c-117" decimals="-3" id="f-601" unitRef="usd">25934000</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:MarketableSecuritiesCurrent contextRef="c-118" decimals="-3" id="f-602" unitRef="usd">0</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:MarketableSecuritiesCurrent contextRef="c-119" decimals="-3" id="f-603" unitRef="usd">9851000</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:MarketableSecuritiesCurrent contextRef="c-120" decimals="-3" id="f-604" unitRef="usd">0</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:MarketableSecuritiesCurrent contextRef="c-121" decimals="-3" id="f-605" unitRef="usd">0</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:MarketableSecuritiesCurrent contextRef="c-122" decimals="-3" id="f-606" unitRef="usd">175000</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:MarketableSecuritiesCurrent contextRef="c-123" decimals="-3" id="f-607" unitRef="usd">0</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:MarketableSecuritiesCurrent contextRef="c-124" decimals="-3" id="f-608" unitRef="usd">2221000</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:MarketableSecuritiesCurrent contextRef="c-125" decimals="-3" id="f-609" unitRef="usd">0</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:MarketableSecuritiesCurrent contextRef="c-126" decimals="-3" id="f-610" unitRef="usd">12453000</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:MarketableSecuritiesCurrent contextRef="c-4" decimals="-3" id="f-611" unitRef="usd">214799000</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:MarketableSecuritiesCurrent contextRef="c-5" decimals="-3" id="f-612" unitRef="usd">374581000</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:MarketableSecuritiesNoncurrent contextRef="c-115" decimals="-3" id="f-613" unitRef="usd">5999000</us-gaap:MarketableSecuritiesNoncurrent>
    <us-gaap:MarketableSecuritiesNoncurrent contextRef="c-116" decimals="-3" id="f-614" unitRef="usd">140949000</us-gaap:MarketableSecuritiesNoncurrent>
    <us-gaap:MarketableSecuritiesNoncurrent contextRef="c-121" decimals="-3" id="f-615" unitRef="usd">89000</us-gaap:MarketableSecuritiesNoncurrent>
    <us-gaap:MarketableSecuritiesNoncurrent contextRef="c-122" decimals="-3" id="f-616" unitRef="usd">24156000</us-gaap:MarketableSecuritiesNoncurrent>
    <us-gaap:MarketableSecuritiesNoncurrent contextRef="c-4" decimals="-3" id="f-617" unitRef="usd">6088000</us-gaap:MarketableSecuritiesNoncurrent>
    <us-gaap:MarketableSecuritiesNoncurrent contextRef="c-5" decimals="-3" id="f-618" unitRef="usd">165105000</us-gaap:MarketableSecuritiesNoncurrent>
    <us-gaap:MarketableSecurities contextRef="c-4" decimals="-3" id="f-619" unitRef="usd">220887000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-5" decimals="-3" id="f-620" unitRef="usd">539686000</us-gaap:MarketableSecurities>
    <fsly:CashCashEquivalentsAndMarketableSecurities contextRef="c-4" decimals="-3" id="f-621" unitRef="usd">328808000</fsly:CashCashEquivalentsAndMarketableSecurities>
    <fsly:CashCashEquivalentsAndMarketableSecurities contextRef="c-5" decimals="-3" id="f-622" unitRef="usd">683077000</fsly:CashCashEquivalentsAndMarketableSecurities>
    <us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock contextRef="c-1" id="f-623">&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes adjusted cost, gross unrealized gains and losses, and fair value related to cash and cash equivalents and available-for-sale securities on the accompanying consolidated balance sheets as of December&#160;31, 2023 and December&#160;31, 2022:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:45.020%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.641%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Amortized&lt;br/&gt;Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross&lt;br/&gt;Unrealized&lt;br/&gt;Gain&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross&lt;br/&gt;Unrealized&lt;br/&gt;Loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Fair&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash and cash equivalents:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,824&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,830&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,663&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,656&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Marketable securities:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,444&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,448&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate notes and bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;112,487&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(931)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;111,565&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,946&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,934&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asset-backed securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;89&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;89&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agency bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,854&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,851&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total available-for-sale investments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;287,307&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(957)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;286,373&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:12pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Amortized&lt;br/&gt;Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Unrealized Gain&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross&lt;br/&gt;Unrealized Loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Fair&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Marketable securities:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;291,685&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,697)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;287,988&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate notes and bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;217,187&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,494)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;212,693&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asset-backed securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,617&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(286)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,331&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Municipal securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,322&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(101)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,221&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign government and supranational securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,522&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(69)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,453&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total available-for-sale investments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;548,333&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,647)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;539,686&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-107" decimals="-3" id="f-624" unitRef="usd">52824000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-107" decimals="-3" id="f-625" unitRef="usd">6000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-107" decimals="-3" id="f-626" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-107" decimals="-3" id="f-627" unitRef="usd">52830000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-111" decimals="-3" id="f-628" unitRef="usd">12663000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-111" decimals="-3" id="f-629" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-111" decimals="-3" id="f-630" unitRef="usd">7000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-111" decimals="-3" id="f-631" unitRef="usd">12656000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-113" decimals="-3" id="f-632" unitRef="usd">73444000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-113" decimals="-3" id="f-633" unitRef="usd">8000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-113" decimals="-3" id="f-634" unitRef="usd">4000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-113" decimals="-3" id="f-635" unitRef="usd">73448000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-115" decimals="-3" id="f-636" unitRef="usd">112487000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-115" decimals="-3" id="f-637" unitRef="usd">9000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-115" decimals="-3" id="f-638" unitRef="usd">931000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-115" decimals="-3" id="f-639" unitRef="usd">111565000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-117" decimals="-3" id="f-640" unitRef="usd">25946000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-117" decimals="-3" id="f-641" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-117" decimals="-3" id="f-642" unitRef="usd">12000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-117" decimals="-3" id="f-643" unitRef="usd">25934000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-121" decimals="-3" id="f-644" unitRef="usd">89000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-121" decimals="-3" id="f-645" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-121" decimals="-3" id="f-646" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-121" decimals="-3" id="f-647" unitRef="usd">89000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-119" decimals="-3" id="f-648" unitRef="usd">9854000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-119" decimals="-3" id="f-649" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-119" decimals="-3" id="f-650" unitRef="usd">3000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-119" decimals="-3" id="f-651" unitRef="usd">9851000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-4" decimals="-3" id="f-652" unitRef="usd">287307000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-4" decimals="-3" id="f-653" unitRef="usd">23000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-4" decimals="-3" id="f-654" unitRef="usd">957000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-4" decimals="-3" id="f-655" unitRef="usd">286373000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-114" decimals="-3" id="f-656" unitRef="usd">291685000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-114" decimals="-3" id="f-657" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-114" decimals="-3" id="f-658" unitRef="usd">3697000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-114" decimals="-3" id="f-659" unitRef="usd">287988000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-116" decimals="-3" id="f-660" unitRef="usd">217187000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-116" decimals="-3" id="f-661" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-116" decimals="-3" id="f-662" unitRef="usd">4494000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-116" decimals="-3" id="f-663" unitRef="usd">212693000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-122" decimals="-3" id="f-664" unitRef="usd">24617000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-122" decimals="-3" id="f-665" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-122" decimals="-3" id="f-666" unitRef="usd">286000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-122" decimals="-3" id="f-667" unitRef="usd">24331000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-124" decimals="-3" id="f-668" unitRef="usd">2322000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-124" decimals="-3" id="f-669" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-124" decimals="-3" id="f-670" unitRef="usd">101000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-124" decimals="-3" id="f-671" unitRef="usd">2221000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-126" decimals="-3" id="f-672" unitRef="usd">12522000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-126" decimals="-3" id="f-673" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-126" decimals="-3" id="f-674" unitRef="usd">69000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-126" decimals="-3" id="f-675" unitRef="usd">12453000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-5" decimals="-3" id="f-676" unitRef="usd">548333000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-5" decimals="-3" id="f-677" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-5" decimals="-3" id="f-678" unitRef="usd">8647000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="c-5" decimals="-3" id="f-679" unitRef="usd">539686000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerNumberOfPositions
      contextRef="c-4"
      decimals="INF"
      id="f-680"
      unitRef="security">28</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerNumberOfPositions>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerNumberOfPositions
      contextRef="c-5"
      decimals="INF"
      id="f-681"
      unitRef="security">76</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerNumberOfPositions>
    <us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock contextRef="c-1" id="f-682">&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Financial assets and liabilities measured and recorded at fair value on a recurring basis consisted of the following types of instruments:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:44.997%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.536%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.418%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.536%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.712%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.536%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.712%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.536%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.717%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level 3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash equivalents:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,166&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,166&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,830&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,830&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,656&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,656&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total cash equivalents&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,166&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65,486&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;86,652&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Marketable securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,448&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,448&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate notes and bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;111,565&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;111,565&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,934&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,934&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asset-backed securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;89&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;89&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agency bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,851&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,851&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total marketable securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;220,887&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;220,887&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted cash:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted cash, current&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total restricted cash&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total financial assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,316&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;286,373&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;307,689&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:7pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:45.020%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.641%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level&#160;1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level&#160;2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level&#160;3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash equivalents:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96,875&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96,875&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total cash equivalents&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96,875&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96,875&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Marketable securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;287,988&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;287,988&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate notes and bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;212,693&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;212,693&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asset-backed securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,331&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,331&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Municipal securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,221&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,221&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign government and supranational securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,453&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,453&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total marketable securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;539,686&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;539,686&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted cash:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted cash, current&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total restricted cash&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total financial assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;97,025&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;539,686&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;636,711&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock>
    <us-gaap:CashEquivalentsAtCarryingValue contextRef="c-127" decimals="-3" id="f-683" unitRef="usd">21166000</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue contextRef="c-128" decimals="-3" id="f-684" unitRef="usd">0</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue contextRef="c-129" decimals="-3" id="f-685" unitRef="usd">0</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue contextRef="c-109" decimals="-3" id="f-686" unitRef="usd">21166000</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue contextRef="c-130" decimals="-3" id="f-687" unitRef="usd">0</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue contextRef="c-131" decimals="-3" id="f-688" unitRef="usd">52830000</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue contextRef="c-132" decimals="-3" id="f-689" unitRef="usd">0</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue contextRef="c-107" decimals="-3" id="f-690" unitRef="usd">52830000</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue contextRef="c-133" decimals="-3" id="f-691" unitRef="usd">0</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue contextRef="c-134" decimals="-3" id="f-692" unitRef="usd">12656000</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue contextRef="c-135" decimals="-3" id="f-693" unitRef="usd">0</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue contextRef="c-111" decimals="-3" id="f-694" unitRef="usd">12656000</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue contextRef="c-136" decimals="-3" id="f-695" unitRef="usd">21166000</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue contextRef="c-137" decimals="-3" id="f-696" unitRef="usd">65486000</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue contextRef="c-138" decimals="-3" id="f-697" unitRef="usd">0</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue contextRef="c-4" decimals="-3" id="f-698" unitRef="usd">86652000</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:MarketableSecurities contextRef="c-139" decimals="-3" id="f-699" unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-140" decimals="-3" id="f-700" unitRef="usd">73448000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-141" decimals="-3" id="f-701" unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-113" decimals="-3" id="f-702" unitRef="usd">73448000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-142" decimals="-3" id="f-703" unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-143" decimals="-3" id="f-704" unitRef="usd">111565000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-144" decimals="-3" id="f-705" unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-115" decimals="-3" id="f-706" unitRef="usd">111565000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-145" decimals="-3" id="f-707" unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-146" decimals="-3" id="f-708" unitRef="usd">25934000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-147" decimals="-3" id="f-709" unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-117" decimals="-3" id="f-710" unitRef="usd">25934000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-148" decimals="-3" id="f-711" unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-149" decimals="-3" id="f-712" unitRef="usd">89000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-150" decimals="-3" id="f-713" unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-121" decimals="-3" id="f-714" unitRef="usd">89000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-151" decimals="-3" id="f-715" unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-152" decimals="-3" id="f-716" unitRef="usd">9851000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-153" decimals="-3" id="f-717" unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-119" decimals="-3" id="f-718" unitRef="usd">9851000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-136" decimals="-3" id="f-719" unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-137" decimals="-3" id="f-720" unitRef="usd">220887000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-138" decimals="-3" id="f-721" unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-4" decimals="-3" id="f-722" unitRef="usd">220887000</us-gaap:MarketableSecurities>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue contextRef="c-127" decimals="-3" id="f-723" unitRef="usd">150000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue contextRef="c-128" decimals="-3" id="f-724" unitRef="usd">0</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue contextRef="c-129" decimals="-3" id="f-725" unitRef="usd">0</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue contextRef="c-109" decimals="-3" id="f-726" unitRef="usd">150000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue contextRef="c-136" decimals="-3" id="f-727" unitRef="usd">150000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue contextRef="c-137" decimals="-3" id="f-728" unitRef="usd">0</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue contextRef="c-138" decimals="-3" id="f-729" unitRef="usd">0</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue contextRef="c-4" decimals="-3" id="f-730" unitRef="usd">150000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AssetsFairValueDisclosure contextRef="c-136" decimals="-3" id="f-731" unitRef="usd">21316000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure contextRef="c-137" decimals="-3" id="f-732" unitRef="usd">286373000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure contextRef="c-138" decimals="-3" id="f-733" unitRef="usd">0</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure contextRef="c-4" decimals="-3" id="f-734" unitRef="usd">307689000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:CashEquivalentsAtCarryingValue contextRef="c-154" decimals="-3" id="f-735" unitRef="usd">96875000</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue contextRef="c-155" decimals="-3" id="f-736" unitRef="usd">0</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue contextRef="c-156" decimals="-3" id="f-737" unitRef="usd">0</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue contextRef="c-110" decimals="-3" id="f-738" unitRef="usd">96875000</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue contextRef="c-157" decimals="-3" id="f-739" unitRef="usd">96875000</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue contextRef="c-158" decimals="-3" id="f-740" unitRef="usd">0</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue contextRef="c-159" decimals="-3" id="f-741" unitRef="usd">0</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue contextRef="c-5" decimals="-3" id="f-742" unitRef="usd">96875000</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:MarketableSecurities contextRef="c-160" decimals="-3" id="f-743" unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-161" decimals="-3" id="f-744" unitRef="usd">287988000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-162" decimals="-3" id="f-745" unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-114" decimals="-3" id="f-746" unitRef="usd">287988000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-163" decimals="-3" id="f-747" unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-164" decimals="-3" id="f-748" unitRef="usd">212693000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-165" decimals="-3" id="f-749" unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-116" decimals="-3" id="f-750" unitRef="usd">212693000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-166" decimals="-3" id="f-751" unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-167" decimals="-3" id="f-752" unitRef="usd">24331000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-168" decimals="-3" id="f-753" unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-122" decimals="-3" id="f-754" unitRef="usd">24331000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-169" decimals="-3" id="f-755" unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-170" decimals="-3" id="f-756" unitRef="usd">2221000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-171" decimals="-3" id="f-757" unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-124" decimals="-3" id="f-758" unitRef="usd">2221000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-172" decimals="-3" id="f-759" unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-173" decimals="-3" id="f-760" unitRef="usd">12453000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-174" decimals="-3" id="f-761" unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-126" decimals="-3" id="f-762" unitRef="usd">12453000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-157" decimals="-3" id="f-763" unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-158" decimals="-3" id="f-764" unitRef="usd">539686000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-159" decimals="-3" id="f-765" unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities contextRef="c-5" decimals="-3" id="f-766" unitRef="usd">539686000</us-gaap:MarketableSecurities>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue contextRef="c-154" decimals="-3" id="f-767" unitRef="usd">150000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue contextRef="c-155" decimals="-3" id="f-768" unitRef="usd">0</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue contextRef="c-156" decimals="-3" id="f-769" unitRef="usd">0</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue contextRef="c-110" decimals="-3" id="f-770" unitRef="usd">150000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue contextRef="c-157" decimals="-3" id="f-771" unitRef="usd">150000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue contextRef="c-158" decimals="-3" id="f-772" unitRef="usd">0</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue contextRef="c-159" decimals="-3" id="f-773" unitRef="usd">0</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue contextRef="c-5" decimals="-3" id="f-774" unitRef="usd">150000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AssetsFairValueDisclosure contextRef="c-157" decimals="-3" id="f-775" unitRef="usd">97025000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure contextRef="c-158" decimals="-3" id="f-776" unitRef="usd">539686000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure contextRef="c-159" decimals="-3" id="f-777" unitRef="usd">0</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure contextRef="c-5" decimals="-3" id="f-778" unitRef="usd">636711000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:RestrictedCash contextRef="c-5" decimals="-5" id="f-779" unitRef="usd">200000</us-gaap:RestrictedCash>
    <us-gaap:RestrictedCash contextRef="c-4" decimals="-5" id="f-780" unitRef="usd">200000</us-gaap:RestrictedCash>
    <us-gaap:BusinessCombinationDisclosureTextBlock contextRef="c-1" id="f-781">Business Combinations &lt;div style="margin-bottom:12pt;margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Glitch, Inc.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On May 18, 2022, the Company acquired 100% of the voting equity interest of Glitch, Inc. (&#x201c;Glitch&#x201d;), a software company specializing in developer project management tools, for $34.9&#160;million in cash, of which $8.0&#160;million was held back as security for indemnification claims under the terms of the merger agreement (&#x201c;Holdback&#x201d;). During the year ended December&#160;31, 2023, $4.1&#160;million of the Holdback was distributed to certain shareholders of Glitch and the remaining Holdback will be distributed 24 months following the acquisition closing date. The acquisition expands the Company&#x2019;s brand awareness within the developer community and bolsters the Company&#x2019;s existing product offerings by making it easier to innovate at a layer in the Company&#x2019;s software stack. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company accounted for the transaction as a business combination. The purchase price was preliminarily allocated based on the estimated fair value of the identified intangible assets of $2.0&#160;million, cash of $1.6&#160;million and other net assets of $0.6&#160;million, and goodwill of $32.5&#160;million.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The goodwill was primarily attributed to the value of synergies created with the acquisition of Glitch&#x2019;s technology offering. Goodwill is not deductible for income tax purposes.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Identifiable finite-lived intangible assets were comprised of the following (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:55.771%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.543%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.115%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:25.071%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Estimated useful life (in years)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Developed technology&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;630&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;760&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trade name&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;610&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total intangible assets acquired&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For the year ended December&#160;31, 2022, we incurred $2.0&#160;million in acquisition-related expenses. The acquired intangible assets have a total weighted average amortization period of 3.6 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;From the date of the acquisition, the financial results of Glitch have been included in and are not material to the Company&#x2019;s consolidated financial statements. Pro forma revenue and results of operations have not been presented because the historical results are not material to the consolidated financial statements in any period presented.&lt;/span&gt;&lt;/div&gt;</us-gaap:BusinessCombinationDisclosureTextBlock>
    <us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired
      contextRef="c-175"
      decimals="INF"
      id="f-782"
      unitRef="number">1</us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired>
    <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="c-176" decimals="-5" id="f-783" unitRef="usd">34900000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <fsly:BusinessCombinationConsiderationTransferredHoldback contextRef="c-175" decimals="-5" id="f-784" unitRef="usd">8000000</fsly:BusinessCombinationConsiderationTransferredHoldback>
    <fsly:BusinessCombinationConsiderationTransferredHoldbackDistributions contextRef="c-177" decimals="-5" id="f-785" unitRef="usd">4100000</fsly:BusinessCombinationConsiderationTransferredHoldbackDistributions>
    <fsly:BusinessCombinationConsiderationTransferredHoldbackPeriodForDistribution contextRef="c-176" id="f-786">P24M</fsly:BusinessCombinationConsiderationTransferredHoldbackPeriodForDistribution>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="c-175" decimals="-5" id="f-787" unitRef="usd">2000000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents contextRef="c-175" decimals="-5" id="f-788" unitRef="usd">1600000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <fsly:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherAssetsNet contextRef="c-175" decimals="-5" id="f-789" unitRef="usd">600000</fsly:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherAssetsNet>
    <us-gaap:Goodwill contextRef="c-175" decimals="-5" id="f-790" unitRef="usd">32500000</us-gaap:Goodwill>
    <us-gaap:FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock contextRef="c-1" id="f-791">&lt;div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Identifiable finite-lived intangible assets were comprised of the following (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:55.771%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.543%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.115%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:25.071%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Estimated useful life (in years)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Developed technology&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;630&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;760&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trade name&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;610&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total intangible assets acquired&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="c-178" decimals="-3" id="f-792" unitRef="usd">630000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife contextRef="c-179" id="f-793">P4Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="c-180" decimals="-3" id="f-794" unitRef="usd">760000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife contextRef="c-181" id="f-795">P3Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="c-182" decimals="-3" id="f-796" unitRef="usd">610000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife contextRef="c-183" id="f-797">P4Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="c-175" decimals="-3" id="f-798" unitRef="usd">2000000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts contextRef="c-184" decimals="-5" id="f-799" unitRef="usd">2000000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife contextRef="c-177" id="f-800">P3Y7M6D</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:SupplementalBalanceSheetDisclosuresTextBlock contextRef="c-1" id="f-801">Balance Sheet Information&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Allowance for Credit Losses&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The activity in the accounts receivable reserves is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:49.742%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.502%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.630%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.502%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.630%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.361%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.633%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,029&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,311&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,248&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Additions to the reserves&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,025&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,406&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;196&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Write-offs and adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(688)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(133)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Ending balance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,054&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,029&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,311&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Property and Equipment, Net&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment, net consisted of the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:63.070%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.080%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.082%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Computer and networking equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;224,313&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;225,009&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Leasehold improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,605&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,374&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Furniture and fixtures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,142&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,792&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Office equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,228&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,176&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Internal-use software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;97,623&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;66,488&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment, gross&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;333,911&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;302,839&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accumulated depreciation and amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(157,303)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(122,461)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;176,608&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;180,378&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the year ended December&#160;31, 2023, the Company recognized an impairment charge of $4.3&#160;million, of which $3.0&#160;million related to property and equipment, net and $1.3&#160;million related to advance payments for the purchase of property and equipment. The write-off was primarily related to excess computer and networking equipment including software the Company does not expect to use and therefore abandoned. Impairment charges are included within impairment expense in the consolidated statements of operations. There were no impairments during the years ended December&#160;31, 2022 and 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Depreciation on property and equipment for the years ended December&#160;31, 2023, 2022 and 2021 was approximately $51.6&#160;million, $42.6&#160;million, and $28.8&#160;million, respectively. Included in these amounts was amortization expense for capitalized internal-use software costs of approximately $14.0 million, $8.6 million and $4.6&#160;million for the years ended December&#160;31, 2023, 2022 and 2021, respectively. As of December&#160;31, 2023 and 2022, the unamortized balance of capitalized internal-use software costs on the Company&#x2019;s consolidated balance sheets was approximately $62.6 million and $45.5 million, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company leases certain networking equipment from various third parties through equipment finance leases. The Company&#x2019;s networking equipment assets as &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;of &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;December&#160;31, 2023&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; and &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2022&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, included a total of $74.7&#160;million and $77.3&#160;million acquired under finance lease agreements, respectively. These leases are capitalized in property and equipment, &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;and the related amortization of assets under finance leases is included in depreciation and amortization expense. The accumulated depreciation of the associated networking equipment assets under finance leases totaled $40.1&#160;million and $28.1&#160;million as of &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;December&#160;31, 2023&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; and &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2022&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Other Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Other assets consisted of the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:64.689%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:15.274%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:15.277%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred contract costs, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61,981&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,523&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Advance payment for purchase of property and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,509&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,013&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,289&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,086&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total other assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;90,779&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;92,622&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Accrued Expenses&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accrued expenses consisted of the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:63.070%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.080%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.082%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued compensation and related benefits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,918&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,204&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued bonus&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,614&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,818&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued colocation and bandwidth costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,362&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,448&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other tax liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,344&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,698&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other accrued expenses&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,580&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,993&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total accrued expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61,818&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61,161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Other Current Liabilities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Other current liabilities consisted of the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:64.639%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:15.298%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:15.299%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,824&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,047&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued computer and networking equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,673&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,467&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Holdback payable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,771&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,013&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other current liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,271&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;867&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total other current liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,539&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,394&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Accumulated Other Comprehensive Loss&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the changes in accumulated other comprehensive loss, which is reported as a component of stockholders&#x2019; equity:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:37.642%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.666%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:20.537%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:21.565%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Foreign Currency Translation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Unrealized gain/(loss) for available-for-sale investments&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Accumulated Other Comprehensive Income (Loss)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(36)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other comprehensive loss&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(286)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,347)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,633)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(322)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,305)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,627)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other comprehensive loss&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(255)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,404)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,659)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2022&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(577)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,709)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9,286)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other comprehensive income &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;565&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,713&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,278&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2023&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(996)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,008)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;There were no material reclassifications out of accumulated other comprehensive loss for the years ended December&#160;31, 2023 and 2022. Additionally, there was no material tax impact on the amounts presented.</us-gaap:SupplementalBalanceSheetDisclosuresTextBlock>
    <us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock contextRef="c-1" id="f-802">&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The activity in the accounts receivable reserves is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:49.742%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.502%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.630%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.502%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.630%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.361%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.633%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,029&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,311&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,248&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Additions to the reserves&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,025&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,406&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;196&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Write-offs and adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(688)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(133)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Ending balance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,054&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,029&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,311&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c-5" decimals="-3" id="f-803" unitRef="usd">5029000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c-26" decimals="-3" id="f-804" unitRef="usd">3311000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c-13" decimals="-3" id="f-805" unitRef="usd">3248000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:ProvisionForDoubtfulAccounts contextRef="c-1" decimals="-3" id="f-806" unitRef="usd">2025000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts contextRef="c-6" decimals="-3" id="f-807" unitRef="usd">2406000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts contextRef="c-7" decimals="-3" id="f-808" unitRef="usd">196000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs contextRef="c-1" decimals="-3" id="f-809" unitRef="usd">0</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs contextRef="c-6" decimals="-3" id="f-810" unitRef="usd">688000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs contextRef="c-7" decimals="-3" id="f-811" unitRef="usd">133000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c-4" decimals="-3" id="f-812" unitRef="usd">7054000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c-5" decimals="-3" id="f-813" unitRef="usd">5029000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c-26" decimals="-3" id="f-814" unitRef="usd">3311000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-185" decimals="-3" id="f-815" unitRef="usd">224313000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-186" decimals="-3" id="f-816" unitRef="usd">225009000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-187" decimals="-3" id="f-817" unitRef="usd">8605000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-188" decimals="-3" id="f-818" unitRef="usd">8374000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-57" decimals="-3" id="f-819" unitRef="usd">2142000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-189" decimals="-3" id="f-820" unitRef="usd">1792000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-58" decimals="-3" id="f-821" unitRef="usd">1228000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-190" decimals="-3" id="f-822" unitRef="usd">1176000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-191" decimals="-3" id="f-823" unitRef="usd">97623000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-192" decimals="-3" id="f-824" unitRef="usd">66488000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-4" decimals="-3" id="f-825" unitRef="usd">333911000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-5" decimals="-3" id="f-826" unitRef="usd">302839000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization contextRef="c-4" decimals="-3" id="f-827" unitRef="usd">157303000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization contextRef="c-5" decimals="-3" id="f-828" unitRef="usd">122461000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization contextRef="c-4" decimals="-3" id="f-829" unitRef="usd">176608000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization contextRef="c-5" decimals="-3" id="f-830" unitRef="usd">180378000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <fsly:AssetImpairmentChargesExcludingOperatingLeaseImpairment contextRef="c-1" decimals="-5" id="f-831" unitRef="usd">4300000</fsly:AssetImpairmentChargesExcludingOperatingLeaseImpairment>
    <fsly:AssetImpairmentChargesExcludingOperatingLeaseImpairment contextRef="c-193" decimals="-5" id="f-832" unitRef="usd">3000000</fsly:AssetImpairmentChargesExcludingOperatingLeaseImpairment>
    <fsly:AssetImpairmentChargesExcludingOperatingLeaseImpairment contextRef="c-194" decimals="-5" id="f-833" unitRef="usd">1300000</fsly:AssetImpairmentChargesExcludingOperatingLeaseImpairment>
    <fsly:AssetImpairmentChargesExcludingOperatingLeaseImpairment contextRef="c-7" decimals="INF" id="f-834" unitRef="usd">0</fsly:AssetImpairmentChargesExcludingOperatingLeaseImpairment>
    <fsly:AssetImpairmentChargesExcludingOperatingLeaseImpairment contextRef="c-6" decimals="INF" id="f-835" unitRef="usd">0</fsly:AssetImpairmentChargesExcludingOperatingLeaseImpairment>
    <us-gaap:Depreciation contextRef="c-1" decimals="-5" id="f-836" unitRef="usd">51600000</us-gaap:Depreciation>
    <us-gaap:Depreciation contextRef="c-6" decimals="-5" id="f-837" unitRef="usd">42600000</us-gaap:Depreciation>
    <us-gaap:Depreciation contextRef="c-7" decimals="-5" id="f-838" unitRef="usd">28800000</us-gaap:Depreciation>
    <us-gaap:Depreciation contextRef="c-195" decimals="-5" id="f-839" unitRef="usd">14000000</us-gaap:Depreciation>
    <us-gaap:Depreciation contextRef="c-196" decimals="-5" id="f-840" unitRef="usd">8600000</us-gaap:Depreciation>
    <us-gaap:Depreciation contextRef="c-197" decimals="-5" id="f-841" unitRef="usd">4600000</us-gaap:Depreciation>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization contextRef="c-191" decimals="-5" id="f-842" unitRef="usd">62600000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization contextRef="c-192" decimals="-5" id="f-843" unitRef="usd">45500000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization contextRef="c-185" decimals="-5" id="f-844" unitRef="usd">74700000</us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization contextRef="c-186" decimals="-5" id="f-845" unitRef="usd">77300000</us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAccumulatedAmortization contextRef="c-185" decimals="-5" id="f-846" unitRef="usd">40100000</us-gaap:FinanceLeaseRightOfUseAssetAccumulatedAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAccumulatedAmortization contextRef="c-186" decimals="-5" id="f-847" unitRef="usd">28100000</us-gaap:FinanceLeaseRightOfUseAssetAccumulatedAmortization>
    <us-gaap:ScheduleOfOtherAssetsNoncurrentTextBlock contextRef="c-1" id="f-848">&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Other assets consisted of the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:64.689%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:15.274%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:15.277%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred contract costs, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61,981&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,523&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Advance payment for purchase of property and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,509&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,013&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,289&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,086&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total other assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;90,779&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;92,622&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfOtherAssetsNoncurrentTextBlock>
    <us-gaap:CapitalizedContractCostNetNoncurrent contextRef="c-4" decimals="-3" id="f-849" unitRef="usd">61981000</us-gaap:CapitalizedContractCostNetNoncurrent>
    <us-gaap:CapitalizedContractCostNetNoncurrent contextRef="c-5" decimals="-3" id="f-850" unitRef="usd">50523000</us-gaap:CapitalizedContractCostNetNoncurrent>
    <fsly:AdvancesOnPropertyAndEquipment contextRef="c-4" decimals="-3" id="f-851" unitRef="usd">24509000</fsly:AdvancesOnPropertyAndEquipment>
    <fsly:AdvancesOnPropertyAndEquipment contextRef="c-5" decimals="-3" id="f-852" unitRef="usd">37013000</fsly:AdvancesOnPropertyAndEquipment>
    <us-gaap:OtherAssetsMiscellaneousNoncurrent contextRef="c-4" decimals="-3" id="f-853" unitRef="usd">4289000</us-gaap:OtherAssetsMiscellaneousNoncurrent>
    <us-gaap:OtherAssetsMiscellaneousNoncurrent contextRef="c-5" decimals="-3" id="f-854" unitRef="usd">5086000</us-gaap:OtherAssetsMiscellaneousNoncurrent>
    <us-gaap:OtherAssetsNoncurrent contextRef="c-4" decimals="-3" id="f-855" unitRef="usd">90779000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent contextRef="c-5" decimals="-3" id="f-856" unitRef="usd">92622000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock contextRef="c-1" id="f-857">&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accrued expenses consisted of the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:63.070%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.080%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.082%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued compensation and related benefits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,918&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,204&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued bonus&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,614&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,818&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued colocation and bandwidth costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,362&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,448&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other tax liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,344&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,698&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other accrued expenses&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,580&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,993&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total accrued expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61,818&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61,161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent contextRef="c-4" decimals="-3" id="f-858" unitRef="usd">14918000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent contextRef="c-5" decimals="-3" id="f-859" unitRef="usd">20204000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:AccruedBonusesCurrent contextRef="c-4" decimals="-3" id="f-860" unitRef="usd">24614000</us-gaap:AccruedBonusesCurrent>
    <us-gaap:AccruedBonusesCurrent contextRef="c-5" decimals="-3" id="f-861" unitRef="usd">15818000</us-gaap:AccruedBonusesCurrent>
    <fsly:AccruedColocationAndBandwidthCosts contextRef="c-4" decimals="-3" id="f-862" unitRef="usd">14362000</fsly:AccruedColocationAndBandwidthCosts>
    <fsly:AccruedColocationAndBandwidthCosts contextRef="c-5" decimals="-3" id="f-863" unitRef="usd">10448000</fsly:AccruedColocationAndBandwidthCosts>
    <us-gaap:TaxesPayableCurrent contextRef="c-4" decimals="-3" id="f-864" unitRef="usd">4344000</us-gaap:TaxesPayableCurrent>
    <us-gaap:TaxesPayableCurrent contextRef="c-5" decimals="-3" id="f-865" unitRef="usd">8698000</us-gaap:TaxesPayableCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent contextRef="c-4" decimals="-3" id="f-866" unitRef="usd">3580000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent contextRef="c-5" decimals="-3" id="f-867" unitRef="usd">5993000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="c-4" decimals="-3" id="f-868" unitRef="usd">61818000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="c-5" decimals="-3" id="f-869" unitRef="usd">61161000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:OtherCurrentLiabilitiesTableTextBlock contextRef="c-1" id="f-870">&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Other current liabilities consisted of the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:64.639%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:15.298%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:15.299%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,824&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,047&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued computer and networking equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,673&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,467&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Holdback payable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,771&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,013&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other current liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,271&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;867&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total other current liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,539&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,394&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:OtherCurrentLiabilitiesTableTextBlock>
    <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="c-4" decimals="-3" id="f-871" unitRef="usd">33824000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="c-5" decimals="-3" id="f-872" unitRef="usd">28047000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <fsly:AccruedComputerAndNetworkingEquipment contextRef="c-4" decimals="-3" id="f-873" unitRef="usd">1673000</fsly:AccruedComputerAndNetworkingEquipment>
    <fsly:AccruedComputerAndNetworkingEquipment contextRef="c-5" decimals="-3" id="f-874" unitRef="usd">1467000</fsly:AccruedComputerAndNetworkingEquipment>
    <fsly:BusinessCombinationConsiderationTransferredHoldbackCurrent contextRef="c-4" decimals="-3" id="f-875" unitRef="usd">3771000</fsly:BusinessCombinationConsiderationTransferredHoldbackCurrent>
    <fsly:BusinessCombinationConsiderationTransferredHoldbackCurrent contextRef="c-5" decimals="-3" id="f-876" unitRef="usd">4013000</fsly:BusinessCombinationConsiderationTransferredHoldbackCurrent>
    <us-gaap:OtherSundryLiabilitiesCurrent contextRef="c-4" decimals="-3" id="f-877" unitRef="usd">1271000</us-gaap:OtherSundryLiabilitiesCurrent>
    <us-gaap:OtherSundryLiabilitiesCurrent contextRef="c-5" decimals="-3" id="f-878" unitRef="usd">867000</us-gaap:OtherSundryLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent contextRef="c-4" decimals="-3" id="f-879" unitRef="usd">40539000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent contextRef="c-5" decimals="-3" id="f-880" unitRef="usd">34394000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock contextRef="c-1" id="f-881">&lt;div style="margin-bottom:12pt;margin-top:5pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the changes in accumulated other comprehensive loss, which is reported as a component of stockholders&#x2019; equity:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:37.642%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.666%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:20.537%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:21.565%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Foreign Currency Translation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Unrealized gain/(loss) for available-for-sale investments&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Accumulated Other Comprehensive Income (Loss)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(36)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other comprehensive loss&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(286)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,347)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,633)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(322)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,305)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,627)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other comprehensive loss&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(255)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,404)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,659)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2022&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(577)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,709)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9,286)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other comprehensive income &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;565&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,713&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,278&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2023&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(996)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,008)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock>
    <us-gaap:StockholdersEquity contextRef="c-198" decimals="-3" id="f-882" unitRef="usd">-36000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-199" decimals="-3" id="f-883" unitRef="usd">42000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-11" decimals="-3" id="f-884" unitRef="usd">6000</us-gaap:StockholdersEquity>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-200" decimals="-3" id="f-885" unitRef="usd">-286000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-201" decimals="-3" id="f-886" unitRef="usd">-2347000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-7" decimals="-3" id="f-887" unitRef="usd">-2633000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:StockholdersEquity contextRef="c-202" decimals="-3" id="f-888" unitRef="usd">-322000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-203" decimals="-3" id="f-889" unitRef="usd">-2305000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-24" decimals="-3" id="f-890" unitRef="usd">-2627000</us-gaap:StockholdersEquity>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-204" decimals="-3" id="f-891" unitRef="usd">-255000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-205" decimals="-3" id="f-892" unitRef="usd">-6404000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-6" decimals="-3" id="f-893" unitRef="usd">-6659000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:StockholdersEquity contextRef="c-206" decimals="-3" id="f-894" unitRef="usd">-577000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-207" decimals="-3" id="f-895" unitRef="usd">-8709000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-36" decimals="-3" id="f-896" unitRef="usd">-9286000</us-gaap:StockholdersEquity>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-208" decimals="-3" id="f-897" unitRef="usd">565000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-209" decimals="-3" id="f-898" unitRef="usd">7713000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-1" decimals="-3" id="f-899" unitRef="usd">8278000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:StockholdersEquity contextRef="c-210" decimals="-3" id="f-900" unitRef="usd">-12000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-211" decimals="-3" id="f-901" unitRef="usd">-996000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-46" decimals="-3" id="f-902" unitRef="usd">-1008000</us-gaap:StockholdersEquity>
    <us-gaap:LesseeOperatingLeasesTextBlock contextRef="c-1" id="f-904">Leases&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has operating leases for corporate offices and data centers (&#x201c;colocation&#x201d; leases), and finance leases for networking equipment. The Company&#x2019;s operating leases have remaining lease terms ranging from less than 1 year to 7 years, some of which include options to extend the leases. The Company&#x2019;s finance leases have remaining lease terms up to 1 year. The Company also subleases a portion of its corporate office spaces. The Company&#x2019;s subleases have remaining lease terms ranging from 1 year to 7 years. Sublease income was $1.2&#160;million, $0.9&#160;million, and $1.0&#160;million for the years ended December&#160;31, 2023, 2022 and 2021, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of lease cost were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:54.309%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.104%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.666%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.353%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease cost:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,996&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,976&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,716&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Variable lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,112&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,736&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,820&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total operating lease cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,108&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,712&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,536&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance lease cost:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of assets under finance lease&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,391&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,539&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,834&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,328&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,381&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,754&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total finance lease cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,719&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,920&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,588&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The short-term lease costs were not material for the years ended December&#160;31, 2023, 2022 and 2021. During the years ended December&#160;31, 2023 and 2022, the Company recognized impairment on its operating lease right-of-use assets of $0.7&#160;million and $2.1&#160;million, respectively. The Company did not recognize any material impairment on its operating lease right-of-use assets for the year ended December&#160;31, 2021. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:54.016%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.666%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.204%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.546%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted Average Remaining Lease term (in years):&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.48&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.09&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.41&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.00&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.74&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.23&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted Average Discount Rate:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.03&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.36&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.20&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.67&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.73&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.86&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future minimum lease payments under non-cancellable leases as of December&#160;31, 2023 were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:58.110%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:18.783%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:19.223%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Operating Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Finance Leases&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Year ending December 31, &lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,160&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,064&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,868&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,617&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,896&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,502&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2028&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,446&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,838&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total future minimum lease payments&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82,710&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,681&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: imputed interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,905)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(395)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total liability&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;74,805&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,286&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2023, the Company has undiscounted commitments of $2.3&#160;million for operating leases that have not yet commenced, and therefore are not included in the right-of-use asset or operating lease liability. These operating leases will commence in 2024 with lease terms of 3 years.&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LesseeFinanceLeasesTextBlock contextRef="c-1" id="f-903">Leases&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has operating leases for corporate offices and data centers (&#x201c;colocation&#x201d; leases), and finance leases for networking equipment. The Company&#x2019;s operating leases have remaining lease terms ranging from less than 1 year to 7 years, some of which include options to extend the leases. The Company&#x2019;s finance leases have remaining lease terms up to 1 year. The Company also subleases a portion of its corporate office spaces. The Company&#x2019;s subleases have remaining lease terms ranging from 1 year to 7 years. Sublease income was $1.2&#160;million, $0.9&#160;million, and $1.0&#160;million for the years ended December&#160;31, 2023, 2022 and 2021, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of lease cost were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:54.309%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.104%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.666%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.353%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease cost:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,996&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,976&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,716&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Variable lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,112&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,736&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,820&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total operating lease cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,108&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,712&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,536&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance lease cost:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of assets under finance lease&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,391&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,539&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,834&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,328&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,381&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,754&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total finance lease cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,719&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,920&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,588&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The short-term lease costs were not material for the years ended December&#160;31, 2023, 2022 and 2021. During the years ended December&#160;31, 2023 and 2022, the Company recognized impairment on its operating lease right-of-use assets of $0.7&#160;million and $2.1&#160;million, respectively. The Company did not recognize any material impairment on its operating lease right-of-use assets for the year ended December&#160;31, 2021. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:54.016%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.666%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.204%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.546%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted Average Remaining Lease term (in years):&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.48&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.09&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.41&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.00&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.74&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.23&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted Average Discount Rate:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.03&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.36&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.20&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.67&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.73&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.86&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future minimum lease payments under non-cancellable leases as of December&#160;31, 2023 were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:58.110%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:18.783%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:19.223%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Operating Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Finance Leases&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Year ending December 31, &lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,160&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,064&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,868&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,617&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,896&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,502&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2028&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,446&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,838&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total future minimum lease payments&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82,710&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,681&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: imputed interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,905)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(395)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total liability&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;74,805&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,286&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2023, the Company has undiscounted commitments of $2.3&#160;million for operating leases that have not yet commenced, and therefore are not included in the right-of-use asset or operating lease liability. These operating leases will commence in 2024 with lease terms of 3 years.&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeFinanceLeasesTextBlock>
    <us-gaap:LesseeOperatingLeaseRemainingLeaseTerm contextRef="c-212" id="f-905">P1Y</us-gaap:LesseeOperatingLeaseRemainingLeaseTerm>
    <us-gaap:LesseeOperatingLeaseRemainingLeaseTerm contextRef="c-213" id="f-906">P7Y</us-gaap:LesseeOperatingLeaseRemainingLeaseTerm>
    <us-gaap:LesseeFinanceLeaseRemainingLeaseTerm contextRef="c-213" id="f-907">P1Y</us-gaap:LesseeFinanceLeaseRemainingLeaseTerm>
    <fsly:SubleasesRemainingLeaseTerms contextRef="c-72" id="f-908">P1Y</fsly:SubleasesRemainingLeaseTerms>
    <fsly:SubleasesRemainingLeaseTerms contextRef="c-73" id="f-909">P7Y</fsly:SubleasesRemainingLeaseTerms>
    <us-gaap:SubleaseIncome contextRef="c-1" decimals="-5" id="f-910" unitRef="usd">1200000</us-gaap:SubleaseIncome>
    <us-gaap:SubleaseIncome contextRef="c-6" decimals="-5" id="f-911" unitRef="usd">900000</us-gaap:SubleaseIncome>
    <us-gaap:SubleaseIncome contextRef="c-7" decimals="-5" id="f-912" unitRef="usd">1000000</us-gaap:SubleaseIncome>
    <us-gaap:LeaseCostTableTextBlock contextRef="c-1" id="f-913">&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of lease cost were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:54.309%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.104%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.666%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.353%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease cost:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,996&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,976&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,716&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Variable lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,112&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,736&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,820&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total operating lease cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,108&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,712&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,536&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance lease cost:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of assets under finance lease&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,391&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,539&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,834&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,328&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,381&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,754&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total finance lease cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,719&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,920&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,588&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:54.016%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.666%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.204%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.546%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted Average Remaining Lease term (in years):&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.48&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.09&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.41&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.00&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.74&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.23&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted Average Discount Rate:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.03&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.36&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.20&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.67&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.73&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.86&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseCost contextRef="c-1" decimals="-3" id="f-914" unitRef="usd">26996000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost contextRef="c-6" decimals="-3" id="f-915" unitRef="usd">30976000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost contextRef="c-7" decimals="-3" id="f-916" unitRef="usd">26716000</us-gaap:OperatingLeaseCost>
    <us-gaap:VariableLeaseCost contextRef="c-1" decimals="-3" id="f-917" unitRef="usd">15112000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost contextRef="c-6" decimals="-3" id="f-918" unitRef="usd">11736000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost contextRef="c-7" decimals="-3" id="f-919" unitRef="usd">6820000</us-gaap:VariableLeaseCost>
    <fsly:OperatingVariableAndShortTermLeaseCosts contextRef="c-1" decimals="-3" id="f-920" unitRef="usd">42108000</fsly:OperatingVariableAndShortTermLeaseCosts>
    <fsly:OperatingVariableAndShortTermLeaseCosts contextRef="c-6" decimals="-3" id="f-921" unitRef="usd">42712000</fsly:OperatingVariableAndShortTermLeaseCosts>
    <fsly:OperatingVariableAndShortTermLeaseCosts contextRef="c-7" decimals="-3" id="f-922" unitRef="usd">33536000</fsly:OperatingVariableAndShortTermLeaseCosts>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization contextRef="c-1" decimals="-3" id="f-923" unitRef="usd">14391000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization contextRef="c-6" decimals="-3" id="f-924" unitRef="usd">14539000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization contextRef="c-7" decimals="-3" id="f-925" unitRef="usd">6834000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseInterestExpense contextRef="c-1" decimals="-3" id="f-926" unitRef="usd">1328000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense contextRef="c-6" decimals="-3" id="f-927" unitRef="usd">2381000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense contextRef="c-7" decimals="-3" id="f-928" unitRef="usd">1754000</us-gaap:FinanceLeaseInterestExpense>
    <fsly:FinanceLeaseCost contextRef="c-1" decimals="-3" id="f-929" unitRef="usd">15719000</fsly:FinanceLeaseCost>
    <fsly:FinanceLeaseCost contextRef="c-6" decimals="-3" id="f-930" unitRef="usd">16920000</fsly:FinanceLeaseCost>
    <fsly:FinanceLeaseCost contextRef="c-7" decimals="-3" id="f-931" unitRef="usd">8588000</fsly:FinanceLeaseCost>
    <us-gaap:OperatingLeaseImpairmentLoss contextRef="c-1" decimals="-5" id="f-932" unitRef="usd">700000</us-gaap:OperatingLeaseImpairmentLoss>
    <us-gaap:OperatingLeaseImpairmentLoss contextRef="c-6" decimals="-5" id="f-933" unitRef="usd">2100000</us-gaap:OperatingLeaseImpairmentLoss>
    <us-gaap:OperatingLeaseImpairmentLoss contextRef="c-7" decimals="INF" id="f-934" unitRef="usd">0</us-gaap:OperatingLeaseImpairmentLoss>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="c-4" id="f-935">P3Y5M23D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="c-5" id="f-936">P4Y1M2D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="c-26" id="f-937">P4Y4M28D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1 contextRef="c-4" id="f-938">P1Y</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1 contextRef="c-5" id="f-939">P1Y8M26D</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1 contextRef="c-26" id="f-940">P2Y2M23D</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent contextRef="c-4" decimals="4" id="f-941" unitRef="number">0.0603</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent contextRef="c-5" decimals="4" id="f-942" unitRef="number">0.0536</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent contextRef="c-26" decimals="4" id="f-943" unitRef="number">0.0520</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent contextRef="c-4" decimals="4" id="f-944" unitRef="number">0.0467</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent contextRef="c-5" decimals="4" id="f-945" unitRef="number">0.0473</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent contextRef="c-26" decimals="4" id="f-946" unitRef="number">0.0486</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock contextRef="c-1" id="f-948">&lt;div style="margin-bottom:12pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future minimum lease payments under non-cancellable leases as of December&#160;31, 2023 were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:58.110%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:18.783%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:19.223%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Operating Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Finance Leases&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Year ending December 31, &lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,160&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,064&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,868&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,617&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,896&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,502&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2028&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,446&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,838&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total future minimum lease payments&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82,710&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,681&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: imputed interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,905)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(395)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total liability&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;74,805&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,286&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock contextRef="c-1" id="f-947">&lt;div style="margin-bottom:12pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future minimum lease payments under non-cancellable leases as of December&#160;31, 2023 were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:58.110%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:18.783%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:19.223%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Operating Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Finance Leases&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Year ending December 31, &lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,160&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,064&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,868&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,617&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,896&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,502&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2028&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,446&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,838&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total future minimum lease payments&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82,710&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,681&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: imputed interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,905)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(395)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total liability&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;74,805&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,286&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths contextRef="c-4" decimals="-3" id="f-949" unitRef="usd">28160000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths contextRef="c-4" decimals="-3" id="f-950" unitRef="usd">16064000</us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo contextRef="c-4" decimals="-3" id="f-951" unitRef="usd">20868000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo contextRef="c-4" decimals="-3" id="f-952" unitRef="usd">1617000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree contextRef="c-4" decimals="-3" id="f-953" unitRef="usd">18896000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree contextRef="c-4" decimals="-3" id="f-954" unitRef="usd">0</us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour contextRef="c-4" decimals="-3" id="f-955" unitRef="usd">10502000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour contextRef="c-4" decimals="-3" id="f-956" unitRef="usd">0</us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive contextRef="c-4" decimals="-3" id="f-957" unitRef="usd">2446000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearFive contextRef="c-4" decimals="-3" id="f-958" unitRef="usd">0</us-gaap:FinanceLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive contextRef="c-4" decimals="-3" id="f-959" unitRef="usd">1838000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueAfterYearFive contextRef="c-4" decimals="-3" id="f-960" unitRef="usd">0</us-gaap:FinanceLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue contextRef="c-4" decimals="-3" id="f-961" unitRef="usd">82710000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:FinanceLeaseLiabilityPaymentsDue contextRef="c-4" decimals="-3" id="f-962" unitRef="usd">17681000</us-gaap:FinanceLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount contextRef="c-4" decimals="-3" id="f-963" unitRef="usd">7905000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount contextRef="c-4" decimals="-3" id="f-964" unitRef="usd">395000</us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability contextRef="c-4" decimals="-3" id="f-965" unitRef="usd">74805000</us-gaap:OperatingLeaseLiability>
    <us-gaap:FinanceLeaseLiability contextRef="c-4" decimals="-3" id="f-966" unitRef="usd">17286000</us-gaap:FinanceLeaseLiability>
    <fsly:LesseeOperatingLeaseLeaseNotYetCommencedCommitmentAmount contextRef="c-4" decimals="-5" id="f-967" unitRef="usd">2300000</fsly:LesseeOperatingLeaseLeaseNotYetCommencedCommitmentAmount>
    <us-gaap:LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1 contextRef="c-212" id="f-968">P3Y</us-gaap:LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock contextRef="c-1" id="f-969">Goodwill and Intangible Assets&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Goodwill&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The changes in the carrying amount of goodwill for th&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;e years ended &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;December&#160;31, 2023&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; and &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2022&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; are as follows&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:7pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:58.549%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:18.344%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:18.347%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;670,185&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;636,805&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill acquired from business combinations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,419&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation and other adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;171&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(39)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Ending balance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;670,356&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;670,185&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The goodwill acquired from business combinations are from the Company&#x2019;s acquisition described in Note 5 &#x2014; Business Combinations. The Company did not record an impairment charge on goodwill for the fiscal years ended December&#160;31, 2023, 2022 and 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Intangible Assets, net&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2023 and December&#160;31, 2022, the Company&#x2019;s intangible assets consisted of the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:23.461%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.742%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.742%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.742%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.742%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.742%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.749%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31, 2023&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross carrying value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Accumulated amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Net carrying value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross carrying value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Accumulated amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Net carrying value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="33" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;69,860&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(28,473)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,387&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;69,860&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(19,582)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,278&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Developed technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,130&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(32,424)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,706&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,130&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(22,367)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,763&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trade names&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,910&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,542)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;368&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,910&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,564)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,346&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Internet protocol addresses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,984&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,970)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,014&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,984&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,471)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,513&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Backlog&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,200)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;128,884&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(66,409)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,475&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;131,084&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(48,184)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82,900&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s customer relationships, developed technology, trade names, backlog and Internet protocol addresses represent intangible assets subject to amortization. Amortization expense was $20.4&#160;million, $21.7&#160;million and $21.2 million, for the years ended December&#160;31, 2023, 2022 and 2021, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company did not purchase any intangible assets during the year ended December&#160;31, 2023. During the year ended December&#160;31, 2022, the Company added $2.0&#160;million of intangible assets from the acquisition of Glitch, which are subject to amortization. During the year ended December&#160;31, 2021, the Company purchased $2.1&#160;million of intangible assets. The Company did not record any impairments during the years ended December&#160;31, 2023, 2022 and 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The expected amortization expense of intangible assets subject to amortization as of December&#160;31, 2023&#160;is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:78.578%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:19.222%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,599&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,976&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,193&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,051&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2028&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,891&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;765&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,475&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfGoodwillTextBlock contextRef="c-1" id="f-970">&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The changes in the carrying amount of goodwill for th&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;e years ended &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;December&#160;31, 2023&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; and &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2022&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; are as follows&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:7pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:58.549%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:18.344%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:18.347%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;670,185&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;636,805&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill acquired from business combinations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,419&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation and other adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;171&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(39)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Ending balance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;670,356&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;670,185&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfGoodwillTextBlock>
    <us-gaap:Goodwill contextRef="c-5" decimals="-3" id="f-971" unitRef="usd">670185000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-26" decimals="-3" id="f-972" unitRef="usd">636805000</us-gaap:Goodwill>
    <us-gaap:GoodwillAcquiredDuringPeriod contextRef="c-1" decimals="-3" id="f-973" unitRef="usd">0</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod contextRef="c-6" decimals="-3" id="f-974" unitRef="usd">33419000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss contextRef="c-1" decimals="-3" id="f-975" unitRef="usd">171000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss contextRef="c-6" decimals="-3" id="f-976" unitRef="usd">-39000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill contextRef="c-4" decimals="-3" id="f-977" unitRef="usd">670356000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-5" decimals="-3" id="f-978" unitRef="usd">670185000</us-gaap:Goodwill>
    <us-gaap:GoodwillImpairmentLoss contextRef="c-6" decimals="INF" id="f-979" unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:GoodwillImpairmentLoss contextRef="c-1" decimals="INF" id="f-980" unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:GoodwillImpairmentLoss contextRef="c-7" decimals="INF" id="f-981" unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-214" decimals="-3" id="f-982" unitRef="usd">69860000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-214" decimals="-3" id="f-983" unitRef="usd">28473000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-214" decimals="-3" id="f-984" unitRef="usd">41387000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-215" decimals="-3" id="f-985" unitRef="usd">69860000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-215" decimals="-3" id="f-986" unitRef="usd">19582000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-215" decimals="-3" id="f-987" unitRef="usd">50278000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-216" decimals="-3" id="f-988" unitRef="usd">50130000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-216" decimals="-3" id="f-989" unitRef="usd">32424000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-216" decimals="-3" id="f-990" unitRef="usd">17706000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-217" decimals="-3" id="f-991" unitRef="usd">50130000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-217" decimals="-3" id="f-992" unitRef="usd">22367000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-217" decimals="-3" id="f-993" unitRef="usd">27763000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-218" decimals="-3" id="f-994" unitRef="usd">3910000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-218" decimals="-3" id="f-995" unitRef="usd">3542000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-218" decimals="-3" id="f-996" unitRef="usd">368000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-219" decimals="-3" id="f-997" unitRef="usd">3910000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-219" decimals="-3" id="f-998" unitRef="usd">2564000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-219" decimals="-3" id="f-999" unitRef="usd">1346000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-68" decimals="-3" id="f-1000" unitRef="usd">4984000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-68" decimals="-3" id="f-1001" unitRef="usd">1970000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-68" decimals="-3" id="f-1002" unitRef="usd">3014000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-220" decimals="-3" id="f-1003" unitRef="usd">4984000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-220" decimals="-3" id="f-1004" unitRef="usd">1471000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-220" decimals="-3" id="f-1005" unitRef="usd">3513000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-67" decimals="-3" id="f-1006" unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-67" decimals="-3" id="f-1007" unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-67" decimals="-3" id="f-1008" unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-221" decimals="-3" id="f-1009" unitRef="usd">2200000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-221" decimals="-3" id="f-1010" unitRef="usd">2200000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-221" decimals="-3" id="f-1011" unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-4" decimals="-3" id="f-1012" unitRef="usd">128884000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-4" decimals="-3" id="f-1013" unitRef="usd">66409000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-4" decimals="-3" id="f-1014" unitRef="usd">62475000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-5" decimals="-3" id="f-1015" unitRef="usd">131084000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-5" decimals="-3" id="f-1016" unitRef="usd">48184000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-5" decimals="-3" id="f-1017" unitRef="usd">82900000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="c-1" decimals="-5" id="f-1018" unitRef="usd">20400000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="c-6" decimals="-5" id="f-1019" unitRef="usd">21700000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="c-7" decimals="-5" id="f-1020" unitRef="usd">21200000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:PaymentsToAcquireIntangibleAssets contextRef="c-1" decimals="INF" id="f-1021" unitRef="usd">0</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToAcquireIntangibleAssets contextRef="c-184" decimals="-5" id="f-1022" unitRef="usd">2000000</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToAcquireIntangibleAssets contextRef="c-7" decimals="-5" id="f-1023" unitRef="usd">2100000</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock contextRef="c-1" id="f-1024">&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The expected amortization expense of intangible assets subject to amortization as of December&#160;31, 2023&#160;is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:78.578%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:19.222%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,599&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,976&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,193&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,051&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2028&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,891&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;765&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,475&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths contextRef="c-4" decimals="-3" id="f-1025" unitRef="usd">19599000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo contextRef="c-4" decimals="-3" id="f-1026" unitRef="usd">16976000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree contextRef="c-4" decimals="-3" id="f-1027" unitRef="usd">9193000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour contextRef="c-4" decimals="-3" id="f-1028" unitRef="usd">9051000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive contextRef="c-4" decimals="-3" id="f-1029" unitRef="usd">6891000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive contextRef="c-4" decimals="-3" id="f-1030" unitRef="usd">765000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-4" decimals="-3" id="f-1031" unitRef="usd">62475000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:DebtDisclosureTextBlock contextRef="c-1" id="f-1032">Debt Instruments&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Senior Secured Credit Facilities Agreement&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On February 16, 2021, the Company entered into a Senior Secured Credit Facilities Agreement (&#x201c;Credit Agreement&#x201d;) with the lenders from time to time party thereto (the &#x201c;Lenders&#x201d;) and Silicon Valley Bank, as a lender and as administrative agent and collateral agent for the Lenders, for an aggregate commitment amount of $100.0&#160;million with a maturity date of February 16, 2024. The Company recorded $0.6&#160;million of debt issuance costs associated with the Credit Agreement in other assets on the Company&#x2019;s consolidated balance sheet. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Credit Agreement originally bore interest at a rate per annum equal to the sum of LIBOR for the applicable interest period plus 1.75% to 2.00%, depending on the average daily outstanding balance of all loans and letters of credit under the Credit Agreement. On June 28, 2023, the Company entered into the First Amendment to Credit Agreement with the Lenders and First-Citizens Bank &amp;amp; Trust Company (successor by purchase to the Federal Deposit Insurance Corporation as Receiver for Silicon Valley Bridge Bank, N.A. (as successor to Silicon Valley Bank)), as a lender and as administrative agent and collateral agent for the Lenders, which, among other things, amended the interest rate provisions of the Credit Agreement to replace LIBOR with the Secured Overnight Finance Rate (&#x201c;SOFR&#x201d;) as the interest rate benchmark. On February 16, 2024, the Company entered into the Second Amendment to Credit Agreement with the Lenders and Silicon Valley Bank, a division of First-Citizens Bank &amp;amp; Trust Company, as a lender and as administrative agent and collateral agent for the Lenders, which, among other things, extended the maturity date of the loans under the Credit Agreement to June 14, 2024. As amended, the revolving loans bear interest, at the Company&#x2019;s election, at an annual rate based on SOFR or a base rate. Loans based on SOFR bear interest at a rate per annum equal to SOFR, plus an adjustment of 0.10%, plus 1.75% to 2.00%, depending on the average daily outstanding balance of all loans and letters of credit under the Credit Agreement. Loans based on the base rate bear interest at a rate per annum equal to the base rate plus 0.75% to 1.00%, depending on the average daily outstanding balance of all loans and letters of credit under the Credit Agreement.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Interest payments on outstanding borrowings are due on the last day of each interest period. The Credit Agreement has a commitment fee on the unused portion of the borrowing commitment, which is payable on the last day of each calendar quarter at a rate per annum of 0.20% to 0.25% depending on the average daily outstanding balance of all loans and letters of credit under the Credit Agreement. In addition, the Company&#x2019;s Credit Agreement contains a financial covenant that requires the Company to maintain a consolidated adjusted quick ratio of at least 1.25 tested on a quarterly basis as well as a springing revenue growth covenant for certain periods if the Company&#x2019;s consolidated adjusted quick ratio falls below 1.75 on the last day of any fiscal quarter. The Credit Agreement requires the Company to comply with various affirmative and negative covenants, and contains customary events of default.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2023 and 2022, the Company was in compliance with all of the Credit Agreement&#x2019;s covenants. During the years ended December&#160;31, 2023 and 2022, no amounts were drawn down on the Company&#x2019;s Credit Agreement. As of the years ended December&#160;31, 2023 and 2022, no amounts were outstanding under the Credit Agreement. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Convertible Senior Notes&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March 5, 2021, the Company issued approximately $948.8&#160;million aggregate principal amount of 0% convertible senior notes due 2026 (the &#x201c;Notes&#x201d;), including the exercise in full by the initial purchasers of their&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;option to purchase up to an additional approximately $123.8&#160;million principal amount of the Notes. The Notes were issued in a private placement to qualified institutional buyers pursuant to Rule 144A under the Securities Act. The Notes will mature on March 15, 2026, unless earlier converted, redeemed or repurchased. The net proceeds from the issuance of the Notes were approximately $930.0&#160;million after deducting the initial purchasers&#x2019; discounts and transaction costs.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company may not redeem the Notes prior to March 20, 2024. On or after March 20, 2024, the Company may redeem for cash, all or any portion of the Notes, at the Company&#x2019;s option, at a redemption price equal to 100% of the principal amount of the Notes to be redeemed, plus accrued and unpaid special interest, if any, to, but excluding, the redemption date, if the last reported sale price of the Company&#x2019;s Class A common stock has been at least 130% of the conversion price for the Notes then in effect for at least 20 trading days (whether or not consecutive) during any 30 consecutive trading day period (including the last trading day of such period) ending on, and including, the trading day immediately preceding the date on which the Company provides notice of redemption. No sinking fund is provided for the Notes.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Holders of the Notes may convert their notes at their option at any time prior to the close of business on the business day immediately preceding December 15, 2025, only under the following circumstances: (i) during any calendar quarter commencing after the calendar quarter ending on June 30, 2021 (and only during such calendar quarter), if the last reported sale price of the Company&#x2019;s Class A common stock for at least 20 trading days (whether or not consecutive) during a period of 30 consecutive trading days ending on, and including, the last trading day of the immediately preceding calendar quarter is greater than or equal to 130% of the conversion price for the Notes on each applicable trading day; (ii) during the five business day period after any ten consecutive trading day period (the &#x201c;Measurement Period&#x201d;) in which the trading price, as defined in the indenture agreement governing the Note filed with the Company&#x2019;s Current Report on Form 8-K filed with the Securities and Exchange Commission on March 5, 2021, per $1,000 principal amount of notes for each trading day of the Measurement Period was less than 98% of the product of the last reported sale price of the Company&#x2019;s Class A common stock and the conversion &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;rate on each such trading day; (iii) if the Company calls such Notes for redemption, at any time prior to the close of business on the scheduled trading day immediately preceding the applicable redemption date, but only with respect to the Notes called (or deemed called) for redemption; or (iv) upon the occurrence of specified corporate events. On or after December 15, 2025 until the close of business on the second scheduled trading day immediately preceding the maturity date, holders may convert all or any portion of their notes at any time, regardless of the foregoing circumstances.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Upon conversion, the Company may satisfy its conversion obligation by paying or delivering, as the case may be, cash, shares of its Class A common stock or a combination of cash and shares of its Class A common stock, at the Company&#x2019;s election. The initial conversion rate is 9.7272 shares of Class A common stock per $1,000 principal amount of Notes, equivalent to an initial conversion price of approximately $102.80 per share of Class A common stock. The conversion rate is subject to adjustment as described in the indenture governing the Notes but will not be adjusted for any accrued and unpaid special interest. In addition, following certain corporate events that occur prior to the maturity date of the Notes or if the Company delivers a notice of redemption in respect of the Notes, the Company will, in certain circumstances, increase the conversion rate of the Notes for a holder who elects to convert its Notes, in connection with such a corporate event or convert its Notes called (or deemed called) for redemption during the related redemption period, as the case may be.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The indenture includes customary covenants and sets forth certain events of default after which the Notes may be declared immediately due and payable and sets forth certain types of bankruptcy or insolvency events of default involving the Company after which the Notes become automatically due and payable. If the Company undergoes a fundamental change, as defined in the indenture agreement governing the Notes, then subject to certain conditions and except as described in the indenture governing the Notes, holders may require the Company to repurchase for cash all or any portion of their Notes at a fundamental change repurchase price equal to 100% of the principal amount of the Notes to be repurchased, plus accrued and unpaid special interest, if any, to, but excluding, the fundamental change repurchase date.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company evaluated the terms of its debt and concluded that the instrument does not require separation and that there were no other derivatives that required separation. As such, the Company has combined these features with the host contract and the Company accounts for its convertible debt as a single liability in long-term debt on its consolidated balance sheet. The initial purchasers&#x2019; discounts and transaction costs of $18.6&#160;million incurred related to the issuance of the Notes were classified as liability and represents the difference between the principal amount of the Notes and the liability component (the &#x201c;debt discount&#x201d;), which is amortized to interest expense using the effective interest method over the term of the Notes.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2023, the conversion conditions had not been met and therefore the Notes were not yet convertible.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On May 25, 2022, the Company entered into separate, privately negotiated transactions with certain holders of the Notes to repurchase (the &#x201c;Repurchases&#x201d;) $235.0&#160;million aggregate principal amount of the Notes for an aggregate cash repurchase price of $176.4&#160;million and aggregate transaction costs of $0.7&#160;million. The Repurchases were accounted for as a debt extinguishment that resulted in a net gain of $54.4&#160;million, which was recorded as non-operating income on the Company's consolidated statement of operations for the year ended December 31, 2022.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;During the year ended December&#160;31, 2023, the Company entered into several separate privately negotiated transactions with certain holders of the Notes to repurchase $367.3&#160;million aggregate principal amount of the Notes for an aggregate cash repurchase price of $309.1&#160;million and aggregate transaction costs of $2.0&#160;million. The Repurchases were accounted for as a &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;debt extinguishment that resulted in a net gain of $52.4&#160;million, which was recorded as non-operating income on the Company&#x2019;s consolidated statement of operations for the year ended December&#160;31, 2023.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table reflects the carrying values of the debt agreements as of December&#160;31, 2023&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; and &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2022&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; as follows&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:68.783%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.666%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.667%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Convertible Senior notes (effective interest rate of 0.38% and 0.40% as of December&#160;31, 2023 and 2022, respectively)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%"&gt;Principal amount&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;346,489&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;713,753&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: unamortized debt issuance costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,982)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9,043)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: current portion of long-term debt&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%"&gt;Long-term debt, less current portion&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;343,507&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;704,710&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;For the years ended December&#160;31, 2023, 2022 and 2021, interest expense related to the Company&#x2019;s debt obligations was $2.7&#160;million, $3.4&#160;million, and $3.5&#160;million respectively. As of December&#160;31, 2023 and 2022, the total estimated fair value of the Notes were $301.4&#160;million and $517.5&#160;million, respectively.&lt;/span&gt;&lt;/div&gt;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="c-222" decimals="INF" id="f-1033" unitRef="usd">100000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DeferredFinanceCostsGross contextRef="c-222" decimals="-5" id="f-1034" unitRef="usd">600000</us-gaap:DeferredFinanceCostsGross>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="c-223"
      decimals="INF"
      id="f-1035"
      unitRef="number">0.0175</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="c-224"
      decimals="INF"
      id="f-1036"
      unitRef="number">0.0200</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <fsly:DebtInstrumentBasisSpreadAdjustment
      contextRef="c-225"
      decimals="INF"
      id="f-1037"
      unitRef="number">0.0010</fsly:DebtInstrumentBasisSpreadAdjustment>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="c-226"
      decimals="INF"
      id="f-1038"
      unitRef="number">0.0175</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="c-227"
      decimals="INF"
      id="f-1039"
      unitRef="number">0.0200</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="c-228"
      decimals="INF"
      id="f-1040"
      unitRef="number">0.0075</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="c-229"
      decimals="INF"
      id="f-1041"
      unitRef="number">0.0100</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage
      contextRef="c-230"
      decimals="INF"
      id="f-1042"
      unitRef="number">0.0020</us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage>
    <us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage
      contextRef="c-231"
      decimals="INF"
      id="f-1043"
      unitRef="number">0.0025</us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage>
    <fsly:DebtCovenantAdjustedQuickRatioMinimumRequirement
      contextRef="c-222"
      decimals="INF"
      id="f-1044"
      unitRef="number">1.25</fsly:DebtCovenantAdjustedQuickRatioMinimumRequirement>
    <fsly:DebtCovenantAdjustedQuickRatioMinimumThresholdToTriggerRevenueGrowthCovenantRequirement
      contextRef="c-222"
      decimals="INF"
      id="f-1045"
      unitRef="number">1.75</fsly:DebtCovenantAdjustedQuickRatioMinimumThresholdToTriggerRevenueGrowthCovenantRequirement>
    <us-gaap:ProceedsFromLinesOfCredit contextRef="c-232" decimals="INF" id="f-1046" unitRef="usd">0</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:ProceedsFromLinesOfCredit contextRef="c-233" decimals="INF" id="f-1047" unitRef="usd">0</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:LineOfCredit contextRef="c-234" decimals="INF" id="f-1048" unitRef="usd">0</us-gaap:LineOfCredit>
    <us-gaap:LineOfCredit contextRef="c-235" decimals="INF" id="f-1049" unitRef="usd">0</us-gaap:LineOfCredit>
    <us-gaap:DebtInstrumentFaceAmount contextRef="c-236" decimals="-5" id="f-1050" unitRef="usd">948800000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="c-236"
      decimals="INF"
      id="f-1051"
      unitRef="number">0</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <fsly:DebtInstrumentFaceAmountAdditionalPrincipalIssuable contextRef="c-236" decimals="-5" id="f-1052" unitRef="usd">123800000</fsly:DebtInstrumentFaceAmountAdditionalPrincipalIssuable>
    <us-gaap:ProceedsFromConvertibleDebt contextRef="c-237" decimals="-5" id="f-1053" unitRef="usd">930000000</us-gaap:ProceedsFromConvertibleDebt>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="c-238"
      decimals="INF"
      id="f-1054"
      unitRef="number">1</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger
      contextRef="c-239"
      decimals="INF"
      id="f-1055"
      unitRef="number">1.30</us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger>
    <us-gaap:DebtInstrumentConvertibleThresholdTradingDays contextRef="c-239" decimals="INF" id="f-1056" unitRef="day">20</us-gaap:DebtInstrumentConvertibleThresholdTradingDays>
    <us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1 contextRef="c-239" decimals="INF" id="f-1057" unitRef="day">30</us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1>
    <us-gaap:DebtInstrumentConvertibleThresholdTradingDays contextRef="c-240" decimals="INF" id="f-1058" unitRef="day">20</us-gaap:DebtInstrumentConvertibleThresholdTradingDays>
    <us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1 contextRef="c-240" decimals="INF" id="f-1059" unitRef="day">30</us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1>
    <us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger
      contextRef="c-240"
      decimals="INF"
      id="f-1060"
      unitRef="number">1.30</us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger>
    <us-gaap:DebtInstrumentConvertibleThresholdTradingDays contextRef="c-241" decimals="INF" id="f-1061" unitRef="day">5</us-gaap:DebtInstrumentConvertibleThresholdTradingDays>
    <us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1 contextRef="c-241" decimals="INF" id="f-1062" unitRef="day">10</us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1>
    <us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger
      contextRef="c-241"
      decimals="INF"
      id="f-1063"
      unitRef="number">0.98</us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger>
    <us-gaap:DebtInstrumentConvertibleConversionPrice1
      contextRef="c-242"
      decimals="2"
      id="f-1064"
      unitRef="usdPerShare">102.80</us-gaap:DebtInstrumentConvertibleConversionPrice1>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="c-243"
      decimals="INF"
      id="f-1065"
      unitRef="number">1</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet contextRef="c-236" decimals="-5" id="f-1066" unitRef="usd">18600000</us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet>
    <us-gaap:DebtInstrumentRepurchasedFaceAmount contextRef="c-244" decimals="-5" id="f-1067" unitRef="usd">235000000</us-gaap:DebtInstrumentRepurchasedFaceAmount>
    <us-gaap:DebtInstrumentRepurchaseAmount contextRef="c-244" decimals="-5" id="f-1068" unitRef="usd">176400000</us-gaap:DebtInstrumentRepurchaseAmount>
    <fsly:DebtInstrumentRepurchaseTransactionCosts contextRef="c-244" decimals="-5" id="f-1069" unitRef="usd">700000</fsly:DebtInstrumentRepurchaseTransactionCosts>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt contextRef="c-245" decimals="-5" id="f-1070" unitRef="usd">54400000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:DebtInstrumentRepurchasedFaceAmount contextRef="c-246" decimals="-5" id="f-1071" unitRef="usd">367300000</us-gaap:DebtInstrumentRepurchasedFaceAmount>
    <us-gaap:DebtInstrumentRepurchaseAmount contextRef="c-246" decimals="-5" id="f-1072" unitRef="usd">309100000</us-gaap:DebtInstrumentRepurchaseAmount>
    <fsly:DebtInstrumentRepurchaseTransactionCosts contextRef="c-246" decimals="-5" id="f-1073" unitRef="usd">2000000</fsly:DebtInstrumentRepurchaseTransactionCosts>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt contextRef="c-1" decimals="-5" id="f-1074" unitRef="usd">52400000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:ScheduleOfDebtTableTextBlock contextRef="c-1" id="f-1075">&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table reflects the carrying values of the debt agreements as of December&#160;31, 2023&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; and &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2022&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; as follows&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:68.783%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.666%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.667%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Convertible Senior notes (effective interest rate of 0.38% and 0.40% as of December&#160;31, 2023 and 2022, respectively)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%"&gt;Principal amount&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;346,489&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;713,753&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: unamortized debt issuance costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,982)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9,043)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: current portion of long-term debt&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%"&gt;Long-term debt, less current portion&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;343,507&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;704,710&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfDebtTableTextBlock>
    <us-gaap:DebtInstrumentInterestRateDuringPeriod
      contextRef="c-247"
      decimals="4"
      id="f-1076"
      unitRef="number">0.0038</us-gaap:DebtInstrumentInterestRateDuringPeriod>
    <us-gaap:DebtInstrumentInterestRateDuringPeriod
      contextRef="c-245"
      decimals="4"
      id="f-1077"
      unitRef="number">0.0040</us-gaap:DebtInstrumentInterestRateDuringPeriod>
    <us-gaap:DebtInstrumentCarryingAmount contextRef="c-246" decimals="-3" id="f-1078" unitRef="usd">346489000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount contextRef="c-248" decimals="-3" id="f-1079" unitRef="usd">713753000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentUnamortizedDiscount contextRef="c-246" decimals="-3" id="f-1080" unitRef="usd">2982000</us-gaap:DebtInstrumentUnamortizedDiscount>
    <us-gaap:DebtInstrumentUnamortizedDiscount contextRef="c-248" decimals="-3" id="f-1081" unitRef="usd">9043000</us-gaap:DebtInstrumentUnamortizedDiscount>
    <us-gaap:LongTermDebtCurrent contextRef="c-246" decimals="-3" id="f-1082" unitRef="usd">0</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent contextRef="c-248" decimals="-3" id="f-1083" unitRef="usd">0</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebt contextRef="c-246" decimals="-3" id="f-1084" unitRef="usd">343507000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt contextRef="c-248" decimals="-3" id="f-1085" unitRef="usd">704710000</us-gaap:LongTermDebt>
    <us-gaap:InterestExpenseDebt contextRef="c-1" decimals="-5" id="f-1086" unitRef="usd">2700000</us-gaap:InterestExpenseDebt>
    <us-gaap:InterestExpenseDebt contextRef="c-6" decimals="-5" id="f-1087" unitRef="usd">3400000</us-gaap:InterestExpenseDebt>
    <us-gaap:InterestExpenseDebt contextRef="c-7" decimals="-5" id="f-1088" unitRef="usd">3500000</us-gaap:InterestExpenseDebt>
    <us-gaap:NotesPayableFairValueDisclosure contextRef="c-4" decimals="-5" id="f-1089" unitRef="usd">301400000</us-gaap:NotesPayableFairValueDisclosure>
    <us-gaap:NotesPayableFairValueDisclosure contextRef="c-5" decimals="-5" id="f-1090" unitRef="usd">517500000</us-gaap:NotesPayableFairValueDisclosure>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="c-1" id="f-1092">Commitments and Contingencies&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Purchase Commitments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;As of December&#160;31, 2023, the Company had long-term commitments for cost of revenue related agreements (i.e., bandwidth usage, peering and other managed services with various networks, fixed asset vendors, Internet service providers and other third-party vendors). The Company also has non-cost of revenue long-term commitments for various non-cancelable agreements. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Aside from the Company&#x2019;s finance and operating lease commitments, including its colocation operating commitments, which have been disclosed in Note 7&#x2014;Leases, the minimum future commitments related to the Company&#x2019;s purchase commitments as of December&#160;31, 2023 were as follows: &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.391%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:48.974%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.542%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.798%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.542%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.798%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.542%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.804%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Cost of Revenue Commitments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Operating Expense Commitments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total Purchase Commitments&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,699&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,480&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59,179&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,105&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,797&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,902&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,111&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,097&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,208&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;111&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;111&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2028&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,066&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,374&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,440&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Sales and Use Tax&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company conducts its operations in many tax jurisdictions throughout the United States. In many of these jurisdictions, non-income-based taxes, such as sales and use and telecommunications taxes are assessed on the Company&#x2019;s operations. The Company is subject to indirect taxes, and may be subject to certain other taxes, in some of these jurisdictions. Historically, the Company has not billed or collected these taxes and, in accordance with GAAP, the Company has recorded a provision for its tax exposure in these jurisdictions when it is both probable that a liability has been incurred and the amount of the exposure can be reasonably estimated. As a result, the Company has recorded a liability of $4.3 million and $7.6 million as of December&#160;31, 2023 and 2022, respectively. These estimates are based on several key assumptions, including the taxability of the Company&#x2019;s products, the jurisdictions in which the Company believes it has nexus and the sourcing of revenues to those jurisdictions. In the event these jurisdictions challenge the Company&#x2019;s assumptions and analysis, its actual exposure could differ materially from its current estimates.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Legal Matters&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;From time to time, the Company has been and may be subject to legal proceedings and claims. Such matters are subject to many uncertainties and outcomes are not predictable with assurance. The Company accrues for contingencies when it believes that a loss is probable and that the Company can reasonably estimate the amount of any such loss. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company is not presently a party to any legal proceedings that, if determined adversely to it, would individually or taken together have a material effect on the Company&#x2019;s business, results of operations, financial condition, or cash flows. As of December&#160;31, 2023, the Company has not recorded any significant accruals for loss contingencies associated with such legal proceedings, determined that an unfavorable outcome is probable or reasonably possible, or determined that the amount or range of any possible loss is reasonably estimable.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Indemnification&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company enters into standard indemnification agreements in the ordinary course of business. Pursuant to these agreements, the Company agrees to indemnify, hold harmless, and reimburse the indemnified party for losses suffered or incurred by the indemnified party, generally the Company&#x2019;s business partners or customers, in connection with its provision of its services. Generally, these obligations are limited to claims relating to infringement of a patent, copyright, or other intellectual property right, breach of the Company&#x2019;s security or data protection obligations, or its negligence, willful misconduct, or violation of law. Subject to applicable statutes of limitation, the term of these indemnification agreements is generally for the duration of the agreement. The maximum potential amount of future payments the Company could be required to make under these indemnification agreements is unlimited; however, the Company carries insurance that covers certain third-party claims relating to the Company&#x2019;s services and could limit its exposure in that respect.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has agreed to indemnify each of its officers and directors during his or her lifetime for certain events or occurrences that happen by reason of the fact that the officer or director is, was, or has agreed to serve as an officer or director of the Company. The Company has director and officer insurance policies that may limit its exposure and may enable it to recover a portion of certain future amounts paid.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;To date, the Company has not encountered material costs as a result of such indemnification obligations and has not accrued any related liabilities in its financial statements. In assessing whether to establish an accrual, the Company considers such factors as the degree of probability of an unfavorable outcome and the ability to make a reasonable estimate of the amount of loss.&lt;/span&gt;&lt;/div&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:LongTermPurchaseCommitmentTextBlock contextRef="c-1" id="f-1093">&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Aside from the Company&#x2019;s finance and operating lease commitments, including its colocation operating commitments, which have been disclosed in Note 7&#x2014;Leases, the minimum future commitments related to the Company&#x2019;s purchase commitments as of December&#160;31, 2023 were as follows: &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.391%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:48.974%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.542%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.798%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.542%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.798%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.542%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.804%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Cost of Revenue Commitments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Operating Expense Commitments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total Purchase Commitments&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,699&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,480&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59,179&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,105&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,797&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,902&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,111&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,097&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,208&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;111&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;111&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2028&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,066&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,374&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,440&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LongTermPurchaseCommitmentTextBlock>
    <us-gaap:PurchaseObligationDueInNextTwelveMonths contextRef="c-250" decimals="-3" id="f-1094" unitRef="usd">48699000</us-gaap:PurchaseObligationDueInNextTwelveMonths>
    <us-gaap:PurchaseObligationDueInNextTwelveMonths contextRef="c-251" decimals="-3" id="f-1095" unitRef="usd">10480000</us-gaap:PurchaseObligationDueInNextTwelveMonths>
    <us-gaap:PurchaseObligationDueInNextTwelveMonths contextRef="c-4" decimals="-3" id="f-1096" unitRef="usd">59179000</us-gaap:PurchaseObligationDueInNextTwelveMonths>
    <us-gaap:PurchaseObligationDueInSecondYear contextRef="c-250" decimals="-3" id="f-1097" unitRef="usd">6105000</us-gaap:PurchaseObligationDueInSecondYear>
    <us-gaap:PurchaseObligationDueInSecondYear contextRef="c-251" decimals="-3" id="f-1098" unitRef="usd">3797000</us-gaap:PurchaseObligationDueInSecondYear>
    <us-gaap:PurchaseObligationDueInSecondYear contextRef="c-4" decimals="-3" id="f-1099" unitRef="usd">9902000</us-gaap:PurchaseObligationDueInSecondYear>
    <us-gaap:PurchaseObligationDueInThirdYear contextRef="c-250" decimals="-3" id="f-1100" unitRef="usd">8111000</us-gaap:PurchaseObligationDueInThirdYear>
    <us-gaap:PurchaseObligationDueInThirdYear contextRef="c-251" decimals="-3" id="f-1101" unitRef="usd">2097000</us-gaap:PurchaseObligationDueInThirdYear>
    <us-gaap:PurchaseObligationDueInThirdYear contextRef="c-4" decimals="-3" id="f-1102" unitRef="usd">10208000</us-gaap:PurchaseObligationDueInThirdYear>
    <us-gaap:PurchaseObligationDueInFourthYear contextRef="c-250" decimals="-3" id="f-1103" unitRef="usd">111000</us-gaap:PurchaseObligationDueInFourthYear>
    <us-gaap:PurchaseObligationDueInFourthYear contextRef="c-251" decimals="-3" id="f-1104" unitRef="usd">0</us-gaap:PurchaseObligationDueInFourthYear>
    <us-gaap:PurchaseObligationDueInFourthYear contextRef="c-4" decimals="-3" id="f-1105" unitRef="usd">111000</us-gaap:PurchaseObligationDueInFourthYear>
    <us-gaap:PurchaseObligationDueInFifthYear contextRef="c-250" decimals="-3" id="f-1106" unitRef="usd">40000</us-gaap:PurchaseObligationDueInFifthYear>
    <us-gaap:PurchaseObligationDueInFifthYear contextRef="c-251" decimals="-3" id="f-1107" unitRef="usd">0</us-gaap:PurchaseObligationDueInFifthYear>
    <us-gaap:PurchaseObligationDueInFifthYear contextRef="c-4" decimals="-3" id="f-1108" unitRef="usd">40000</us-gaap:PurchaseObligationDueInFifthYear>
    <us-gaap:PurchaseObligationDueAfterFifthYear contextRef="c-250" decimals="-3" id="f-1109" unitRef="usd">0</us-gaap:PurchaseObligationDueAfterFifthYear>
    <us-gaap:PurchaseObligationDueAfterFifthYear contextRef="c-251" decimals="-3" id="f-1110" unitRef="usd">0</us-gaap:PurchaseObligationDueAfterFifthYear>
    <us-gaap:PurchaseObligationDueAfterFifthYear contextRef="c-4" decimals="-3" id="f-1111" unitRef="usd">0</us-gaap:PurchaseObligationDueAfterFifthYear>
    <us-gaap:PurchaseObligation contextRef="c-250" decimals="-3" id="f-1112" unitRef="usd">63066000</us-gaap:PurchaseObligation>
    <us-gaap:PurchaseObligation contextRef="c-251" decimals="-3" id="f-1113" unitRef="usd">16374000</us-gaap:PurchaseObligation>
    <us-gaap:PurchaseObligation contextRef="c-4" decimals="-3" id="f-1114" unitRef="usd">79440000</us-gaap:PurchaseObligation>
    <fsly:SalesAndExciseTaxPayableCurrentExcludingNormalActivity contextRef="c-4" decimals="-5" id="f-1115" unitRef="usd">4300000</fsly:SalesAndExciseTaxPayableCurrentExcludingNormalActivity>
    <fsly:SalesAndExciseTaxPayableCurrentExcludingNormalActivity contextRef="c-5" decimals="-5" id="f-1116" unitRef="usd">7600000</fsly:SalesAndExciseTaxPayableCurrentExcludingNormalActivity>
    <us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock contextRef="c-1" id="f-1117">Stockholders&#x2019; Equity&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Common Stock&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s Amended and Restated Certificate of Incorporation, as amended and restated in May 2019, authorizes the issuance of 1.0 billion&#160;shares of Class A common stock and 94.1 million shares of Class B common stock, each at a par value per share of $0.00002. Holders of Class&#160;A common stock are entitled to&#160;one&#160;vote per share and holders of Class&#160;B common stock are entitled to&#160;10&#160;votes per share. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On July 12, 2021, all outstanding shares of Class B common stock automatically converted into the same number of shares of Class A common stock (the &#x201c;Conversion&#x201d;) pursuant to the terms of the Company&#x2019;s amended and restated certificate of incorporation (the &#x201c;Certificate&#x201d;). Upon the Conversion, outstanding options denominated in shares of Class B common stock issued under any of the Company&#x2019;s equity incentive plans remained unchanged, except that such options now represent the right to receive shares of Class A common stock on exercise. In accordance with the Certificate, the shares of Class B common stock that converted to Class A common stock were retired and will not be reissued by the Company. Accordingly, the Company filed a certificate with the Secretary of State of the State of Delaware effecting the retirement of the shares of Class B common stock that were issued but no longer outstanding following the Conversion. Upon the effectiveness of the certificate, the Company&#x2019;s total number of authorized shares of capital stock was reduced by the retirement of 94.1&#160;million shares of Class B common stock.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Equity Incentive Plans&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company maintains four equity incentive plans: the 2019 Equity Incentive Plan (the &#x201c;2019 Plan&#x201d;), 2011 Equity Incentive Plan (&#x201c;2011 Plan&#x201d;), Employee Stock Purchase Plan and the Signal Sciences Corp. 2014 Stock Option and Grant Plan, as amended (the &#x201c;Signal Plan&#x201d;). The 2019 Plan became effective in May 2019 and replaced the 2011 Plan. The Company&#x2019;s 2019 Plan provides for the issuance of incentive stock options, non-statutory stock options, stock appreciation rights, restricted stock units (&#x201c;RSUs&#x201d;), restricted stock awards, performance-based stock awards (&#x201c;PSUs&#x201d;), and other forms of equity compensation, which are collectively referred to as stock awards to its employees, directors, and consultants. The Signal Plan includes 251,754 registered shares which can be exercised to purchase shares of Fastly&#x2019;s common stock. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2023 and 2022, there were 8.9&#160;million and 9.6&#160;million Class A common stock available for issuance under the 2019 Plan, respectively. As of December&#160;31, 2023 and 2022, 133.0&#160;million and 124.3&#160;million shares of Class A common stock were issued and outstanding, respectively. As of both December&#160;31, 2023 and 2022, no shares of Class B common stock were issued and outstanding.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Stock Options&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Options granted under the 2011&#160;Plan and 2019 Plan are exercisable for Class A common stock and generally expire within 10 years from the date of grant and generally vest over four years, at the rate of 25% on the first anniversary of the date of grant and ratably on a monthly basis over the remaining 36-month period thereafter based on continued service. Due to the Conversion on July 12, 2021, options granted under the 2011 Plan are now exercisable for Class A common stock. Forfeitures are recognized as they occur.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes stock option activity during the year ended December&#160;31, 2023:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:38.227%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.496%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.250%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.958%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.649%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number of Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted-Average&#160;&lt;br/&gt;Exercise Price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted-Average&lt;br/&gt;Remaining&lt;br/&gt;Contractual Term&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Aggregate&lt;br/&gt;Intrinsic&#160;Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in&#160;thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in&#160;years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in&#160;thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at December 31, 2022&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,443&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.01&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.7&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,674&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;602&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16.47&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(291)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.45&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(44)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.41&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at December 31, 2023&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,710&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.14&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,383&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested and exercisable at December 31, 2023&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,142&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.94&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.8&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,620&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The total pre-tax intrinsic value of options exercised during the years ended December&#160;31, 2023, 2022, and 2021 was $3.1 million, $8.9 million, and $64.9 million, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The total grant date fair value of employee options vested for the years ended December&#160;31, 2023, 2022, 2021 was $2.1 million, $5.6 million, and $6.9 million, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The weighted-average grant date fair value for options granted to employees during the year ended December&#160;31, 2023 was $10.97. The Company did not grant any options for the years ended December&#160;31, 2022 and 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company estimates the fair value of stock options on the date of grant using the Black-Scholes option-pricing model. Each of the Black-Scholes inputs is subjective and generally requires significant judgments to determine. The Company estimated the fair value of stock option awards during the year ended December&#160;31, 2023 on the date of the grant using the Black-Scholes option pricing model with the following weighted-average assumptions:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:67.613%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.823%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:29.164%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="6" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fair value of common stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$16.47 &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected term (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.96&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Risk-free interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.67%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected volatility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71.2% &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Dividend yield&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the years ended December&#160;31, 2023 and 2022, and 2021, the Company recognized stock-based compensation expense from stock options of approximately $2.1 million, $6.1 million, and $24.9 million, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2023, total unrecognized stock-based compensation cost related to outstanding unvested stock options that are expected to vest was $6.2 million. This unrecognized stock-based compensation cost is expected to be recognized over a weighted-average period of approximately 3.6 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Early Exercise of Stock Options&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%"&gt;Certain stock options granted by the Company are exercisable at the date of grant, with unvested shares subject to repurchase by the Company in the event of voluntary or involuntary termination of employment of the stockholder. Such exercises are recorded as a liability on the accompanying consolidated balance sheets and reclassified into equity as the options vest. During the year ended December 31, 2021, the Company modified the terms of 47,882 unvested options subject to repurchase, with an exercise value of approximately $0.2&#160;million, to become fully vested upon change in service status. As of December 31, 2021, a total of 90,977&#160;shares of Class B Common Stock were subject to repurchase by the Company at the lower of (i)&#160;the fair market value of such shares on the date of repurchase, or (ii)&#160;the original exercise price of such shares. The corresponding exercise value of approximately $0.4 million as of December 31, 2021, was recorded in other current liabilities and other liabilities on the related consolidated balance sheets. The Company did not have any early exercise awards for the year ended December&#160;31, 2023 and 2022.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Restricted Stock Units (&#x201c;RSUs&#x201d;)&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company began granting RSUs under the 2019 Plan during the fiscal year ended December 31, 2019. The fair value of RSUs is based on the grant date fair value and is expensed on a straight-line basis over the applicable vesting period. RSUs granted to new hires typically vest over &lt;span style="-sec-ix-hidden:f-1182"&gt;three&lt;/span&gt; or four years, at the rate of 33% or 25%, respectively, on the first anniversary of the vesting start date and ratably on a quarterly basis over the remaining 24-month or 36-month period thereafter, respectively. RSUs granted to existing employees typically vest in equal quarterly installments over a &lt;span style="-sec-ix-hidden:f-1188"&gt;three&lt;/span&gt; or four-year service period. All vesting is contingent on continued service. Forfeitures are recognized as they occur.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes RSU activity during the years ended December&#160;31, 2023:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:50.361%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.882%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:27.997%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number of Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted-Average&#160;Grant Date Fair Value Per Share&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in&#160;thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Nonvested RSUs as of December 31, 2022&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,990&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20.10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,667&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15.80&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,719)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18.94&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cancelled/forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,694)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22.80&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Nonvested RSUs as of December 31, 2023&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,244&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17.46&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the years ended December&#160;31, 2023, 2022 and 2021, the weighted-average grant date fair value for RSUs granted was $15.80, $14.63 and $54.92 per share, respectively. During the years ended December&#160;31, 2023, 2022 and 2021, the total weighted-average grant date fair value of RSUs vested was $127.3&#160;million, $97.9&#160;million and $67.7&#160;million, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the years ended December&#160;31, 2023, 2022 and 2021, the Company recognized stock-based compensation expense related to RSUs of $105.2&#160;million, $98.5&#160;million and $78.3&#160;million, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2023, total unrecognized stock-based compensation cost related to non-vested RSUs was $177.1&#160;million. This unrecognized stock-based compensation cost is expected to be recognized over a weighted-average period of approximately 2.4 years. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Stock Subject to Revest (&#x201c;Revest Shares&#x201d;)&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In conjunction with a prior acquisition in fiscal 2020, a restriction was placed on 896,499 shares belonging to the three co-founders of the target which are subject to revesting on a quarterly basis over a 2-year period. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company did not recognize any stock-based compensation expense related to revest shares for the year ended December&#160;31, 2023. For the year ended December 31, 2022, the Company recognized stock-based compensation expense related to revest shares of $27.6&#160;million. As of December&#160;31, 2023, there is no unrecognized stock-based compensation cost related to revest shares. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On January 24, 2022, the Company entered into an agreement with certain holders of restricted stock, who had sold their awards in advance of their vesting conditions, in order to return the proceeds associated with the remaining 224,124 unvested shares as of December 31, 2021. These stockholders are eligible to continue vesting under the original agreements as long as they have continued service as either an employee or consultant. On January 31, 2022, the Company received $10.7&#160;million from these stockholders related to the settlement of the matter, which the Company classified as unrestricted cash on its  consolidated balance sheets. This amount will similarly be returned to the holders in accordance with the vesting under the original agreements. Correspondingly, the Company reclassified the award from equity to liability as the award will now be settled for the fixed monetary amount received, rather than a release of the restrictions on shares. The modification did not result in any incremental expense to be recognized. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In February 2022, one of the stockholders had a change in employment status and the Company accelerated the remaining stock-based compensation associated with his awards on his last day of service as an employee as his services under the modified arrangement were not substantive. For the year ended December 31, 2022, the Company recognized stock-based compensation expense of $5.6&#160;million associated with the modification of these awards, which is included in the total stock-based compensation expense. For the year ended December&#160;31, 2023, the Company did not recognize any stock-based compensation expense associated with the modification of these awards. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Performance-Based Restricted Stock Units ("PSUs") &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;padding-left:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%"&gt;Performance stock awards for executive officers ("executive PSUs&#x201d;)&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;In February 2021, pursuant to the Company&#x2019;s 2019 Equity Incentive Plan, the Company granted shares of executive PSUs to certain employees of the Company, which are to vest based on the level of achievement of certain Company and individual targets related to the Company&#x2019;s operating plan for the fiscal year 2021 (&#x201c;2021 Operating Plan&#x201d;). In February 2022, &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;the Company concluded that the minimum target performance to be eligible for vesting under the 2021 Operating Plan was not attained, and as such, none of the 2021 executive PSUs were eligible to vest and the awards were cancelled.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;In February 2022, pursuant to the Company&#x2019;s 2019 Equity Incentive Plan, the Company granted certain employees shares of executive PSUs, which are to vest based on the level of achievement of certain Company-wide targets related to the Company&#x2019;s operating plan for the fiscal year 2022. The Company has accounted for these awards as equity-based awards and will recognize stock-based compensation expense over the employees&#x2019; requisite service period based on the expected attainment of the Company-wide targets as of the end of each reporting period.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;On March 29, 2023, May 4, 2023, and May 30, 2023, pursuant to the Company&#x2019;s 2019 Equity Incentive Plan, the Company granted certain employees shares of executive PSUs, which are to vest based on the level of achievement of certain Company-wide targets related to the Company&#x2019;s operating plan for the fiscal year 2023. The Company has accounted for these awards as equity-based awards and will recognize stock-based compensation expense over the employees&#x2019; requisite service period based on the expected attainment of the Company-wide targets as of the end of each reporting period.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:57.233%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.297%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:21.710%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number of Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted-Average&#160;Grant Date Fair Value Per Share&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in&#160;thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Nonvested executive PSUs as of December 31, 2022&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;267&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28.16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;762&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15.88&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(84)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28.16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cancelled/forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(213)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24.35&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Nonvested executive PSUs as of December 31, 2023&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;732&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16.49&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;For the years ended December&#160;31, 2023, 2022 and 2021, the Company recognized $4.3&#160;million, $1.4&#160;million, and $3.4&#160;million of stock-based compensation expense associated with these awards, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;padding-left:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%"&gt;Company-wide Bonus Program (&#x201c;Bonus Program&#x201d;)&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;On February 11, 2022, the Compensation Committee approved a company-wide bonus program, including performance targets, to most of the Company&#x2019;s employees on active payroll in fiscal year 2022. Shares awarded under the program were paid out in February 2023 in fully vested RSUs and based on the final attainment of Company-wide performance targets which were tied to its operating plan for fiscal year 2022. The Company recognized stock-based compensation expense over the employees requisite service period, based on the final attainment of the Company-wide targets. In February 2023, the Company paid out the bonus liability associated with the 2022 Bonus Program in 1.2&#160;million of restricted stock units, and correspondingly recorded a charge to additional paid-in-capital of $16.6&#160;million.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;On March 29, 2023, the Compensation Committee approved a company-wide bonus program, including performance targets, to most of the Company&#x2019;s employees on active payroll in fiscal year 2023. Shares awarded under the program will be in fully vested RSUs and will be based on the final attainment of Company-wide performance targets which are tied to its operating plan for fiscal year 2023. The payout of the 2023 Company-wide bonus program will vary linearly between 50%, 100% and 150% based on the achievement of these targets. Employees are required to be employed through the payout date to earn the awards. The Company has accounted for these awards as liability-based awards, since the monetary value of the obligation associated with the award is based predominantly on a fixed monetary amount known at inception, and it has an unconditional obligation that it must or may settle by issuing a variable number of its equity shares. The Company is recognizing the stock-based compensation expense over the employees requisite service period, based on the expected attainment of the Company-wide targets as of the end of each reporting period. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;During the years ended December&#160;31, 2023, and 2022, the Company recognized $24.7&#160;million and $14.9&#160;million of stock-based compensation expense associated with the Bonus Programs, respectively. The Company did not recognize any stock-based compensation expense associated with the Bonus Program for the year ended December&#160;31, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%"&gt;Market-Based Performance Stock Awards (&#x201c;MPSUs&#x201d;)&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In September 2022 and January 2023, pursuant to the Company&#x2019;s 2019 Equity Incentive Plan, the Company granted certain employees shares of MPSUs, which are to vest upon the satisfaction of the Company&#x2019;s achievement of specified Fastly &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Class A common stock price targets during the applicable performance period. In addition, the awards are subject to each recipient&#x2019;s continuous service through each applicable vest dates. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company measured the fair value of the MPSUs using a Monte Carlo simulation valuation model. The risk-free interest rates used were 3.37% - 3.68%, which were based on five-year US treasury yield, adjusted to a continuous time basis. The expected volatility was a blended volatility rate of 80%, which incorporated both the Company&#x2019;s observed equity volatility and the relevant guideline company volatility.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:57.964%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:18.636%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:18.640%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number of Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted-Average&#160;Grant Date Fair Value Per Share&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in&#160;thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Nonvested MPSUs as of December 31, 2022&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,174&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.80&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;87&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(540)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.84&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cancelled/forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(250)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.69&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Nonvested MPSUs as of December 31, 2023&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,471&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.46&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Stock-based compensation expense relating to the MPSUs are recognized using the accelerated attribution method over the derived service period. For the year ended December&#160;31, 2023, the Company recognized $5.9&#160;million of stock-based compensation expense associated with these awards. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total unrecognized stock-based compensation expense related to the unvested portion of the MPSUs was $4.7&#160;million as of December&#160;31, 2023. This expense is expected to be amortized over a weighted-average vesting period of 3.9 years. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%"&gt;Employee Stock Purchase Program (&#x201c;ESPP&#x201d;)&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The ESPP allows eligible employees to purchase shares of the Company&#x2019;s Class A common stock through payroll deductions of up to 15% of their eligible compensation. The ESPP provides for six-month offering periods, commencing in May and November of each year. At the end of each offering period employees are able to purchase shares at&#160;85%&#160;of the lower of the fair market value of the Company&#x2019;s Class A common stock on the first trading day of the offering period or on the date of purchase. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company estimates the fair value of shares to be issued under the ESPP on the first day of the offering period using the Black-Scholes valuation model. The inputs to the Black-Scholes option pricing model are the Company&#x2019;s stock price on the first date of the offering period, the risk-free interest rate, the estimated volatility of the Company&#x2019;s stock price over the term of the offering period, the expected term of the offering period and the expected dividend rate. Stock-based compensation expense related to the ESPP is recognized on a straight-line basis over the offering period. Forfeitures are recognized as they occur.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company estimated the fair value of shares granted under the ESPP on the first date of the offering period using the Black-Scholes option pricing model with the following assumptions:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:49.923%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.543%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.543%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.547%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fair value of common stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$3.33 &#x2013; $6.09&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$8.40 &#x2013; $11.85&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$41.24 &#x2013; $44.87&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected term (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.49 &#x2013; 0.50&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.49&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.49 &#x2013; 0.50&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Risk-free interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.65% &#x2013; 5.43%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.57% &#x2013; 4.65%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.02% &#x2013; 0.07%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected volatility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;70% &#x2013; 88%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;88% &#x2013; 101%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47% &#x2013; 58%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Dividend yield&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the years ended December&#160;31, 2023, 2022 and 2021, the Company recognized $4.1&#160;million, $3.2&#160;million, and $3.5&#160;million in stock-based compensation expense related to the ESPP, respectively. As of December&#160;31, 2023, total unrecognized stock-based compensation cost related to ESPP was $1.9&#160;million. This unrecognized stock-based compensation cost is expected to be recognized over a weighted-average period of approximately 0.4 years. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the years ended December&#160;31, 2023, 2022 and 2021, an aggregate of 1.0 million and 0.5 million and 0.2 million shares of the Company&#x2019;s Class A common stock was purchased under the ESPP, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%"&gt;Equity Awards Modification &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;In September 2023, as part of one employee's separation and transition plan, the Company modified this employee&#x2019;s outstanding equity awards in an amount that would have vested if this individual had remained an employee for an additional period of time. As a result of the modification, the Company recognized stock-based compensation expense of $2.0&#160;million for the year ended December&#160;31, 2023. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;In September 2022, as part of one employee's separation and transition plan, the Company modified this employee&#x2019;s outstanding equity awards in an amount that would have vested if this individual had remained an employee for an additional period of time. As a result of the modification, the Company recognized stock-based compensation expense of $3.1&#160;million for the year ended December&#160;31, 2022. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Stock-based Compensation Expense&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the components of total stock-based compensation expense included in the accompanying consolidated statements of operations:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:61.619%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.595%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.595%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.601%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,656&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,050&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,227&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Research and development&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,827&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,435&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,019&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sales and marketing&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,703&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,083&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,159&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;General and administrative&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,117&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;36,228&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;55,083&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;136,303&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;145,796&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;140,488&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:12pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For the years ended December&#160;31, 2023, 2022 and 2021, the Company capitalized $10.1&#160;million, $8.0&#160;million, and $4.4&#160;million of stock-based compensation expense, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:12pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For the year ended December&#160;31, 2023, the Company recognized $24.7&#160;million of stock-based compensation expense associated with liability classified awards related to the company-wide Bonus Program. For the year ended December&#160;31, 2022, the Company recognized $25.5&#160;million of stock-based compensation expense associated with liability classified awards related to the company-wide Bonus Program and certain of the Company&#x2019;s Revest Shares that were modified. The Company did not recognize any stock-based compensation expense associated with liability classified awards for the year ended December&#160;31, 2021.&lt;/span&gt;&lt;/div&gt;</us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="c-252"
      decimals="INF"
      id="f-1118"
      unitRef="shares">1000000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="c-253"
      decimals="-5"
      id="f-1119"
      unitRef="shares">94100000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c-253"
      decimals="INF"
      id="f-1120"
      unitRef="usdPerShare">0.00002</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c-252"
      decimals="INF"
      id="f-1121"
      unitRef="usdPerShare">0.00002</us-gaap:CommonStockParOrStatedValuePerShare>
    <fsly:CommonStockVotingRightsNumberofVotesAllowedToEachShare
      contextRef="c-252"
      decimals="INF"
      id="f-1122"
      unitRef="vote">1</fsly:CommonStockVotingRightsNumberofVotesAllowedToEachShare>
    <fsly:CommonStockVotingRightsNumberofVotesAllowedToEachShare
      contextRef="c-253"
      decimals="INF"
      id="f-1123"
      unitRef="vote">10</fsly:CommonStockVotingRightsNumberofVotesAllowedToEachShare>
    <fsly:CommonStockSharesRetired
      contextRef="c-254"
      decimals="-5"
      id="f-1124"
      unitRef="shares">94100000</fsly:CommonStockSharesRetired>
    <fsly:NumberOfEquityIncentivePlans contextRef="c-1" decimals="INF" id="f-1125" unitRef="plan">4</fsly:NumberOfEquityIncentivePlans>
    <fsly:BusinessCombinationUnvestedStockOptionAssumedShares
      contextRef="c-255"
      decimals="INF"
      id="f-1126"
      unitRef="shares">251754</fsly:BusinessCombinationUnvestedStockOptionAssumedShares>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="c-256"
      decimals="-5"
      id="f-1127"
      unitRef="shares">8900000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="c-257"
      decimals="-5"
      id="f-1128"
      unitRef="shares">9600000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:CommonStockSharesIssued
      contextRef="c-258"
      decimals="-5"
      id="f-1129"
      unitRef="shares">133000000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c-258"
      decimals="-5"
      id="f-1130"
      unitRef="shares">133000000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c-259"
      decimals="-5"
      id="f-1131"
      unitRef="shares">124300000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="c-259"
      decimals="-5"
      id="f-1132"
      unitRef="shares">124300000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="c-260"
      decimals="INF"
      id="f-1133"
      unitRef="shares">0</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c-261"
      decimals="INF"
      id="f-1134"
      unitRef="shares">0</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="c-260"
      decimals="INF"
      id="f-1135"
      unitRef="shares">0</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c-261"
      decimals="INF"
      id="f-1136"
      unitRef="shares">0</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod contextRef="c-262" id="f-1137">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c-262" id="f-1138">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="c-263"
      decimals="2"
      id="f-1139"
      unitRef="number">0.25</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c-264" id="f-1140">P36M</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock contextRef="c-1" id="f-1141">&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes stock option activity during the year ended December&#160;31, 2023:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:38.227%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.496%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.250%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.958%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.649%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number of Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted-Average&#160;&lt;br/&gt;Exercise Price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted-Average&lt;br/&gt;Remaining&lt;br/&gt;Contractual Term&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Aggregate&lt;br/&gt;Intrinsic&#160;Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in&#160;thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in&#160;years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in&#160;thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at December 31, 2022&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,443&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.01&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.7&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,674&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;602&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16.47&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(291)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.45&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(44)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.41&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at December 31, 2023&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,710&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.14&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,383&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested and exercisable at December 31, 2023&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,142&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.94&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.8&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,620&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="c-5" decimals="-3" id="f-1142" unitRef="shares">2443000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="c-5"
      decimals="2"
      id="f-1143"
      unitRef="usdPerShare">6.01</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="c-6" id="f-1144">P4Y8M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue contextRef="c-5" decimals="-3" id="f-1145" unitRef="usd">7674000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross contextRef="c-1" decimals="-3" id="f-1146" unitRef="shares">602000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="c-1"
      decimals="2"
      id="f-1147"
      unitRef="usdPerShare">16.47</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="c-1" decimals="-3" id="f-1148" unitRef="shares">291000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="c-1"
      decimals="2"
      id="f-1149"
      unitRef="usdPerShare">7.45</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod contextRef="c-1" decimals="-3" id="f-1150" unitRef="shares">44000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="c-1"
      decimals="2"
      id="f-1151"
      unitRef="usdPerShare">8.41</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="c-4" decimals="-3" id="f-1152" unitRef="shares">2710000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="c-4"
      decimals="2"
      id="f-1153"
      unitRef="usdPerShare">8.14</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="c-1" id="f-1154">P5Y1M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue contextRef="c-4" decimals="-3" id="f-1155" unitRef="usd">26383000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber contextRef="c-4" decimals="-3" id="f-1156" unitRef="shares">2142000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice
      contextRef="c-4"
      decimals="2"
      id="f-1157"
      unitRef="usdPerShare">5.94</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1 contextRef="c-1" id="f-1158">P3Y9M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue contextRef="c-4" decimals="-3" id="f-1159" unitRef="usd">25620000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue contextRef="c-1" decimals="-5" id="f-1160" unitRef="usd">3100000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue contextRef="c-6" decimals="-5" id="f-1161" unitRef="usd">8900000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue contextRef="c-7" decimals="-5" id="f-1162" unitRef="usd">64900000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1 contextRef="c-1" decimals="-5" id="f-1163" unitRef="usd">2100000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1 contextRef="c-6" decimals="-5" id="f-1164" unitRef="usd">5600000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1 contextRef="c-7" decimals="-5" id="f-1165" unitRef="usd">6900000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-1"
      decimals="2"
      id="f-1166"
      unitRef="usdPerShare">10.97</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock contextRef="c-1" id="f-1167">The Company estimated the fair value of stock option awards during the year ended December&#160;31, 2023 on the date of the grant using the Black-Scholes option pricing model with the following weighted-average assumptions:&lt;div style="margin-bottom:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:67.613%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.823%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:29.164%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="6" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fair value of common stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$16.47 &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected term (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.96&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Risk-free interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.67%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected volatility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71.2% &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Dividend yield&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company estimated the fair value of shares granted under the ESPP on the first date of the offering period using the Black-Scholes option pricing model with the following assumptions:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:49.923%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.543%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.543%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.547%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fair value of common stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$3.33 &#x2013; $6.09&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$8.40 &#x2013; $11.85&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$41.24 &#x2013; $44.87&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected term (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.49 &#x2013; 0.50&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.49&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.49 &#x2013; 0.50&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Risk-free interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.65% &#x2013; 5.43%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.57% &#x2013; 4.65%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.02% &#x2013; 0.07%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected volatility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;70% &#x2013; 88%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;88% &#x2013; 101%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47% &#x2013; 58%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Dividend yield&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock>
    <us-gaap:SharePrice
      contextRef="c-265"
      decimals="2"
      id="f-1168"
      unitRef="usdPerShare">16.47</us-gaap:SharePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="c-266" id="f-1169">P5Y11M15D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="c-266"
      decimals="4"
      id="f-1170"
      unitRef="number">0.0467</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="c-266"
      decimals="4"
      id="f-1171"
      unitRef="number">0.712</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="c-266"
      decimals="2"
      id="f-1172"
      unitRef="number">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-266" decimals="-5" id="f-1173" unitRef="usd">2100000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-267" decimals="-5" id="f-1174" unitRef="usd">6100000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-268" decimals="-5" id="f-1175" unitRef="usd">24900000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions contextRef="c-4" decimals="-5" id="f-1176" unitRef="usd">6200000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 contextRef="c-266" id="f-1177">P3Y7M6D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <fsly:ShareBasedPaymentArrangementPlanModificationNumberOfAwardsAffected
      contextRef="c-268"
      decimals="INF"
      id="f-1178"
      unitRef="shares">47882</fsly:ShareBasedPaymentArrangementPlanModificationNumberOfAwardsAffected>
    <fsly:ShareBasedPaymentArrangementPlanModificationExerciseValueOfAwardsAffected contextRef="c-268" decimals="-5" id="f-1179" unitRef="usd">200000</fsly:ShareBasedPaymentArrangementPlanModificationExerciseValueOfAwardsAffected>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
      contextRef="c-269"
      decimals="INF"
      id="f-1180"
      unitRef="shares">90977</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares>
    <us-gaap:OtherLiabilities contextRef="c-270" decimals="-5" id="f-1181" unitRef="usd">400000</us-gaap:OtherLiabilities>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c-272" id="f-1183">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="c-272"
      decimals="2"
      id="f-1184"
      unitRef="number">0.33</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="c-271"
      decimals="2"
      id="f-1185"
      unitRef="number">0.25</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c-273" id="f-1186">P24M</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c-274" id="f-1187">P36M</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c-276" id="f-1189">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardRestrictedStockUnitsVestedAndExpectedToVestTableTextBlock contextRef="c-1" id="f-1190">&lt;div style="margin-bottom:12pt;margin-top:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes RSU activity during the years ended December&#160;31, 2023:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:50.361%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.882%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:27.997%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number of Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted-Average&#160;Grant Date Fair Value Per Share&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in&#160;thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Nonvested RSUs as of December 31, 2022&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,990&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20.10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,667&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15.80&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,719)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18.94&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cancelled/forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,694)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22.80&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Nonvested RSUs as of December 31, 2023&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,244&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17.46&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:57.233%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.297%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:21.710%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number of Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted-Average&#160;Grant Date Fair Value Per Share&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in&#160;thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Nonvested executive PSUs as of December 31, 2022&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;267&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28.16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;762&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15.88&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(84)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28.16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cancelled/forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(213)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24.35&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Nonvested executive PSUs as of December 31, 2023&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;732&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16.49&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:57.964%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:18.636%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:18.640%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number of Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted-Average&#160;Grant Date Fair Value Per Share&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in&#160;thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Nonvested MPSUs as of December 31, 2022&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,174&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.80&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;87&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(540)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.84&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cancelled/forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(250)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.69&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Nonvested MPSUs as of December 31, 2023&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,471&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.46&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardRestrictedStockUnitsVestedAndExpectedToVestTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="c-277"
      decimals="-3"
      id="f-1191"
      unitRef="shares">11990000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c-277"
      decimals="2"
      id="f-1192"
      unitRef="usdPerShare">20.10</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-278"
      decimals="-3"
      id="f-1193"
      unitRef="shares">7667000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-278"
      decimals="2"
      id="f-1194"
      unitRef="usdPerShare">15.80</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="c-278"
      decimals="-3"
      id="f-1195"
      unitRef="shares">6719000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-278"
      decimals="2"
      id="f-1196"
      unitRef="usdPerShare">18.94</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="c-278"
      decimals="-3"
      id="f-1197"
      unitRef="shares">1694000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="c-278"
      decimals="2"
      id="f-1198"
      unitRef="usdPerShare">22.80</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="c-279"
      decimals="-3"
      id="f-1199"
      unitRef="shares">11244000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c-279"
      decimals="2"
      id="f-1200"
      unitRef="usdPerShare">17.46</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-278"
      decimals="2"
      id="f-1201"
      unitRef="usdPerShare">15.80</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-280"
      decimals="2"
      id="f-1202"
      unitRef="usdPerShare">14.63</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-281"
      decimals="2"
      id="f-1203"
      unitRef="usdPerShare">54.92</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <fsly:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodGrantDateFairValue contextRef="c-278" decimals="-5" id="f-1204" unitRef="usd">127300000</fsly:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodGrantDateFairValue>
    <fsly:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodGrantDateFairValue contextRef="c-280" decimals="-5" id="f-1205" unitRef="usd">97900000</fsly:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodGrantDateFairValue>
    <fsly:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodGrantDateFairValue contextRef="c-281" decimals="-5" id="f-1206" unitRef="usd">67700000</fsly:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodGrantDateFairValue>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-278" decimals="-5" id="f-1207" unitRef="usd">105200000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-280" decimals="-5" id="f-1208" unitRef="usd">98500000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-281" decimals="-5" id="f-1209" unitRef="usd">78300000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="c-279" decimals="-5" id="f-1210" unitRef="usd">177100000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 contextRef="c-278" id="f-1211">P2Y4M24D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <fsly:StockIssuedDuringPeriodSharesAcquisitionSharesHeldBackForRestrictedStockAwards
      contextRef="c-282"
      decimals="INF"
      id="f-1212"
      unitRef="shares">896499</fsly:StockIssuedDuringPeriodSharesAcquisitionSharesHeldBackForRestrictedStockAwards>
    <fsly:NumberOfCofoundersWithSharesSubjectToRevesting
      contextRef="c-283"
      decimals="INF"
      id="f-1213"
      unitRef="cofounder">3</fsly:NumberOfCofoundersWithSharesSubjectToRevesting>
    <fsly:SharesHeldBackForRestrictedStockAwardsRevestingPeriod contextRef="c-282" id="f-1214">P2Y</fsly:SharesHeldBackForRestrictedStockAwardsRevestingPeriod>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-284" decimals="INF" id="f-1215" unitRef="usd">0</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-285" decimals="-5" id="f-1216" unitRef="usd">27600000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="c-286" decimals="INF" id="f-1217" unitRef="usd">0</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <fsly:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedAndSoldNumber
      contextRef="c-287"
      decimals="INF"
      id="f-1218"
      unitRef="shares">224124</fsly:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedAndSoldNumber>
    <fsly:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsProceedsFromNonvestedSharesSold contextRef="c-288" decimals="-5" id="f-1219" unitRef="usd">10700000</fsly:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsProceedsFromNonvestedSharesSold>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCost contextRef="c-285" decimals="-5" id="f-1220" unitRef="usd">5600000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCost>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCost contextRef="c-284" decimals="INF" id="f-1221" unitRef="usd">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCost>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="c-289"
      decimals="-3"
      id="f-1222"
      unitRef="shares">267000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c-289"
      decimals="2"
      id="f-1223"
      unitRef="usdPerShare">28.16</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-290"
      decimals="-3"
      id="f-1224"
      unitRef="shares">762000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-290"
      decimals="2"
      id="f-1225"
      unitRef="usdPerShare">15.88</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="c-290"
      decimals="-3"
      id="f-1226"
      unitRef="shares">84000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-290"
      decimals="2"
      id="f-1227"
      unitRef="usdPerShare">28.16</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="c-290"
      decimals="-3"
      id="f-1228"
      unitRef="shares">213000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="c-290"
      decimals="2"
      id="f-1229"
      unitRef="usdPerShare">24.35</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="c-291"
      decimals="-3"
      id="f-1230"
      unitRef="shares">732000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c-291"
      decimals="2"
      id="f-1231"
      unitRef="usdPerShare">16.49</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-290" decimals="-5" id="f-1232" unitRef="usd">4300000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-292" decimals="-5" id="f-1233" unitRef="usd">1400000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-293" decimals="-5" id="f-1234" unitRef="usd">3400000</us-gaap:AllocatedShareBasedCompensationExpense>
    <fsly:StockIssuedDuringPeriodSharesRestrictedStockAwardBonusProgram
      contextRef="c-294"
      decimals="-5"
      id="f-1235"
      unitRef="shares">1200000</fsly:StockIssuedDuringPeriodSharesRestrictedStockAwardBonusProgram>
    <fsly:StockIssuedDuringPeriodValueRestrictedStockAwardBonusProgram contextRef="c-294" decimals="-5" id="f-1236" unitRef="usd">16600000</fsly:StockIssuedDuringPeriodValueRestrictedStockAwardBonusProgram>
    <fsly:PayoutOfPerformanceBasedRestrictedStockUnitsPercentage
      contextRef="c-295"
      decimals="INF"
      id="f-1237"
      unitRef="number">0.50</fsly:PayoutOfPerformanceBasedRestrictedStockUnitsPercentage>
    <fsly:PayoutOfPerformanceBasedRestrictedStockUnitsPercentage
      contextRef="c-296"
      decimals="INF"
      id="f-1238"
      unitRef="number">1</fsly:PayoutOfPerformanceBasedRestrictedStockUnitsPercentage>
    <fsly:PayoutOfPerformanceBasedRestrictedStockUnitsPercentage
      contextRef="c-297"
      decimals="INF"
      id="f-1239"
      unitRef="number">1.50</fsly:PayoutOfPerformanceBasedRestrictedStockUnitsPercentage>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-298" decimals="-5" id="f-1240" unitRef="usd">24700000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-299" decimals="-5" id="f-1241" unitRef="usd">14900000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-300" decimals="INF" id="f-1242" unitRef="usd">0</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum
      contextRef="c-301"
      decimals="4"
      id="f-1243"
      unitRef="number">0.0337</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum
      contextRef="c-301"
      decimals="4"
      id="f-1244"
      unitRef="number">0.0368</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="c-301"
      decimals="2"
      id="f-1245"
      unitRef="number">0.80</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="c-302"
      decimals="-3"
      id="f-1246"
      unitRef="shares">2174000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c-302"
      decimals="2"
      id="f-1247"
      unitRef="usdPerShare">6.80</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-301"
      decimals="-3"
      id="f-1248"
      unitRef="shares">87000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-301"
      decimals="2"
      id="f-1249"
      unitRef="usdPerShare">7.25</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="c-301"
      decimals="-3"
      id="f-1250"
      unitRef="shares">540000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-301"
      decimals="2"
      id="f-1251"
      unitRef="usdPerShare">7.84</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="c-301"
      decimals="-3"
      id="f-1252"
      unitRef="shares">250000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="c-301"
      decimals="2"
      id="f-1253"
      unitRef="usdPerShare">6.69</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="c-303"
      decimals="-3"
      id="f-1254"
      unitRef="shares">1471000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c-303"
      decimals="2"
      id="f-1255"
      unitRef="usdPerShare">6.46</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-301" decimals="-5" id="f-1256" unitRef="usd">5900000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="c-303" decimals="-5" id="f-1257" unitRef="usd">4700000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 contextRef="c-301" id="f-1258">P3Y10M24D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate
      contextRef="c-304"
      decimals="2"
      id="f-1259"
      unitRef="number">0.15</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate>
    <fsly:SharebasedCompensationArrangementbySharebasedPaymentAwardStockPlanOfferingPeriod contextRef="c-305" id="f-1260">P6M</fsly:SharebasedCompensationArrangementbySharebasedPaymentAwardStockPlanOfferingPeriod>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent
      contextRef="c-305"
      decimals="2"
      id="f-1261"
      unitRef="number">0.85</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent>
    <us-gaap:SharePrice
      contextRef="c-306"
      decimals="2"
      id="f-1262"
      unitRef="usdPerShare">3.33</us-gaap:SharePrice>
    <us-gaap:SharePrice
      contextRef="c-307"
      decimals="2"
      id="f-1263"
      unitRef="usdPerShare">6.09</us-gaap:SharePrice>
    <us-gaap:SharePrice
      contextRef="c-308"
      decimals="2"
      id="f-1264"
      unitRef="usdPerShare">8.40</us-gaap:SharePrice>
    <us-gaap:SharePrice
      contextRef="c-309"
      decimals="2"
      id="f-1265"
      unitRef="usdPerShare">11.85</us-gaap:SharePrice>
    <us-gaap:SharePrice
      contextRef="c-310"
      decimals="2"
      id="f-1266"
      unitRef="usdPerShare">41.24</us-gaap:SharePrice>
    <us-gaap:SharePrice
      contextRef="c-311"
      decimals="2"
      id="f-1267"
      unitRef="usdPerShare">44.87</us-gaap:SharePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="c-312" id="f-1268">P0Y5M26D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="c-313" id="f-1269">P0Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="c-314" id="f-1270">P0Y5M26D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="c-315" id="f-1271">P0Y5M26D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="c-316" id="f-1272">P0Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum
      contextRef="c-305"
      decimals="4"
      id="f-1273"
      unitRef="number">0.0465</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum
      contextRef="c-305"
      decimals="4"
      id="f-1274"
      unitRef="number">0.0543</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum
      contextRef="c-314"
      decimals="4"
      id="f-1275"
      unitRef="number">0.0157</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum
      contextRef="c-314"
      decimals="4"
      id="f-1276"
      unitRef="number">0.0465</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum
      contextRef="c-317"
      decimals="4"
      id="f-1277"
      unitRef="number">0.0002</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum
      contextRef="c-317"
      decimals="4"
      id="f-1278"
      unitRef="number">0.0007</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum
      contextRef="c-305"
      decimals="2"
      id="f-1279"
      unitRef="number">0.70</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum
      contextRef="c-305"
      decimals="2"
      id="f-1280"
      unitRef="number">0.88</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum
      contextRef="c-314"
      decimals="2"
      id="f-1281"
      unitRef="number">0.88</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum
      contextRef="c-314"
      decimals="2"
      id="f-1282"
      unitRef="number">1.01</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum
      contextRef="c-317"
      decimals="2"
      id="f-1283"
      unitRef="number">0.47</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum
      contextRef="c-317"
      decimals="2"
      id="f-1284"
      unitRef="number">0.58</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="c-305"
      decimals="INF"
      id="f-1285"
      unitRef="number">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="c-314"
      decimals="INF"
      id="f-1286"
      unitRef="number">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="c-317"
      decimals="INF"
      id="f-1287"
      unitRef="number">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-305" decimals="-5" id="f-1288" unitRef="usd">4100000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-314" decimals="-5" id="f-1289" unitRef="usd">3200000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-317" decimals="-5" id="f-1290" unitRef="usd">3500000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="c-304" decimals="-5" id="f-1291" unitRef="usd">1900000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 contextRef="c-305" id="f-1292">P0Y4M24D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="c-38"
      decimals="-5"
      id="f-1293"
      unitRef="shares">1000000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="c-27"
      decimals="-5"
      id="f-1294"
      unitRef="shares">500000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="c-14"
      decimals="-5"
      id="f-1295"
      unitRef="shares">200000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost contextRef="c-318" decimals="-5" id="f-1296" unitRef="usd">2000000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost contextRef="c-319" decimals="-5" id="f-1297" unitRef="usd">3100000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock contextRef="c-1" id="f-1298">&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the components of total stock-based compensation expense included in the accompanying consolidated statements of operations:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:61.619%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.595%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.595%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.601%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,656&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,050&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,227&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Research and development&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,827&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,435&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,019&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sales and marketing&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,703&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,083&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,159&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;General and administrative&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,117&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;36,228&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;55,083&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;136,303&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;145,796&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;140,488&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-320" decimals="-3" id="f-1299" unitRef="usd">11656000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-321" decimals="-3" id="f-1300" unitRef="usd">12050000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-322" decimals="-3" id="f-1301" unitRef="usd">7227000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-323" decimals="-3" id="f-1302" unitRef="usd">47827000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-324" decimals="-3" id="f-1303" unitRef="usd">58435000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-325" decimals="-3" id="f-1304" unitRef="usd">47019000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-326" decimals="-3" id="f-1305" unitRef="usd">33703000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-327" decimals="-3" id="f-1306" unitRef="usd">39083000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-328" decimals="-3" id="f-1307" unitRef="usd">31159000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-329" decimals="-3" id="f-1308" unitRef="usd">43117000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-330" decimals="-3" id="f-1309" unitRef="usd">36228000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-331" decimals="-3" id="f-1310" unitRef="usd">55083000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-1" decimals="-3" id="f-1311" unitRef="usd">136303000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-6" decimals="-3" id="f-1312" unitRef="usd">145796000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-7" decimals="-3" id="f-1313" unitRef="usd">140488000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount contextRef="c-1" decimals="-5" id="f-1314" unitRef="usd">10100000</us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount>
    <us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount contextRef="c-6" decimals="-5" id="f-1315" unitRef="usd">8000000</us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount>
    <us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount contextRef="c-7" decimals="-5" id="f-1316" unitRef="usd">4400000</us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-332" decimals="-5" id="f-1317" unitRef="usd">24700000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-333" decimals="-5" id="f-1318" unitRef="usd">25500000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-334" decimals="INF" id="f-1319" unitRef="usd">0</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EarningsPerShareTextBlock contextRef="c-1" id="f-1320">Net Loss Per Share Attributable to Common Stockholders&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Basic net loss per share is computed by dividing net loss by basic weighted-average shares outstanding during the period. Diluted net loss per share is computed by dividing net loss by diluted weighted-average shares outstanding, including potentially dilutive securities. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On July 12, 2021, the shares of Class B common stock that converted to Class A common stock were retired and will not be reissued by the Company. Prior to that date, the Company computed net loss per share using the two-class method required for multiple classes of common stock and participating securities. The rights of the holders of the Class A common stock and Class B common stock are identical, except with respect to voting and conversion. Accordingly, the Class A common stock and Class B common stock share equally in the Company&#x2019;s net losses.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents the computation of basic and diluted net loss per share of common stock (in millions, except per share data):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.514%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:32.333%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.549%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.244%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.549%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.244%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.549%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.244%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.549%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.244%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.549%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.244%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.549%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.253%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="33" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Class A&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Class B&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Class A &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Class B&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Class A &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Class B&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="33" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in&#160;thousands, except per share amounts)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss attributable to common stockholders&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(133,088)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(190,774)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(212,120)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,577)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-average shares used in computing net loss per share attributable to common stockholders, basic and diluted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;128,770&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;121,723&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;110,541&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,512&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss per share attributable to common stockholders, basic and diluted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.03)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.57)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.92)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.92)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;__________&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt"&gt;Class A common stock includes the issuance of 12.9&#160;million shares of Class A common stock issued by the Company in connection with the IPO and the shares issued in connection with the follow-on offering on May 26, 2020. It also includes shares issued upon the exercise of options and vesting of RSUs granted subsequent to the IPO, shares issued as part of the prior acquisitions, and converted Common B shares. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;padding-left:18pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt"&gt;Class B common stock includes, for all periods presented, common stock issued prior to the IPO and the conversion of all of the Company&#x2019;s preferred stock into an aggregate of 53.6&#160;million shares of the Company&#x2019;s Class B common stock upon closing of the IPO. Some of these shares were previously converted into shares of Class A common stock. On July 12, 2021, all shares of Class B common stock were converted into shares of Class A common stock. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following securities were excluded from the computation of diluted net loss per share of common stock for the periods presented as their effect would have been antidilutive:&lt;/span&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:47.021%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.522%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:15.518%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.378%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:15.518%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.522%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:15.521%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number of Shares&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,710&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,443&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,369&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;RSUs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,244&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,990&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,285&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revest shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;PSUs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;732&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;267&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;MPSUs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,471&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,174&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Bonus PSUs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,572&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,777&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Shares issuable pursuant to the ESPP&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;410&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;186&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;51&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Convertible senior notes (if-converted)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,370&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,338&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,229&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,509&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,175&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,341&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="c-1" id="f-1321">&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents the computation of basic and diluted net loss per share of common stock (in millions, except per share data):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.514%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:32.333%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.549%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.244%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.549%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.244%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.549%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.244%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.549%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.244%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.549%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.244%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.549%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.253%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="33" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Class A&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Class B&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Class A &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Class B&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Class A &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Class B&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="33" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in&#160;thousands, except per share amounts)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss attributable to common stockholders&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(133,088)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(190,774)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(212,120)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,577)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-average shares used in computing net loss per share attributable to common stockholders, basic and diluted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;128,770&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;121,723&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;110,541&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,512&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss per share attributable to common stockholders, basic and diluted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.03)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.57)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.92)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.92)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;__________&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt"&gt;Class A common stock includes the issuance of 12.9&#160;million shares of Class A common stock issued by the Company in connection with the IPO and the shares issued in connection with the follow-on offering on May 26, 2020. It also includes shares issued upon the exercise of options and vesting of RSUs granted subsequent to the IPO, shares issued as part of the prior acquisitions, and converted Common B shares. &lt;/span&gt;&lt;/div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2)&lt;/span&gt;Class B common stock includes, for all periods presented, common stock issued prior to the IPO and the conversion of all of the Company&#x2019;s preferred stock into an aggregate of 53.6&#160;million shares of the Company&#x2019;s Class B common stock upon closing of the IPO. Some of these shares were previously converted into shares of Class A common stock. On July 12, 2021, all shares of Class B common stock were converted into shares of Class A common stock.</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic contextRef="c-335" decimals="-3" id="f-1322" unitRef="usd">-133088000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted contextRef="c-335" decimals="-3" id="f-1323" unitRef="usd">-133088000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted contextRef="c-336" decimals="-3" id="f-1324" unitRef="usd">0</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic contextRef="c-336" decimals="-3" id="f-1325" unitRef="usd">0</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted contextRef="c-337" decimals="-3" id="f-1326" unitRef="usd">-190774000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic contextRef="c-337" decimals="-3" id="f-1327" unitRef="usd">-190774000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic contextRef="c-338" decimals="-3" id="f-1328" unitRef="usd">0</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted contextRef="c-338" decimals="-3" id="f-1329" unitRef="usd">0</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted contextRef="c-339" decimals="-3" id="f-1330" unitRef="usd">-212120000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic contextRef="c-339" decimals="-3" id="f-1331" unitRef="usd">-212120000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted contextRef="c-340" decimals="-3" id="f-1332" unitRef="usd">-10577000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic contextRef="c-340" decimals="-3" id="f-1333" unitRef="usd">-10577000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c-335"
      decimals="-3"
      id="f-1334"
      unitRef="shares">128770000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c-335"
      decimals="-3"
      id="f-1335"
      unitRef="shares">128770000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c-336"
      decimals="-3"
      id="f-1336"
      unitRef="shares">0</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c-336"
      decimals="-3"
      id="f-1337"
      unitRef="shares">0</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c-337"
      decimals="-3"
      id="f-1338"
      unitRef="shares">121723000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c-337"
      decimals="-3"
      id="f-1339"
      unitRef="shares">121723000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c-338"
      decimals="-3"
      id="f-1340"
      unitRef="shares">0</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c-338"
      decimals="-3"
      id="f-1341"
      unitRef="shares">0</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c-339"
      decimals="-3"
      id="f-1342"
      unitRef="shares">110541000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c-339"
      decimals="-3"
      id="f-1343"
      unitRef="shares">110541000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c-340"
      decimals="-3"
      id="f-1344"
      unitRef="shares">5512000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c-340"
      decimals="-3"
      id="f-1345"
      unitRef="shares">5512000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-335"
      decimals="2"
      id="f-1346"
      unitRef="usdPerShare">-1.03</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-335"
      decimals="2"
      id="f-1347"
      unitRef="usdPerShare">-1.03</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-336"
      decimals="2"
      id="f-1348"
      unitRef="usdPerShare">0</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-336"
      decimals="2"
      id="f-1349"
      unitRef="usdPerShare">0</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-337"
      decimals="2"
      id="f-1350"
      unitRef="usdPerShare">-1.57</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-337"
      decimals="2"
      id="f-1351"
      unitRef="usdPerShare">-1.57</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-338"
      decimals="2"
      id="f-1352"
      unitRef="usdPerShare">0</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-338"
      decimals="2"
      id="f-1353"
      unitRef="usdPerShare">0</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-339"
      decimals="2"
      id="f-1354"
      unitRef="usdPerShare">-1.92</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-339"
      decimals="2"
      id="f-1355"
      unitRef="usdPerShare">-1.92</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-340"
      decimals="2"
      id="f-1356"
      unitRef="usdPerShare">-1.92</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-340"
      decimals="2"
      id="f-1357"
      unitRef="usdPerShare">-1.92</us-gaap:EarningsPerShareDiluted>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="c-341"
      decimals="-5"
      id="f-1358"
      unitRef="shares">12900000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="c-342"
      decimals="-5"
      id="f-1359"
      unitRef="shares">53600000</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock contextRef="c-1" id="f-1360">&lt;div style="margin-bottom:12pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following securities were excluded from the computation of diluted net loss per share of common stock for the periods presented as their effect would have been antidilutive:&lt;/span&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:47.021%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.522%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:15.518%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.378%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:15.518%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.522%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:15.521%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number of Shares&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,710&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,443&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,369&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;RSUs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,244&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,990&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,285&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revest shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;PSUs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;732&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;267&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;MPSUs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,471&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,174&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Bonus PSUs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,572&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,777&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Shares issuable pursuant to the ESPP&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;410&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;186&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;51&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Convertible senior notes (if-converted)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,370&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,338&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,229&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,509&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,175&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,341&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-343"
      decimals="-3"
      id="f-1361"
      unitRef="shares">2710000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-344"
      decimals="-3"
      id="f-1362"
      unitRef="shares">2443000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-345"
      decimals="-3"
      id="f-1363"
      unitRef="shares">4369000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-346"
      decimals="-3"
      id="f-1364"
      unitRef="shares">11244000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-347"
      decimals="-3"
      id="f-1365"
      unitRef="shares">11990000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-348"
      decimals="-3"
      id="f-1366"
      unitRef="shares">5285000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-349"
      decimals="-3"
      id="f-1367"
      unitRef="shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-350"
      decimals="-3"
      id="f-1368"
      unitRef="shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-351"
      decimals="-3"
      id="f-1369"
      unitRef="shares">336000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-352"
      decimals="-3"
      id="f-1370"
      unitRef="shares">732000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-353"
      decimals="-3"
      id="f-1371"
      unitRef="shares">267000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-354"
      decimals="-3"
      id="f-1372"
      unitRef="shares">71000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-355"
      decimals="-3"
      id="f-1373"
      unitRef="shares">1471000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-356"
      decimals="-3"
      id="f-1374"
      unitRef="shares">2174000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-357"
      decimals="-3"
      id="f-1375"
      unitRef="shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-358"
      decimals="-3"
      id="f-1376"
      unitRef="shares">1572000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-359"
      decimals="-3"
      id="f-1377"
      unitRef="shares">1777000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-360"
      decimals="-3"
      id="f-1378"
      unitRef="shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-361"
      decimals="-3"
      id="f-1379"
      unitRef="shares">410000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-362"
      decimals="-3"
      id="f-1380"
      unitRef="shares">186000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-363"
      decimals="-3"
      id="f-1381"
      unitRef="shares">51000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-364"
      decimals="-3"
      id="f-1382"
      unitRef="shares">3370000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-365"
      decimals="-3"
      id="f-1383"
      unitRef="shares">7338000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-366"
      decimals="-3"
      id="f-1384"
      unitRef="shares">9229000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="c-1" decimals="-3" id="f-1385" unitRef="shares">21509000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="c-6" decimals="-3" id="f-1386" unitRef="shares">26175000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="c-7" decimals="-3" id="f-1387" unitRef="shares">19341000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="c-1" id="f-1388">Income Taxes&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Loss before income ta&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;xes includes the following components:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:58.399%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.536%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.712%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.536%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.712%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.536%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.569%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(137,240)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(196,469)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(224,159)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,931&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,789&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,531&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Loss before income taxes&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(133,309)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(190,680)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(222,628)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The income tax expense (benefit) consists of the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:58.311%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.535%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.694%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.535%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.694%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.535%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.696%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current tax provision (benefit):&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(79)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;622&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;173&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;322&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax benefit:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(253)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(900)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total tax expense (benefit)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(221)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;94&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;69&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Reconciliation between &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;the Company&#x2019;s&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; effective tax rate on income from continuing operations and the U.S. federal statutory rate is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:58.490%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.640%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Provision at federal statutory tax rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Change in valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(25)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(14)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(30)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign tax rate differential&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock-based compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Research and development credits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Disallowed executive compensation&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restructuring&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Effective tax rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company recorded tax benefit of $0.2&#160;million for the year ended December&#160;31, 2023 and recorded tax expense of $0.1&#160;million for both the years ended December&#160;31, 2022 and 2021. The Company&#x2019;s income tax expense (benefit) is primarily due to income taxes from certain foreign jurisdictions where the Company conducts business and state minimum income taxes in the United States. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; deferred tax assets and liabilities were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.099%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:58.661%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.545%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:18.125%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.843%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:18.126%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax assets:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net operating losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;178,149&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;183,306&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lease liability&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,137&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,245&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Research and development credits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,280&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,383&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Capitalized research and development &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;45,418&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,032&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock-based compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,765&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,429&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,934&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,811&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Reserves and accruals&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,648&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,889&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,179&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;304,908&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;271,033&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible asset amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(16,310)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(21,713)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Right-of-use asset&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(15,322)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(18,847)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State taxes&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13,032)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,732)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Prepaid commissions&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13,868)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11,526)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(58,532)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(62,818)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Valuation allowance&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(245,476)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(208,215)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net deferred tax (liabilities) assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;900&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;As of December&#160;31, 2023 and &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;2022&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;, t&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;he Company&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt; had NOL carryforwards for U.S. federal income tax purposes of approximately &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;$626.4 million&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt; and $658.8 million, respectively; and for state income tax purposes of approximately&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt; $568.3 million&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt; and $528.9 million, respectively. The federal NOL carryforwards, if not utilized, will begin to expire in 2035. The state NOL carryforward, if not utilized, will begin to expire on various dates starting in 2024.&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:115%"&gt; &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;The Company also has federal and California research and development credit carryforwards totaling $42.1&#160;million and $12.2&#160;million &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;as of &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;December&#160;31, 2023,&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt; respectively. The federal research and development credit carryforwards will begin to expire in 2033, unless previously utilized. The California research credits do not expire.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;As of December&#160;31, 2023, the Company has NOL carryforwards for United Kingdom purposes of approximately &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;$27.9 million. The UK &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;NOL carryforwards &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;do not expire.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Based on all available evidence on a jurisdictional basis &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;t&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;he Company believes that it is more likely than not that the Company&#x2019;s U.S. deferred tax assets will not be utilized and have recorded a full valuation allowance against its U.S. net deferred tax assets. The Company assesses on a periodic basis the likelihood that it will be able to recover its deferred tax assets. The Company considers all available evidence, both positive and negative, including historical losses. The Company determined that it is more likely than not that the U.S. net deferred tax assets will not be fully realizable for the years ended December&#160;31, 2023 and 2022.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;T&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;he Company has a valuation allowance for U.S. deferred tax assets, including NOL carryforwards. The Company expects to maintain this valuation allowance for the foreseeable future. During the year ended December&#160;31, 2023, the valuation allowance related to the Company&#x2019;s U.S. deferred tax assets increased by $37.3&#160;million. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Utilization of the net operating loss carryforwards may be subject to a substantial annual limitation due to the ownership change limitations under the Code and similar state provisions. Under Section 382 of the Code, a corporation that undergoes an &#x201c;ownership change&#x201d; may be subject to limitations on its ability to utilize its pre-change NOLs to offset future taxable income. A detailed analysis was performed through December 31, 2021 for the Company to determine whether an ownership change under Section 382 of the Code has occurred, and ownership changes were identified in 2013 and 2020. As a result of this analysis, the Company concluded that there is no longer any limitation on the utilization of such NOLs. A detailed analysis was performed for the period March 1, 2014 to October 1, 2020 for Signal Sciences to determine whether an ownership change under Section 382 of the Code has occurred and an ownership change was identified in 2020. As a result of this analysis, the Company concluded that there is no longer any limitation on its utilization of the NOLs of Signal Sciences.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;No provision for U.S. income and foreign withholding taxes has been made for these permanently reinvested foreign earnings because it is management&#x2019;s intention to permanently reinvest such undistributed earnings outside the United States.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;A reconciliation of the Company&#x2019;s unrecognized tax benefits is as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:65.712%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.005%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.253%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Balance at beginning of year&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;17,337&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;7,808&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:6.85pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Increases related to prior year tax positions&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;2,674&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;8,697&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:6.85pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Decreases related to prior year tax positions&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;(751)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:6.85pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Increases related to current year tax positions&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,234&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,583&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Balance at end of year&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,245&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,337&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;The Company has considered the amounts and probabilities of the outcomes that can be realized upon ultimate settlement with the tax authorities and determined unrecognized tax benefits primarily related to credits should be established as noted in the summary rollforward above. The unrecognized tax benefits, if recognized and in absence of full valuation allowance, would impact the income tax provision by $23.2&#160;million and $17.3&#160;million at December&#160;31, 2023 and 2022, respectively. As of December&#160;31, 2023, the Company does not believe that it is reasonably possible that its unrecognized tax benefits would significantly change in the following 12 months.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:112%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;The Company&#x2019;s policy is to recognize interest and penalties associated with uncertain tax benefits as part of the income tax provision and include accrued interest and penalties with the related income tax liability on its consolidated balance sheet. To date, &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;t&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;he Company has not recognized any interest and penalties in its consolidated statements of operations, nor has it accrued for or made payments for interest and penalties. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Generally, in the U.S. federal and state taxing jurisdictions, tax periods in which certain loss and credit carryovers are generated remain open for audit until such time as the limitation period ends for the year in which such losses or credits are utilized.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock contextRef="c-1" id="f-1389">&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Loss before income ta&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;xes includes the following components:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:58.399%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.536%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.712%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.536%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.712%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.536%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.569%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(137,240)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(196,469)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(224,159)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,931&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,789&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,531&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Loss before income taxes&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(133,309)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(190,680)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(222,628)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic contextRef="c-1" decimals="-3" id="f-1390" unitRef="usd">-137240000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic contextRef="c-6" decimals="-3" id="f-1391" unitRef="usd">-196469000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic contextRef="c-7" decimals="-3" id="f-1392" unitRef="usd">-224159000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign contextRef="c-1" decimals="-3" id="f-1393" unitRef="usd">3931000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign contextRef="c-6" decimals="-3" id="f-1394" unitRef="usd">5789000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign contextRef="c-7" decimals="-3" id="f-1395" unitRef="usd">1531000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-1" decimals="-3" id="f-1396" unitRef="usd">-133309000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-6" decimals="-3" id="f-1397" unitRef="usd">-190680000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-7" decimals="-3" id="f-1398" unitRef="usd">-222628000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock contextRef="c-1" id="f-1399">&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The income tax expense (benefit) consists of the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:58.311%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.535%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.694%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.535%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.694%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.535%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.696%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current tax provision (benefit):&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(79)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;622&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;173&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;322&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax benefit:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(253)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(900)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total tax expense (benefit)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(221)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;94&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;69&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentFederalTaxExpenseBenefit contextRef="c-1" decimals="-3" id="f-1400" unitRef="usd">0</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit contextRef="c-6" decimals="-3" id="f-1401" unitRef="usd">0</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit contextRef="c-7" decimals="-3" id="f-1402" unitRef="usd">0</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit contextRef="c-1" decimals="-3" id="f-1403" unitRef="usd">57000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit contextRef="c-6" decimals="-3" id="f-1404" unitRef="usd">-79000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit contextRef="c-7" decimals="-3" id="f-1405" unitRef="usd">0</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit contextRef="c-1" decimals="-3" id="f-1406" unitRef="usd">622000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit contextRef="c-6" decimals="-3" id="f-1407" unitRef="usd">173000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit contextRef="c-7" decimals="-3" id="f-1408" unitRef="usd">322000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit contextRef="c-1" decimals="-3" id="f-1409" unitRef="usd">0</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit contextRef="c-6" decimals="-3" id="f-1410" unitRef="usd">0</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit contextRef="c-7" decimals="-3" id="f-1411" unitRef="usd">-253000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit contextRef="c-1" decimals="-3" id="f-1412" unitRef="usd">0</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit contextRef="c-6" decimals="-3" id="f-1413" unitRef="usd">0</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit contextRef="c-7" decimals="-3" id="f-1414" unitRef="usd">0</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit contextRef="c-1" decimals="-3" id="f-1415" unitRef="usd">-900000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit contextRef="c-6" decimals="-3" id="f-1416" unitRef="usd">0</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit contextRef="c-7" decimals="-3" id="f-1417" unitRef="usd">0</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-1" decimals="-3" id="f-1418" unitRef="usd">-221000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-6" decimals="-3" id="f-1419" unitRef="usd">94000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-7" decimals="-3" id="f-1420" unitRef="usd">69000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock contextRef="c-1" id="f-1421">&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Reconciliation between &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;the Company&#x2019;s&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; effective tax rate on income from continuing operations and the U.S. federal statutory rate is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:58.490%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.640%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Provision at federal statutory tax rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Change in valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(25)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(14)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(30)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign tax rate differential&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock-based compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Research and development credits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Disallowed executive compensation&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restructuring&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Effective tax rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="c-1"
      decimals="INF"
      id="f-1422"
      unitRef="number">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="c-6"
      decimals="INF"
      id="f-1423"
      unitRef="number">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="c-7"
      decimals="INF"
      id="f-1424"
      unitRef="number">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance contextRef="c-1" decimals="2" id="f-1425" unitRef="number">-0.25</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance contextRef="c-6" decimals="2" id="f-1426" unitRef="number">-0.14</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance contextRef="c-7" decimals="2" id="f-1427" unitRef="number">-0.30</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential contextRef="c-1" decimals="2" id="f-1428" unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential contextRef="c-6" decimals="2" id="f-1429" unitRef="number">0</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential contextRef="c-7" decimals="2" id="f-1430" unitRef="number">0</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost contextRef="c-1" decimals="2" id="f-1431" unitRef="number">-0.04</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost contextRef="c-6" decimals="2" id="f-1432" unitRef="number">-0.09</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost contextRef="c-7" decimals="2" id="f-1433" unitRef="number">0.02</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment contextRef="c-1" decimals="2" id="f-1434" unitRef="number">0.10</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment contextRef="c-6" decimals="2" id="f-1435" unitRef="number">0.02</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment contextRef="c-7" decimals="2" id="f-1436" unitRef="number">0.05</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment>
    <fsly:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDisallowedExecutiveCompensationPercent contextRef="c-1" decimals="2" id="f-1437" unitRef="number">-0.03</fsly:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDisallowedExecutiveCompensationPercent>
    <fsly:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDisallowedExecutiveCompensationPercent contextRef="c-6" decimals="2" id="f-1438" unitRef="number">0</fsly:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDisallowedExecutiveCompensationPercent>
    <fsly:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDisallowedExecutiveCompensationPercent contextRef="c-7" decimals="2" id="f-1439" unitRef="number">0</fsly:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseDisallowedExecutiveCompensationPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseRestructuringCharges contextRef="c-1" decimals="2" id="f-1440" unitRef="number">0</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseRestructuringCharges>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseRestructuringCharges contextRef="c-6" decimals="2" id="f-1441" unitRef="number">0</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseRestructuringCharges>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseRestructuringCharges contextRef="c-7" decimals="2" id="f-1442" unitRef="number">0.02</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseRestructuringCharges>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c-1" decimals="2" id="f-1443" unitRef="number">0</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c-6" decimals="2" id="f-1444" unitRef="number">0</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c-7" decimals="2" id="f-1445" unitRef="number">0</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-1" decimals="-5" id="f-1446" unitRef="usd">-200000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-7" decimals="-5" id="f-1447" unitRef="usd">100000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-6" decimals="-5" id="f-1448" unitRef="usd">100000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock contextRef="c-1" id="f-1449">&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; deferred tax assets and liabilities were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.099%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:58.661%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.545%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:18.125%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.843%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:18.126%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax assets:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net operating losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;178,149&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;183,306&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lease liability&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,137&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,245&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Research and development credits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,280&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,383&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Capitalized research and development &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;45,418&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,032&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock-based compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,765&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,429&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,934&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,811&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Reserves and accruals&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,648&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,889&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,179&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;304,908&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;271,033&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible asset amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(16,310)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(21,713)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Right-of-use asset&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(15,322)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(18,847)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State taxes&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13,032)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,732)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Prepaid commissions&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13,868)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11,526)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(58,532)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(62,818)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Valuation allowance&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(245,476)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(208,215)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net deferred tax (liabilities) assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;900&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards contextRef="c-4" decimals="-3" id="f-1450" unitRef="usd">178149000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards contextRef="c-5" decimals="-3" id="f-1451" unitRef="usd">183306000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <fsly:DeferredTaxAssetLeaseLiability contextRef="c-4" decimals="-3" id="f-1452" unitRef="usd">20137000</fsly:DeferredTaxAssetLeaseLiability>
    <fsly:DeferredTaxAssetLeaseLiability contextRef="c-5" decimals="-3" id="f-1453" unitRef="usd">23245000</fsly:DeferredTaxAssetLeaseLiability>
    <us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment contextRef="c-4" decimals="-3" id="f-1454" unitRef="usd">38280000</us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment>
    <us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment contextRef="c-5" decimals="-3" id="f-1455" unitRef="usd">21383000</us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment>
    <fsly:DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts contextRef="c-4" decimals="-3" id="f-1456" unitRef="usd">45418000</fsly:DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts>
    <fsly:DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts contextRef="c-5" decimals="-3" id="f-1457" unitRef="usd">21032000</fsly:DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost contextRef="c-4" decimals="-3" id="f-1458" unitRef="usd">11765000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost contextRef="c-5" decimals="-3" id="f-1459" unitRef="usd">10429000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsDeferredIncome contextRef="c-4" decimals="-3" id="f-1460" unitRef="usd">4934000</us-gaap:DeferredTaxAssetsDeferredIncome>
    <us-gaap:DeferredTaxAssetsDeferredIncome contextRef="c-5" decimals="-3" id="f-1461" unitRef="usd">2811000</us-gaap:DeferredTaxAssetsDeferredIncome>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals contextRef="c-4" decimals="-3" id="f-1462" unitRef="usd">4336000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals contextRef="c-5" decimals="-3" id="f-1463" unitRef="usd">4648000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals>
    <us-gaap:DeferredTaxAssetsOther contextRef="c-4" decimals="-3" id="f-1464" unitRef="usd">1889000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsOther contextRef="c-5" decimals="-3" id="f-1465" unitRef="usd">4179000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsGross contextRef="c-4" decimals="-3" id="f-1466" unitRef="usd">304908000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross contextRef="c-5" decimals="-3" id="f-1467" unitRef="usd">271033000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssets contextRef="c-4" decimals="-3" id="f-1468" unitRef="usd">16310000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssets>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssets contextRef="c-5" decimals="-3" id="f-1469" unitRef="usd">21713000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssets>
    <us-gaap:DeferredTaxLiabilitiesLeasingArrangements contextRef="c-4" decimals="-3" id="f-1470" unitRef="usd">15322000</us-gaap:DeferredTaxLiabilitiesLeasingArrangements>
    <us-gaap:DeferredTaxLiabilitiesLeasingArrangements contextRef="c-5" decimals="-3" id="f-1471" unitRef="usd">18847000</us-gaap:DeferredTaxLiabilitiesLeasingArrangements>
    <fsly:DeferredTaxLiabilitiesStateTaxes contextRef="c-4" decimals="-3" id="f-1472" unitRef="usd">13032000</fsly:DeferredTaxLiabilitiesStateTaxes>
    <fsly:DeferredTaxLiabilitiesStateTaxes contextRef="c-5" decimals="-3" id="f-1473" unitRef="usd">10732000</fsly:DeferredTaxLiabilitiesStateTaxes>
    <us-gaap:DeferredTaxLiabilitiesPrepaidExpenses contextRef="c-4" decimals="-3" id="f-1474" unitRef="usd">13868000</us-gaap:DeferredTaxLiabilitiesPrepaidExpenses>
    <us-gaap:DeferredTaxLiabilitiesPrepaidExpenses contextRef="c-5" decimals="-3" id="f-1475" unitRef="usd">11526000</us-gaap:DeferredTaxLiabilitiesPrepaidExpenses>
    <us-gaap:DeferredIncomeTaxLiabilities contextRef="c-4" decimals="-3" id="f-1476" unitRef="usd">58532000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities contextRef="c-5" decimals="-3" id="f-1477" unitRef="usd">62818000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredTaxAssetsValuationAllowance contextRef="c-4" decimals="-3" id="f-1478" unitRef="usd">245476000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance contextRef="c-5" decimals="-3" id="f-1479" unitRef="usd">208215000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet contextRef="c-4" decimals="-3" id="f-1480" unitRef="usd">900000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxLiabilities contextRef="c-5" decimals="-3" id="f-1481" unitRef="usd">0</us-gaap:DeferredTaxLiabilities>
    <us-gaap:OperatingLossCarryforwards contextRef="c-367" decimals="-5" id="f-1482" unitRef="usd">626400000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards contextRef="c-368" decimals="-5" id="f-1483" unitRef="usd">658800000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards contextRef="c-369" decimals="-5" id="f-1484" unitRef="usd">568300000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards contextRef="c-370" decimals="-5" id="f-1485" unitRef="usd">528900000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:TaxCreditCarryforwardAmount contextRef="c-371" decimals="-5" id="f-1486" unitRef="usd">42100000</us-gaap:TaxCreditCarryforwardAmount>
    <us-gaap:TaxCreditCarryforwardAmount contextRef="c-372" decimals="-5" id="f-1487" unitRef="usd">12200000</us-gaap:TaxCreditCarryforwardAmount>
    <us-gaap:OperatingLossCarryforwards contextRef="c-373" decimals="-5" id="f-1488" unitRef="usd">27900000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount contextRef="c-1" decimals="-5" id="f-1489" unitRef="usd">37300000</us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount>
    <us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock contextRef="c-1" id="f-1490">&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;A reconciliation of the Company&#x2019;s unrecognized tax benefits is as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:65.712%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.005%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.253%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Balance at beginning of year&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;17,337&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;7,808&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:6.85pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Increases related to prior year tax positions&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;2,674&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;8,697&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:6.85pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Decreases related to prior year tax positions&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;(751)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:6.85pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Increases related to current year tax positions&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,234&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,583&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Balance at end of year&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,245&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,337&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock>
    <us-gaap:UnrecognizedTaxBenefits contextRef="c-5" decimals="-3" id="f-1491" unitRef="usd">17337000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits contextRef="c-26" decimals="-3" id="f-1492" unitRef="usd">7808000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions contextRef="c-1" decimals="-3" id="f-1493" unitRef="usd">2674000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions contextRef="c-6" decimals="-3" id="f-1494" unitRef="usd">8697000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions contextRef="c-1" decimals="-3" id="f-1495" unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions contextRef="c-6" decimals="-3" id="f-1496" unitRef="usd">751000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions contextRef="c-1" decimals="-3" id="f-1497" unitRef="usd">3234000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions contextRef="c-6" decimals="-3" id="f-1498" unitRef="usd">1583000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefits contextRef="c-4" decimals="-3" id="f-1499" unitRef="usd">23245000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits contextRef="c-5" decimals="-3" id="f-1500" unitRef="usd">17337000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate contextRef="c-4" decimals="-5" id="f-1501" unitRef="usd">23200000</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
    <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate contextRef="c-5" decimals="-5" id="f-1502" unitRef="usd">17300000</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
    <us-gaap:SegmentReportingDisclosureTextBlock contextRef="c-1" id="f-1503">Information About Revenue and Geographic Areas&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Revenue&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue by geography is based on the billing address of the customer. Refer to Note 3&#x2014;Revenue for more information on net revenue by geographic area.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Long-Lived Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s property and equipment and operating lease right-of-use assets, each net, by geographic area were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.099%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:64.920%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.545%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:15.144%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.545%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:15.146%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;166,413&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;175,794&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;All other countries&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65,407&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,024&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total long-lived assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;231,820&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;248,818&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock contextRef="c-1" id="f-1504">&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s property and equipment and operating lease right-of-use assets, each net, by geographic area were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.099%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:64.920%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.545%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:15.144%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.545%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:15.146%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;166,413&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;175,794&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;All other countries&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65,407&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,024&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total long-lived assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;231,820&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;248,818&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock>
    <fsly:PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet contextRef="c-374" decimals="-3" id="f-1505" unitRef="usd">166413000</fsly:PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet>
    <fsly:PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet contextRef="c-375" decimals="-3" id="f-1506" unitRef="usd">175794000</fsly:PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet>
    <fsly:PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet contextRef="c-376" decimals="-3" id="f-1507" unitRef="usd">65407000</fsly:PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet>
    <fsly:PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet contextRef="c-377" decimals="-3" id="f-1508" unitRef="usd">73024000</fsly:PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet>
    <fsly:PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet contextRef="c-4" decimals="-3" id="f-1509" unitRef="usd">231820000</fsly:PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet>
    <fsly:PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet contextRef="c-5" decimals="-3" id="f-1510" unitRef="usd">248818000</fsly:PropertyPlantAndEquipmentNetAndOperatingLeaseRightOfUseAssetsNet>
    <us-gaap:SubsequentEventsTextBlock contextRef="c-1" id="f-1511">Subsequent Event&lt;div style="margin-bottom:12pt;text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On February 16, 2024, the Company entered into the Second Amendment to Credit Agreement with the Lenders and Silicon Valley Bank, a division of First-Citizens Bank &amp;amp; Trust Company, as a lender and as administrative agent and collateral agent for the Lenders, which, among other things, extended the maturity date of the loans under the Credit Agreement to June 14, 2024.&lt;/span&gt;&lt;/div&gt;</us-gaap:SubsequentEventsTextBlock>
    <ecd:MtrlTermsOfTrdArrTextBlock contextRef="c-1" id="f-1512">&lt;div style="text-indent:27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;During the Company&#x2019;s last fiscal quarter, the Company&#x2019;s directors and officers (as defined in Rule 16a-1(f) under the Exchange Act) adopted or terminated the contracts, instructions or written plans for the purchase or sale of the Company&#x2019;s securities set forth in the table below.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:20.683%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.595%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.888%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:6.794%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:6.794%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.888%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.473%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.085%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="6" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%"&gt;Type of Trading Arrangement&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:20.683%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.595%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.888%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:6.794%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:6.794%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.888%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.473%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.085%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%"&gt;Name and Position&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%"&gt;Action&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%"&gt;Adoption/ Termination&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%"&gt;Date&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%"&gt;Rule 10b5-1*&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%"&gt;Non-&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%"&gt;Rule 10b5-1**&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%"&gt;Total Shares of Class A Common Stock to be Sold&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%"&gt;Total Shares of Class A Common Stock to be Purchased&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000000;border-right:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%"&gt;Expiration Date&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;Ronald Kisling, Chief Financial Officer (1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;Adoption&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;11/20/2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;X&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;163,938&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;12/31/2024&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;Richard Daniels, Director (2)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;Adoption&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;11/17/2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;X&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;7,766&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-left:1pt solid #000000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;03/29/2024&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;Brett Shirk, former Chief Revenue Officer (3)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;Termination&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;12/20/2023&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;X&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;12/31/2024&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="24" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;* Contract, instruction or written plan intended to satisfy the affirmative defense conditions of Rule 10b5-1(c) under the Exchange Act.&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="24" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;** &#x201c;Non-Rule 10b5-1 trading arrangement&#x201d; as defined in Item 408(c) of Regulation S-K under the Exchange Act.&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;(1) Ronald Kisling, our Chief Financial Officer, adopted a Rule 10b5-1 Plan on November 20, 2023. Mr. Kisling's plan provides for the potential sale of up to 163,938 shares of the Company&#x2019;s Class A Common Stock, plus any shares that are granted to him in 2024 relating to the 2023 company-wide Bonus Program; provided, however, because certain of Mr. Kisling&#x2019;s planned sale amounts are equal to a designated percentage of the net number of shares resulting from RSUs vesting, of which a portion will be surrendered to the Company or sold to cover withholding taxes, depending on how many shares are withheld in these instances, the maximum number of shares to be sold may be less. The plan expires on December 31, 2024, or upon the earlier completion of all authorized transactions under the plan.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;(2) Richard Daniels, a member of our board of directors, adopted a Rule 10b5-1 Plan on November 17, 2023. Mr. Daniels' plan provides for the potential sale of up to 7,766 shares of the Company&#x2019;s Class A Common Stock; provided, however, because certain of Mr. Daniels' planned sale amounts are equal to a designated percentage of the net number of shares resulting from RSUs vesting, of which a portion will be surrendered to the Company or sold to cover withholding taxes, depending on how many shares are withheld in these instances, the maximum number of shares to be sold may be less. The plan expires on March 29, 2024, or upon the earlier completion of all authorized transactions under the plan.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;(3) Brett Shirk, our former Chief Revenue Officer, on December 20th, 2023, terminated a Rule 10b5-1 Plan entered into on August 21, 2023 in connection with his departure.&lt;/span&gt;&lt;/div&gt;</ecd:MtrlTermsOfTrdArrTextBlock>
    <ecd:NonRule10b51ArrAdoptedFlag contextRef="c-378" id="f-1513">false</ecd:NonRule10b51ArrAdoptedFlag>
    <ecd:NonRule10b51ArrTrmntdFlag contextRef="c-378" id="f-1514">false</ecd:NonRule10b51ArrTrmntdFlag>
    <ecd:TrdArrIndName contextRef="c-379" id="f-1515">Ronald Kisling</ecd:TrdArrIndName>
    <ecd:TrdArrIndTitle contextRef="c-379" id="f-1516">Chief Financial Officer</ecd:TrdArrIndTitle>
    <ecd:Rule10b51ArrAdoptedFlag contextRef="c-379" id="f-1517">true</ecd:Rule10b51ArrAdoptedFlag>
    <ecd:TrdArrAdoptionDate contextRef="c-379" id="f-1518">11/20/2023</ecd:TrdArrAdoptionDate>
    <ecd:TrdArrSecuritiesAggAvailAmt
      contextRef="c-380"
      decimals="INF"
      id="f-1519"
      unitRef="shares">163938</ecd:TrdArrSecuritiesAggAvailAmt>
    <ecd:TrdArrIndName contextRef="c-381" id="f-1520">Richard Daniels</ecd:TrdArrIndName>
    <ecd:TrdArrIndTitle contextRef="c-381" id="f-1521">Director</ecd:TrdArrIndTitle>
    <ecd:Rule10b51ArrAdoptedFlag contextRef="c-381" id="f-1522">true</ecd:Rule10b51ArrAdoptedFlag>
    <ecd:TrdArrAdoptionDate contextRef="c-381" id="f-1523">11/17/2023</ecd:TrdArrAdoptionDate>
    <ecd:TrdArrSecuritiesAggAvailAmt
      contextRef="c-382"
      decimals="INF"
      id="f-1524"
      unitRef="shares">7766</ecd:TrdArrSecuritiesAggAvailAmt>
    <ecd:TrdArrIndName contextRef="c-383" id="f-1525">Brett Shirk</ecd:TrdArrIndName>
    <ecd:TrdArrIndTitle contextRef="c-383" id="f-1526">former Chief Revenue Officer</ecd:TrdArrIndTitle>
    <ecd:Rule10b51ArrTrmntdFlag contextRef="c-383" id="f-1527">true</ecd:Rule10b51ArrTrmntdFlag>
    <ecd:TrdArrTerminationDate contextRef="c-383" id="f-1528">12/20/2023</ecd:TrdArrTerminationDate>
    <ecd:TrdArrSecuritiesAggAvailAmt
      contextRef="c-384"
      decimals="INF"
      id="f-1529"
      unitRef="shares">0</ecd:TrdArrSecuritiesAggAvailAmt>
    <ecd:TrdArrIndName contextRef="c-379" id="f-1530">Ronald Kisling</ecd:TrdArrIndName>
    <ecd:TrdArrIndTitle contextRef="c-379" id="f-1531">Chief Financial Officer</ecd:TrdArrIndTitle>
    <ecd:Rule10b51ArrAdoptedFlag contextRef="c-379" id="f-1532">true</ecd:Rule10b51ArrAdoptedFlag>
    <ecd:TrdArrSecuritiesAggAvailAmt
      contextRef="c-380"
      decimals="0"
      id="f-1533"
      unitRef="shares">163938</ecd:TrdArrSecuritiesAggAvailAmt>
    <ecd:TrdArrIndName contextRef="c-381" id="f-1534">Richard Daniels</ecd:TrdArrIndName>
    <ecd:Rule10b51ArrAdoptedFlag contextRef="c-381" id="f-1535">true</ecd:Rule10b51ArrAdoptedFlag>
    <ecd:TrdArrSecuritiesAggAvailAmt
      contextRef="c-382"
      decimals="0"
      id="f-1536"
      unitRef="shares">7766</ecd:TrdArrSecuritiesAggAvailAmt>
    <ecd:TrdArrIndName contextRef="c-383" id="f-1537">Brett Shirk</ecd:TrdArrIndName>
    <ecd:TrdArrIndTitle contextRef="c-383" id="f-1538">former Chief Revenue Officer</ecd:TrdArrIndTitle>
    <ecd:Rule10b51ArrTrmntdFlag contextRef="c-383" id="f-1539">true</ecd:Rule10b51ArrTrmntdFlag>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
